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 (!skillInfo.IsInCd(TimeUtility.GetLocalMilliseconds()))
{
int targetId = 0;
if (null != SelectedTarget)
{
targetId = SelectedTarget.TargetId;
}
if (!IsBattleState)
{
Network.NetworkSystem.Instance.SyncPlayerSkill(obj, skillId, targetId, obj.GetMovementStateInfo().GetFaceDir());
}
else
{
AiStateInfo aiInfo = obj.GetAiStateInfo();
aiInfo.Target = targetId;
GfxSkillSystem.Instance.StartSkill(objId, skillInfo.ConfigData, 0);
}
ret = true;
}
}
}
return(ret);
}