Class ActiveSkill
- Namespace
- GrindFest
- Assembly
- GrindFest.dll
A skill that is executed: it owns the equipment swap protocol, animation helpers and combat
targeting that used to live on the SkillBehaviour MonoBehaviour.
The coroutine is hosted on SkillUserBehaviour — the skill never needs a GameObject.
public abstract class ActiveSkill : Skill
- Inheritance
-
objectActiveSkill
- Derived
- Inherited Members
Fields
Properties
Methods
- AcquireAsset<T>(string, Action<T>)
Acquires an asset and waits for it, then hands it to
onReady.This is the bridge a coroutine needs: a skill cannot
await, and the alternative — reading a cold asset out of a property and carrying on — is not acceptable for something the skill is made of. That read is what killedDropSkillmid-drop: the asset was cold,.Transitionthrew a NullReferenceException insideUse(), the coroutine died with the item still in the hero's hand and the hero walked off (measured 2026-09-19). Here the skill simply waits for the animation and then plays it.A load that genuinely fails is loud and the skill stops. It never falls through to acting unanimated: silence would be a skill that does something different from what it says, with nothing in the log.
- AcquireSubAsset<T>(string, string, Action<T>)
AcquireAsset<T>(string, Action<T>) for a clip that lives inside a model file, e.g.
Clip("Assets/…/Villager@Fishing01.fbx", "Villager@Fishing01").Sub-assets need their own acquire as the right type: a sub-asset is not satisfied by loading its parent as
Object(the cache key is address|type|name), so the skill has to ask for the clip.
- AcquireTransition(string, Action<ClipTransition>)
AcquireAsset<T>(string, Action<T>) for the transition assets the skills animate with. The ClipTransitionAsset.Transition is read after the asset is resident, so the dereference that used to blow up mid-skill cannot happen. A null handed to
onReady, therefore, only ever means a real failure — already logged — and the caller stops on it.
- FadeUpperBodyLayer(float)
Fade the overlay layer back out after a skill that used it (normal completion).
- OnRemoved()
Equipment swapped in for the skill is restored when the skill ends.
- PlayAnimation(AnimationClip, int, float)
Raw clip overload — animations resolved from an .fbx by address arrive as clips.
- PlayUpperBodyAnimation(ITransition, float)
Play an animation on the upper-body layer (layer 1, masked), used by casting/consuming.
- PlayUpperBodyAnimation(AnimationClip, float)
Play a raw clip on the upper-body layer (masked), used by casting / consuming.
- WaitForAnimationEvent(ITransition, string, float)
Waits for a named event; falls back to
fallbackTimewhen the animation is not a plain clip transition.
- WaitForWeaponAnimation(ClipTransition, int)
Same as above for a transition that came out of a ClipTransitionAsset.