Esempio n. 1
0
    public bool FireSwitchSkill()
    {     //释放切入技
        if (BattleArena.Singleton.SwitchSkillCount < 1)
        { //切入技没有可用次数
            return(false);
        }
        if (null != CurrentCmd)
        {//切入技角色当前有命令
            return(false);
        }
        if (this.IsDead)
        {//角色死亡
            return(false);
        }
        if (SkillBag.Count == 0)
        {//没有可用技能
            return(false);
        }
        if (SkillBag[0].IsSilence)
        {
            return(false);
        }
        int skillID = SkillBag[0].SkillTableInfo.ID;

        if (SkillControl.IsSkillCDRunning(skillID, this))
        {//cd中
            return(false);
        }
        //Actor support = ActorManager.Singleton.Support;
        //if (support == null)
        {//将切入技角色加入列表
            ActorManager.Singleton.AddActor(ActorManager.Singleton.Support.ID, ActorManager.Singleton.Support);
        }
        //设置切入技角色目标
        ActorManager.Singleton.Support.CurrentTarget = ActorManager.Singleton.MainActor.CurrentTarget;

        CurrentCmd = new Player.Cmd(skillID);
        --BattleArena.Singleton.SwitchSkillCount;
        return(true);
    }