Comments (10)
ChargeCooldown
s are recycled, thus they're created and [re]assigned dynamically. That particular line of code exists only to catch any CCDs that are assigned to buttons when they're skinned. So the existing code is correct.
As far as the placement of the "Action"
check, I've no problem with moving it down. I was unaware that any add-ons were using them outside the context of Action buttons.
from masque.
Ahh okay. TellMeWhen uses a seperate frame for chargeCooldowns. I wasn't able to get it skinned without changing that line though.
from masque.
You're referring to the "Action"
check? That's the only thing that's changed.
from masque.
The change from Button -> Regions
from masque.
The current implementation is how it's always been, so if you had to change it to get it to work, that means it's never worked.
from masque.
You're right. I didn't realize it wasn't intended for Masque to skin deliberately created static charge cooldown frames the same as it does for regular cooldown frames. Assumed it was an oversight.
I have a custom circular skin I made that I use in TMW. I wanted Masque to skin TMW's charge frame so it would follow the circularedge and utilize custom edge textures if desired. It only took the change I initially mentioned here (along with moving the Action check line) and adding the following line to TMW to allow Masque to skin its charge frame.
Edit: I only use Masque to skin WeakAuras and TellMeWhen so I wasn't aware of how the charge cooldown skinning is implemented in regular action buttons. I see that now.
from masque.
I realize now that an addon like TMW should utilize the UpdateCharge API already in Masque to skin its charge frame. I'll see how to implement that in TMW and submit a ticket there. Apologies if I caused any confusion :).
from masque.
A ChargeCooldown
is just a Cooldown
with its SetDrawSwipe
set to false
, so there's really no reason to distinguish between the two, aside from that. Even if an author uses both the edge and swipe, Masque should catch it.
If TMW uses a static ChargeCooldown
, then I've no problems adding a check for that in the Regions
table as that demonstrates a use case. Note that the key will be ChargeCooldown
. It seems TMW actually skips that particular region anyhow, and only passes Icon
, HotKey
, Count
and Cooldown
. So you'd have to submit a request to TMW to have that region added.
I've yet to notify the author of the changes to :AddButton()
, so that will need to be updated as well. As far as I'm aware, TMW doesn't provide actual clickable buttons but they have some regions that an Action
button has so the logical course would be to pass "Action"
as the type and then set Strict
to true.
Edit: In regards to your follow-up post, if the ChargeCooldown
is static (never changes its parent), there's no reason to call :UpdateCharge()
unless TMW changes something that Masque has done.
from masque.
That makes sense. I believe TMW utilizes a seperate frame for charges so that GCD swipes can be shown independently without interrupting the re-charge animation (which utilizes an edge w/ no swipe). As far as I can tell the charge frame does remain static upon icon creation. It does seem then in that case adding a check in the Regions
table would be necessary.
Right, until now TMW didn't pass the charge frame as a skinnable frame to Masque. I was hoping to submit a ticket to change that and demonstrate it working. That sent me down the rabbit hole of making the changes that I ended up making, heh. Thanks for the advice.
from masque.
No problem. I'm currently trying to go through my skins, but I'll make the appropriate changes that should be in the next alpha.
from masque.
Related Issues (20)
- Inconsistent Border Size HOT 1
- Lua errors with HOT 2
- Enhancement: Add New Spell Alerts for Retail
- Bug: Count Text on Blizzard Modern is Misaligned HOT 5
- Bug: Dual-Spec not Enabled on Season of Discovery
- Bug: Swipe Color Doesn't Work on Square Cooldowns
- Update the Interface Version for Beta (11.0.2)
- Enhancement: Add Support for New AutoCast Animations
- Update the Interface Version
- Glow Effects Different in Latest Release HOT 4
- Plater + Masque Bug after Update HOT 12
- Bug: Masque Errors on Missing Start Animation
- Bug: Blizzard Classic Cooldown Too Small HOT 1
- Enhancement: Add Classic-Style Spell Alerts HOT 1
- Enhancement: Allow Nested Spell Alert Skins HOT 1
- Update the Spell Alert API HOT 1
- Update the Interface Version
- Enhancement: Ehancement: Add Modern-Style Spell Alerts
- Bug: Conflict with HidingBar HOT 4
- Bug: Global setting not applying to all weakauras HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from masque.