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); }
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); }