Example #1
0
        /// <summary>
        /// Resolves the event and returns an AnimEventHandle.
        /// </summary>
        public AnimEventHandle ResolveOn(AnimEvent animEvent, BattlerPuppet battlerPuppet)
        {
            int hash = animsHashes[Random.Range(0, animsHashes.Length)];

            battlerPuppet.animator.Play(hash);
            return(new AnimEventHandle(animEvent, battlerPuppet, hash));
        }
Example #2
0
 /// <summary>
 /// Dispatch the given anim event to the BattlerPuppet.
 /// </summary>
 public AnimEventHandle DispatchAnimEvent(AnimEvent animEvent, BattlerPuppet puppet)
 {
     if (animEventResolverTable.ContainsKey(animEvent.animEventType))
     {
         return(animEventResolverTable[animEvent.animEventType].ResolveOn(animEvent, puppet));
     }
     else if (animEventResolverTable.ContainsKey(animEvent.fallbackType))
     {
         return(animEventResolverTable[animEvent.fallbackType].ResolveOn(animEvent, puppet));
     }
     else if ((animEvent.flags & AnimEvent.Flags.IsMandatory) == AnimEvent.Flags.IsMandatory)
     {
         Util.Crash(puppet.gameObject.name + " failed to resolve mandatory AnimEvent of type " + animEvent.animEventType + " and fallback type " + animEvent.fallbackType);
     }
     return(null);
 }