view Turok/Modules/Timer/Timer.xml @ 9:9400a0ff8540

Ugh Timer: - container update directionality - talent update iterates over a non-volatile table to carry out updates - index management steps organized - talentRow status implemented, returns the spell associated with the talent chosen from that row CombatLog: - sort out font controls and unbork arguments
author Nenue
date Sun, 21 Feb 2016 13:08:30 -0500
parents a9b8b0866ece
children
line wrap: on
line source
<!--
  Timer-specific XML defs
-->
<Ui>
  <Script file="Timer.Init.lua" />
  <Script file="Presets.lua" />
  <Script file="Timer.lua" />
  <Script file="Container.lua" />
  <Script file="Status.lua" />
  <Script file="Aura.lua" />
  <Script file="Cooldown.lua" />
  <Script file="Icon.lua" />
  <Script file="Progressbar.lua" />
  <Script file="Import.lua" />
  <Script file="Editor.lua" />


  <!-- EASY TIMER FRAME -->

  <Frame name="TurokTimerScripts"  parent="UIParent" virtual="true" hidden="true">
    <Scripts>
      <OnLoad>
        self.textRegions = {}
      </OnLoad>
      <OnShow>
        self:Report()
      </OnShow>
      <OnHide>
        self:Report()
      </OnHide>
      <OnUpdate>
        self:Update()
      </OnUpdate>
    </Scripts>
    <Size x="64" y="64" />
    <Anchors>
      <Anchor point="CENTER" />
    </Anchors>
    <Animations>
      <AnimationGroup parentKey="iconIntro" looping="NONE" ignoreFramerateThrottle="true">
        <Scale childKey="icon" order="1" duration=".10" fromScaleX="0.1" toScaleX="1.0" fromScaleY=".1" toScaleY="1" />
      </AnimationGroup>
      <AnimationGroup parentKey="Intro" looping="NONE" ignoreFramerateThrottle="true">
        <Alpha childKey="foreground" order="1" duration=".5" fromAlpha="0" toAlpha="1" />
        <Alpha childKey="background" order="1" duration=".5" fromAlpha="0" toAlpha="1" />
        <Scripts>
          <OnPlay>
            local g = self:GetParent()
            g.collected = nil
            g.add = true
            g:Report()
            --@debug@
            --print('Layout', g.cvars.type, 'Intro |cFFFFFF00START', g:GetName())--@end-debug@
            g:Show()
            if g.cvars.sound_active then
              PlaySoundFile(g.cvars.sound_active)
            end
            if g.icon then
              g.iconIntro:Play()
            end
          </OnPlay>
          <OnStop>
            local g = self:GetParent()
            --@debug@
            --print('Layout', g.cvars.type, 'Intro |cFFFF4400STOP', g:GetName())--@end-debug@
            if g.enableIcon then
              g.iconIntro:Stop()
            end
          </OnStop>
          <OnFinished>
            local g = self:GetParent()
            --@debug@
            --print('Layout', g.cvars.type, 'Intro |cFF00FF00FINISH', g:GetName())--@end-debug@
            if g.enableIcon then
              g.iconIntro:Stop()
            end
            g:UpdateAlpha(Turok.inCombat, g.displayState, g.fillState)
          </OnFinished>
        </Scripts>
      </AnimationGroup>
      <AnimationGroup parentKey="iconOutro" looping="NONE" ignoreFramerateThrottle="true">
        <Scale childKey="icon" order="1" duration=".10" fromScaleX="1" toScaleX="0.1" fromScaleY="1" toScaleY="0.1"/>
      </AnimationGroup>
      <AnimationGroup parentKey="Outro" looping="NONE" ignoreFramerateThrottle="true">
        <Alpha childKey="foreground" order="1" duration=".5" change="-1" />
        <Alpha childKey="background" order="1" duration=".5" change="-1" />
        <Scripts>
          <OnPlay>
            local g = self:GetParent()
            g.collected = nil
            g.trash = true
            g:Report()
            --@debug@
            --print('Layout', g.cvars.type, '|cFF0088FFOutro |cFFFFFF00START', g:GetName())--@end-debug@
            if g.spiral then
              g.spiral:StopAnimating()
              g.spiral:Hide()
            end
            if g.cvars.sound_hidden then
              PlaySoundFile(g.cvars.sound_hidden)
            end
            if g.enableIcon then
              g.iconOutro:Play()
            end
          </OnPlay>
          <OnStop>
            local g = self:GetParent()
            --@debug@
            --print('Layout', g.cvars.type, '|cFF0088FFOutro |cFFFF4400STOP', g:GetName())--@end-debug@
            if g.enableIcon then
              g.iconOutro:Stop()
            end
          </OnStop>
          <OnFinished>
            local g = self:GetParent()
            g.trash = false
            --@debug@
            --print('Layout', g.cvars.type, '|cFF0088FFOutro |cFF00FF00Finish', g:GetName())--@end-debug@
            if g.enableIcon then
              g.iconOutro:Stop()
            end
            g:Hide()
          </OnFinished>
        </Scripts>
      </AnimationGroup>
      <AnimationGroup parentKey="Retro" looping="NONE" ignoreFramerateThrottle="true">
        <Alpha childKey="iconFlash" fromAlpha="0" toAlpha=".7" duration="0.05" order="1" />
        <Alpha childKey="iconFlash" fromAlpha=".7" toAlpha="0" duration="0.15" order="2" />
        <Scripts>
          <OnPlay>
            local g = self:GetParent()
            --@debug@
            --print('Layout', g.cvars.type, '|cFFFFFF00Retro |cFFFFFF00START', g:GetName())--@end-debug@
            if g.iconFlash then
              g.iconFlash:Show()
            end
          </OnPlay>
          <OnStop>
            local g = self:GetParent()
            --@debug@
            --print('Layout',g.cvars.type, '|cFFFFFF00Retro |cFFFF4400STOP', self:GetParent():GetName())--@end-debug@
          </OnStop>
          <OnFinished>
            local g = self:GetParent()
            --@debug@
            --print('Layout',g.cvars.type, '|cFFFFFF00Retro |cFF00FF00FINISH', g:GetName())--@end-debug@
            if g.iconFlash then
              g.iconFlash:Hide()
            end
            g:UpdateAlpha(Turok.inCombat, g.displayState, g.fillState)
          </OnFinished>
        </Scripts>
      </AnimationGroup>
      <AnimationGroup name="Slider" parentKey="slide" ignoreFramerateThrottle="true" looping="NONE">
        <Translation parentKey="t1" duration="0.11" order="1" />
      </AnimationGroup>
    </Animations>
    <Layers>
      <Layer level="BACKGROUND">
        <Texture file="Interface\ICONS\INV_Misc_QuestionMark" name="$parentSpellIcon" parentKey="icon" textureSubLevel="-7" hidden="true">
          <TexCoords top="0.1" left="0.1" bottom="0.9" right="0.9" />
        </Texture>
      </Layer>
      <Layer level="ARTWORK">
        <Texture parentKey="iconFlash" name="$parentIconFlashBox" hidden="true">
          <Anchor point="TOPLEFT" relativeKey="icon"/>
          <Anchor point="BOTTOMRIGHT" relativeKey="icon" />
          <Color r="1" g="1" b="1" a="1" />
        </Texture>
      </Layer>
      <Layer level="OVERLAY">
        <Texture parentKey="debugPanel" name="$parentDebugWindow" hidden="true">
          <Anchors>
            <Anchor point="TOPLEFT" relativePoint="BOTTOMLEFT" />
            <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" x="0" y="-40" />
          </Anchors>
        </Texture>
        <FontString inherits="TurokFontDetail" justifyH="LEFT">
          <Anchors>
            <Anchor point="TOPLEFT" />
          </Anchors>
        </FontString>
      </Layer>
    </Layers>
  </Frame>

  <Frame name="TurokIconTemplate" parent="UIParent" virtual="true" hidden="true" inherits="TurokTimerScripts">
    <Scripts>
      <OnLoad inherit="prepend">
        -- not using parentArray because we want name info
        self.textRegions = {
          counter = self.spiral.counter,
          subCounter = self.spiral.subCounter,
          charges = self.spiral.charges
        }
      </OnLoad>
    </Scripts>
    <Frames>
      <Cooldown name="$parentCooldownSpiral" parentKey="spiral" inherits="CooldownFrameTemplate">
        <EdgeTexture file="">
          <Color r="1" g="0" b="1" a="0" />
        </EdgeTexture>
        <BlingTexture file="">
          <Color r="0" g="1" b="1" a="0" />
        </BlingTexture>
        <SwipeTexture parentKey="spiralTex">
          <Color r="0" g="0" b="0" a="0.8" />
        </SwipeTexture>
        <Anchors>
          <Anchor relativeKey="$parent.icon" point="TOPLEFT" relativePoint="TOPLEFT" x="0" y="0" />
          <Anchor relativeKey="$parent.icon" point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" x="0" y="0" />
        </Anchors>
        <Layers>
          <Layer level="OVERLAY">
            <FontString inherits="TurokFontMed" name="$parentCounter" parentKey="counter" justifyH="CENTER" justifyV="MIDDLE">
              <!-- [1] below 6 seconds remaining
              <KeyValues>
                <KeyValue key="anchor1" value="TOP" />
                <KeyValue key="anchor1_rel" value="TOP" />
                <KeyValue key="anchor2" value="TOP" />
                <KeyValue key="anchor2_rel" value="TOP" />
                <KeyValue key="anchor3" value="TOPRIGHT" />
                <KeyValue key="anchor3_rel" value="TOP" />
              </KeyValues> -->
              <Anchors>
                <Anchor point="CENTER" relativePoint="CENTER" relativeKey="$parent.$parent.icon" x="0" y="0" />
              </Anchors>
            </FontString>
            <FontString inherits="TurokFontDetail" name="$parentSubCounter" parentKey="subCounter" justifyH="LEFT" text="subtext" justifyV="BOTTOM">
              <!--
              <KeyValues>
                <KeyValue key="anchor1" value="LEFT" />
                <KeyValue key="anchor1_rel" value="RIGHT" />
                <KeyValue key="anchor2" value="LEFT" />
                <KeyValue key="anchor2_rel" value="RIGHT" />
                <KeyValue key="anchor3" value="LEFT" />
                <KeyValue key="anchor3_rel" value="RIGHT" />
              </KeyValues>
              -->
              <Size x="40" y="40" />
              <Color r="1" g="1" b="0" a="1" />
              <Anchors>
                <Anchor point="LEFT" relativePoint="RIGHT" relativeKey="$parent.counter" x="0" y="0" />
              </Anchors>
            </FontString>
            <FontString inherits="TurokFontDetail" name="$parentCharges" parentKey="charges" justifyH="RIGHT" justifyV="BOTTOM" text="charges">
              <Size x="80" y="30" />
              <Color a="1" r="1" g="1" b="0" />
              <Anchors>
                <Anchor point="BOTTOMRIGHT" relativePoint="BOTTOMRIGHT" />
              </Anchors>
            </FontString>
          </Layer>
        </Layers>
      </Cooldown>
    </Frames>
  </Frame>

  <Frame name="TurokProgressbarTemplate" parent="UIParent" virtual="true" hidden="true" inherits="TurokTimerScripts">
    <Scripts>
      <OnLoad inherit="prepend">
        self.textRegions = {
          left = self.left,
          right = self.right
        }
      </OnLoad>
    </Scripts>
    <Layers>

      <Layer level="BACKGROUND">


        <Texture name="$parentProgressBackground" parentKey="background" textureSubLevel="0" />
      </Layer>
      <Layer level="ARTWORK">
        <Texture name="$parentProgressForeground" parentKey="foreground" textureSubLevel="1" />
      </Layer>

      <Layer level="OVERLAY">
        <FontString inherits="TurokFontDetail" name="$parentLeftText" parentKey="left" justifyH="LEFT">
          <Anchors>
            <Anchor point="LEFT" />
          </Anchors>
        </FontString>
        <FontString inherits="TurokFontDetail" name="$parentRightText" parentKey="right" justifyH="RIGHT">
          <Anchors>
            <Anchor point="RIGHT" />
          </Anchors>
        </FontString>
      </Layer>
    </Layers>
  </Frame>

  <!-- Collector Tray -->
  <Frame name="TkContainerTemplate" virtual="true" parent="UIParent" alpha="1" movable="true">
    <Size x="700" y="200" />
    <Scripts>
      <OnLoad>
        self:RegisterForDrag('LeftButton')
        self:EnableMouse(false) -- for now
      </OnLoad>
      <OnDragStart>
        if self:GetEnableMouse() then
          self.cx = self:GetLeft()
          self.cy = self:GetTop()
          self:StartMoving()
        end
      </OnDragStart>
      <OnDragStop>
        self:StopMovingOrSizing()
        self.x = self.x + (self:GetLeft() - self.cx)
        self.y = self.y + (self:GetTop() - self.cy)
        self:SetPoint(self.anchor, self.parent, self.anchorTo, self.x, self.y)
      </OnDragStop>
    </Scripts>
    <Layers>
      <Layer level="BACKGROUND">
        <Texture name="$parentBackdrop" parentKey="ConfigBG" setAllPoints="true" hidden="true">
          <Color r="1" g="1" b="1" a="0.25" />
        </Texture>
      </Layer>
      <Layer level="OVERLAY">
        <FontString name="$parentNameTag" parentKey="NameText" inherits="TurokFont" justifyH="LEFT" justifyV="BOTTOM" hidden="true">
          <Anchors>
            <Anchor point="BOTTOMLEFT" relativePoint="TOPLEFT" x="0" y="2" />
          </Anchors>
        </FontString>
      </Layer>
    </Layers>
  </Frame>

</Ui>