コード例 #1
0
ファイル: Entity.cs プロジェクト: k3498gg/TSC
 public void EndSkillStateToIdle()
 {
     if (RoleEntityControl.Fsm.CurrentStateID == RoleStateID.Skill)
     {
         RoleEntityControl.SetTransition(RoleTransition.Idle, this);
     }
 }
コード例 #2
0
ファイル: Entity.cs プロジェクト: k3498gg/TSC
    public void EndCurrentStateToOtherState(RoleStateID id)
    {
        if (!IsAlive)
        {
            return;
        }

        if (RoleEntityControl.Fsm.CurrentStateID != id)
        {
            switch (id)
            {
            case RoleStateID.Idle:
                RoleEntityControl.SetTransition(RoleTransition.Idle, this);
                break;

            case RoleStateID.Walk:
                RoleEntityControl.SetTransition(RoleTransition.FreeWalk, this);
                break;

            case RoleStateID.Acct:
                RoleEntityControl.SetTransition(RoleTransition.Acct, this);
                break;

            case RoleStateID.Skill:
                RoleEntityControl.SetTransition(RoleTransition.Skill, this);
                break;

            case RoleStateID.Switch:
                RoleEntityControl.SetTransition(RoleTransition.Switch, this);
                break;

            case RoleStateID.CrashPlayer:
                RoleEntityControl.SetTransition(RoleTransition.CrashPlayer, this);
                break;

            case RoleStateID.Dead:
                ItemDropMgr.Instance.DropRareItem(CacheModel.position, Attribute.Score, GameMgr.Instance.ItemRoot);
                RoleEntityControl.SetTransition(RoleTransition.Dead, this);
                break;
            }
        }
    }