Mercurial > wow > reaction
comparison classes/ActionButton.lua @ 161:d0a41fc7b0d7
Totem bar support
| author | Flick <flickerstreak@gmail.com> |
|---|---|
| date | Fri, 21 Aug 2009 04:15:09 +0000 |
| parents | 799c6ea9da7b |
| children | 5257073138e8 |
comparison
equal
deleted
inserted
replaced
| 160:caec78119a17 | 161:d0a41fc7b0d7 |
|---|---|
| 370 end | 370 end |
| 371 end | 371 end |
| 372 end | 372 end |
| 373 | 373 |
| 374 function Action:UpdateIcon() | 374 function Action:UpdateIcon() |
| 375 local action = self.actionID | 375 local texture, tLeft, tRight, tTop, tBottom = self:GetIconTexture() |
| 376 local texture = GetActionTexture(action) | |
| 377 local icon = self.frames.icon | 376 local icon = self.frames.icon |
| 378 local hotkey = self.frames.hotkey | 377 local hotkey = self.frames.hotkey |
| 379 local f = self:GetFrame() | 378 local f = self:GetFrame() |
| 380 | 379 |
| 381 if self.vehicleExitMode then | 380 if self.vehicleExitMode then |
| 386 icon:SetTexCoord(0,1,0,1) | 385 icon:SetTexCoord(0,1,0,1) |
| 387 end | 386 end |
| 388 | 387 |
| 389 if texture then | 388 if texture then |
| 390 icon:SetTexture(texture) | 389 icon:SetTexture(texture) |
| 390 if tLeft then | |
| 391 icon:SetTexCoord(tLeft,tRight,tTop,tBottom) | |
| 392 end | |
| 391 icon:Show() | 393 icon:Show() |
| 392 self.rangeTimer = -1 | 394 self.rangeTimer = -1 |
| 393 f:SetNormalTexture("Interface\\Buttons\\UI-Quickslot2") | 395 f:SetNormalTexture("Interface\\Buttons\\UI-Quickslot2") |
| 394 else | 396 else |
| 395 icon:Hide() | 397 icon:Hide() |
| 396 self.frames.cooldown:Hide() | 398 self.frames.cooldown:Hide() |
| 397 self.rangeTimer = nil | 399 self.rangeTimer = nil |
| 398 f:SetNormalTexture("Interface\\Buttons\\UI-Quickslot") | 400 f:SetNormalTexture("Interface\\Buttons\\UI-Quickslot") |
| 399 end | 401 end |
| 402 end | |
| 403 | |
| 404 function Action:GetIconTexture() | |
| 405 return GetActionTexture(self.actionID) | |
| 400 end | 406 end |
| 401 | 407 |
| 402 function Action:UpdateBorder() | 408 function Action:UpdateBorder() |
| 403 local action = self.actionID | 409 local action = self.actionID |
| 404 if ReAction:GetKeybindMode() then | 410 if ReAction:GetKeybindMode() then |
| 454 self:GetFrame():SetChecked(0) | 460 self:GetFrame():SetChecked(0) |
| 455 end | 461 end |
| 456 end | 462 end |
| 457 | 463 |
| 458 function Action:UpdateUsable() | 464 function Action:UpdateUsable() |
| 459 local isUsable, notEnoughMana = IsUsableAction(self.actionID) | 465 local isUsable, notEnoughMana = self:GetUsable() |
| 460 local noRange = IsActionInRange(self.actionID) == 0 | 466 local noRange = self:GetInRange() |
| 461 | 467 |
| 462 isUsable = self.vehicleExitMode or (isUsable and not noRange) | 468 isUsable = self.vehicleExitMode or (isUsable and not noRange) |
| 463 | 469 |
| 464 if isUsable then | 470 if isUsable then |
| 465 if self.usableStatus ~= "usable" then | 471 if self.usableStatus ~= "usable" then |
| 486 self.usableStatus = "unusable" | 492 self.usableStatus = "unusable" |
| 487 end | 493 end |
| 488 end | 494 end |
| 489 end | 495 end |
| 490 | 496 |
| 497 function Action:GetUsable() | |
| 498 return IsUsableAction(self.actionID) | |
| 499 end | |
| 500 | |
| 501 function Action:GetInRange() | |
| 502 return IsActionInRange(self.actionID) == 0 | |
| 503 end | |
| 504 | |
| 491 function Action:UpdateCooldown() | 505 function Action:UpdateCooldown() |
| 492 CooldownFrame_SetTimer(self.frames.cooldown, GetActionCooldown(self.actionID)) | 506 CooldownFrame_SetTimer(self.frames.cooldown, self:GetCooldown()) |
| 507 end | |
| 508 | |
| 509 function Action:GetCooldown() | |
| 510 return GetActionCooldown(self.actionID) | |
| 493 end | 511 end |
| 494 | 512 |
| 495 function Action:UpdateFlash() | 513 function Action:UpdateFlash() |
| 496 local action = self.actionID | 514 local action = self.actionID |
| 497 self:SetFlash( (IsAttackAction(action) and IsCurrentAction(action)) or IsAutoRepeatAction(action) ) | 515 self:SetFlash( (IsAttackAction(action) and IsCurrentAction(action)) or IsAutoRepeatAction(action) ) |
| 655 function Action:OnLeave( ) | 673 function Action:OnLeave( ) |
| 656 GameTooltip:Hide() | 674 GameTooltip:Hide() |
| 657 end | 675 end |
| 658 | 676 |
| 659 function Action:OnAttributeChanged( attr, value ) | 677 function Action:OnAttributeChanged( attr, value ) |
| 660 self:UpdateAction() | 678 if attr ~= "statehidden" then |
| 679 self:UpdateAction() | |
| 680 end | |
| 661 end | 681 end |
| 662 | 682 |
| 663 function Action:PostClick( ) | 683 function Action:PostClick( ) |
| 664 self:UpdateCheckedState() | 684 self:UpdateCheckedState() |
| 665 end | 685 end |
