Skip to content

Instantly share code, notes, and snippets.

@nihilistzsche
Created November 14, 2014 07:35
Show Gist options
  • Save nihilistzsche/78556a599b52264cc775 to your computer and use it in GitHub Desktop.
Save nihilistzsche/78556a599b52264cc775 to your computer and use it in GitHub Desktop.
function LevelUpDraenorTalent_SpinnerUpdate(self, elapsed)
self = self:GetParent():GetParent();
-- Shifts 512 pixels every .57 seconds, 898.246 pixels every second
self.shift = 898.246 * elapsed;
self.move = self.shift / 512;
if (not self.reset) then
self.left = self.left + self.move;
self.right = self.right + self.move;
if (self.right > 1) then
local diff = self.right - 1;
self.right = 1;
self.left = self.left + diff;
self.reset = true;
end
self.SpinningPlateLeft:SetTexCoord(self.left, self.right, 0, 1);
else
self.rightWidth = self.rightWidth + self.shift;
self.leftWidth = self.leftWidth - self.shift;
self.SpinningPlateLeft:SetWidth(self.leftWidth);
self.SpinningPlateRight:SetWidth(self.rightWidth);
if (self.leftWidth <= 0) then
self.SpinningPlateRight:Hide();
self.SpinningPlateLeft:SetWidth(self.beginWidth);
self.SpinningPlateLeft:SetTexCoord(self.beginLeft, self.beginRight, 0, 1);
self.leftWidth = self.beginWidth;
self.rightWidth = 0;
self.left = self.beginLeft;
self.right = self.beginRight;
self.reset = false;
else
self.SpinningPlateRight:Show();
self.left = self.left + self.move;
self.SpinningPlateLeft:SetTexCoord(self.left, self.right, 0, 1);
local tLeft = 0; -- always 0, this is the reset one
local tRight = self.rightWidth / 512;
self.SpinningPlateRight:SetTexCoord(tLeft, tRight, 0, 1);
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment