public void AddRobot(t_MapNpcDataPos data, uint master_id) { if (data == null) { return; } Engine.Utility.Log.Trace("添加ROBOT:{0}", data.mapnpcdata.npcdata.dwBaseID); IEntitySystem es = ClientGlobal.Instance().GetEntitySystem(); if (es == null) { Engine.Utility.Log.Error("严重错误:EntitySystem is null!"); return; } if (es.FindRobot(data.mapnpcdata.npcdata.dwTempID) != null) { CreateNPC(data, master_id); // 更新数据 return; } if (m_dicNPCData.ContainsKey(data.mapnpcdata.npcdata.dwTempID)) { return; } CreateNPC(data, master_id); }
public void AddNPC(t_MapNpcDataPos data, uint master_id) { Profiler.BeginSample("AddNpc"); if (data == null) { return; } Engine.Utility.Log.Trace("添加NPC:{0}", data.mapnpcdata.npcdata.dwBaseID); IEntitySystem es = ClientGlobal.Instance().GetEntitySystem(); if (es == null) { Engine.Utility.Log.Error("严重错误:EntitySystem is null!"); return; } table.NpcDataBase npctable = GameTableManager.Instance.GetTableItem <table.NpcDataBase>((uint)data.mapnpcdata.npcdata.dwBaseID); if (npctable == null) { Engine.Utility.Log.Error("严重错误:not fount npc baseid {0}", data.mapnpcdata.npcdata.dwBaseID); return; } if (npctable.dwType == (uint)GameCmd.enumNpcType.NPC_TYPE_ROBOT) { if (es.FindRobot(data.mapnpcdata.npcdata.dwTempID) != null) { CreateRobot(data, npctable.job); // 更新数据 return; } if (m_dicNPCData.ContainsKey(data.mapnpcdata.npcdata.dwTempID)) { return; } CreateRobot(data, npctable.job); } else { if (es.FindNPC(data.mapnpcdata.npcdata.dwTempID) != null) { CreateNPC(data, master_id); // 更新数据 return; } if (m_dicNPCData.ContainsKey(data.mapnpcdata.npcdata.dwTempID)) { return; } CreateNPC(data, master_id); } Profiler.EndSample(); }