GameFramework.ClientModule.CastSkill C# (CSharp) Method

CastSkill() public method

public CastSkill ( int objId, int skillId ) : bool
objId int
skillId int
return bool
        public bool CastSkill(int objId, int skillId)
        {
            bool ret = false;
            EntityInfo obj = GetEntityById(objId);
            if (null != obj) {
                SkillInfo skillInfo = obj.GetSkillStateInfo().GetSkillInfoById(skillId);
                if (null != skillInfo) {
                    if (obj.Energy >= obj.GetActualProperty().EnergyMax) {
                        if (!skillInfo.IsInCd(TimeUtility.GetLocalMilliseconds())) {
                            int targetId = 0;
                            if (null != SelectedTarget) {
                                targetId = SelectedTarget.TargetId;
                            }
                            if (IsRoomScene) {
                                Network.NetworkSystem.Instance.SyncPlayerSkill(obj, skillId, targetId, obj.GetMovementStateInfo().GetFaceDir());
                            } else {
                                AiStateInfo aiInfo = obj.GetAiStateInfo();
                                aiInfo.Target = targetId;
                                if (aiInfo.AiLogic == (int)AiStateLogicId.Entity_Leader) {
                                    AiData_Leader data = aiInfo.AiDatas.GetData<AiData_Leader>();
                                    if (null == data) {
                                        data = new AiData_Leader();
                                        aiInfo.AiDatas.AddData(data);
                                    }
                                    data.ManualSkillId = skillId;
                                } else {
                                    AiData_General data = aiInfo.AiDatas.GetData<AiData_General>();
                                    if (null == data) {
                                        data = new AiData_General();
                                        aiInfo.AiDatas.AddData(data);
                                    }
                                    data.ManualSkillId = skillId;
                                }
                                aiInfo.ChangeToState((int)AiStateId.SkillCommand);
                            }
                            ret = true;
                        }
                    }
                }
            }
            return ret;
        }