Esempio n. 1
0
    void Start()
    {
        RunFSM    tmpRunFSM    = new RunFSM();
        AttackFSM tmpAttackFSM = new AttackFSM();

        manager = new FSMManager(2);
        manager.AddState(tmpRunFSM);
        manager.AddState(tmpAttackFSM);
    }
 private void UpdateAttackFSM(AttackFSM attackFSM)
 {
     if (!attackFSM.IsAttacking)
     {
         return;
     }
     if (attackFSM.IsUnlocked())
     {
         attackFSM.Update();
     }
 }
Esempio n. 3
0
        public EatResponse OnEvent(EventId id, object cookie)
        {
            BuffEventData buffEventData = (BuffEventData)cookie;

            if (buffEventData.BuffObj.BuffType.Modify != BuffModify.Stun)
            {
                return(EatResponse.NotEaten);
            }
            AttackFSM attackFSM = null;

            if (buffEventData.Target.ShooterComp != null)
            {
                attackFSM = buffEventData.Target.ShooterComp.AttackFSM;
            }
            if (attackFSM != null)
            {
                attackFSM.Stun(buffEventData.BuffObj.BuffType.Duration);
            }
            return(EatResponse.NotEaten);
        }