public static void SendUseSkill(long casterID, long targetID, int skillID)
    {
        BattleAction_UseSkill battleAction_UseSkill = new BattleAction_UseSkill();

        battleAction_UseSkill.casterId = casterID;
        battleAction_UseSkill.targetId = targetID;
        battleAction_UseSkill.skillId  = skillID;
        EventDispatcher.BroadcastAsync <BattleAction_UseSkill, bool>(BattleActionEvent.UseSkill, battleAction_UseSkill, false);
    }
Ejemplo n.º 2
0
        public void UseSkill(BattleAction_UseSkill data, bool isServerData)
        {
            if (this.owner.Actor == null)
            {
                return;
            }
            if (data.casterId != this.owner.ID)
            {
                return;
            }
            Debug.Log(string.Concat(new object[]
            {
                "下发 ServerCastSkillByID: ",
                data.skillId,
                " ",
                data.needManage,
                " ",
                data.mgrSn,
                " (",
                data.casterVector.x,
                ", ",
                data.casterVector.y,
                ")"
            }));
            Skill skill = DataReader <Skill> .Get(data.skillId);

            if (skill == null)
            {
                return;
            }
            if (skill.type3 == 1)
            {
                this.owner.AITargetID = data.targetId;
                this.owner.AITarget   = ((!EntityWorld.Instance.AllEntities.ContainsKey(data.targetId)) ? null : EntityWorld.Instance.AllEntities[data.targetId]);
            }
            this.owner.CheckCancelManage(data.targetId, data.oldManageState, false);
            if (data.needManage && data.isManaged)
            {
                this.owner.IsSkillInTrustee = true;
            }
            if (isServerData)
            {
                this.owner.GetSkillManager().ServerCastSkillByID(data.skillId, data.curAniPri, new Vector3(data.casterVector.x, 0f, data.casterVector.y), data.needManage, data.mgrSn);
            }
            else
            {
                this.owner.GetSkillManager().ClientCastSkillByID(data.skillId);
            }
        }