private void OnAiSkill(EntityInfo npc, int skillId)
{
Scene scene = npc.SceneContext.CustomData as Scene;
if (null != scene)
{
SkillInfo skillInfo = npc.GetSkillStateInfo().GetCurSkillInfo();
if (null == skillInfo || !skillInfo.IsSkillActivated)
{
SkillInfo curSkillInfo = npc.GetSkillStateInfo().GetSkillInfoById(skillId);
if (null != curSkillInfo)
{
long curTime = TimeUtility.GetLocalMilliseconds();
if (!curSkillInfo.IsInCd(curTime))
{
if (scene.SkillSystem.StartSkill(npc.GetId(), curSkillInfo.ConfigData, 0))
{
Msg_RC_NpcSkill skillBuilder = DataSyncUtility.BuildNpcSkillMessage(npc, skillId);
LogSystem.Info("Send Msg_RC_NpcSkill, EntityId={0}, SkillId={1}",
npc.GetId(), skillId);
scene.NotifyAllUser(RoomMessageDefine.Msg_RC_NpcSkill, skillBuilder);
}
}
}
}
}
}