public bool Update(IFightFSM fight, BlockFunc func, int frameindex)
        {
            WhenExit exit   = (WhenExit)func.intParam0;
            bool     active = false;

            if (exit == WhenExit.Direct)
            {
                active = true;
            }
            else if (exit == WhenExit.Jump_Fall && fight.Jump_IsFall())
            {
                active = true;
            }
            else if (exit == WhenExit.Jump_Floor && fight.Jump_IsFloor())
            {
                active = true;
            }
            else if (exit == WhenExit.Attack && fight.IsHit())
            {
                active = true;
            }
            else if (exit == WhenExit.NotAttack && !fight.IsHit())
            {
                active = true;
            }
            if (active)
            {
                fight.PlaySound(func.strParam0);
                return(true);
            }
            return(false);
        }
예제 #2
0
        public bool Update(IFightFSM fight, BlockFunc func, int frameindex)
        {
            switch ((Conditon)func.intParam0)
            {
            case Conditon.Direct:
                fight.SetForceClear();

                break;

            case Conditon.Jump_Fall:
                if (fight.Jump_IsFall())
                {
                    fight.SetForceClear();
                }
                break;

            case Conditon.Jump_Floor:

                if (fight.Jump_IsFloor())
                {
                    fight.SetForceClear();
                    /* Debug.Log("setzero!");*/
                }
                break;

            default:
                break;
            }
            return(false);
        }