public void OnRemoveMapObjectRes(stRemoveMapObjectMapScreenUserCmd_S cmd) { //Engine.Utility.Log.Info("OnRemoveMapObjectRes ID:" + cmd.qwThisID); IEntitySystem es = ClientGlobal.Instance().GetEntitySystem(); if (es == null) { Engine.Utility.Log.Error("严重错误:EntitySystem is null!"); return; } { EntityCreator.Instance().RemovePlayer(cmd.qwThisID); IBox box = es.FindBox(cmd.qwThisID); if (box != null) { Client.stRemoveEntity removeEntiy = new Client.stRemoveEntity(); removeEntiy.uid = box.GetUID(); Engine.Utility.EventEngine.Instance().DispatchEvent((int)GameEventID.ENTITYSYSTEM_REMOVEENTITY, removeEntiy); es.RemoveEntity(box); } else { Engine.Utility.Log.Error("找不到box id{0}", cmd.qwThisID); } } }
public void OnRemoveItems(GameCmd.stBatchRemoveItemMapScreenUserCmd_S cmd) { IEntitySystem es = ClientGlobal.Instance().GetEntitySystem(); if (es == null) { Engine.Utility.Log.Error("严重错误:EntitySystem is null!"); return; } for (int i = 0; i < cmd.id.Count; ++i) { EntityCreator.Instance().RemovePlayer(cmd.id[i]); IBox box = es.FindBox(cmd.id[i]); if (box != null) { Client.stRemoveEntity removeEntiy = new Client.stRemoveEntity(); removeEntiy.uid = box.GetUID(); Engine.Utility.EventEngine.Instance().DispatchEvent((int)GameEventID.ENTITYSYSTEM_REMOVEENTITY, removeEntiy); es.RemoveEntity(box); } else { Engine.Utility.Log.Error("找不到box id{0}", cmd.id[i]); } } }
public IBox AddBox(t_MapObjectData BoxData, uint nlefttime) { if (BoxData == null) { return(null); } //Engine.Utility.Log.Info("创建box{0}", BoxData.dwObjectID); IEntitySystem es = ClientGlobal.Instance().GetEntitySystem(); if (es == null) { Engine.Utility.Log.Error("严重错误:EntitySystem is null!"); return(null); } // if (es.FindBox(BoxData.qwThisID) == null) { //AddPetEntity(petdata); // 创建box //MapVector2 mapPos = MapVector2.FromCoordinate(BoxData.x, BoxData.y); Vector3 pos = new Vector3(BoxData.cur_pos.x * 0.01f, 0, -BoxData.cur_pos.y * 0.01f); // 服务器到客户端坐标转换 EntityCreateData data = RoleUtil.BuildCreateEntityData(EntityType.EntityType_Box, BoxData); IBox box = es.FindBox(BoxData.qwThisID); if (box != null) { box.UpdateProp(data); } else { box = es.CreateEntity(EntityType.EntityType_Box, data, true) as IBox; } box.SendMessage(EntityMessage.EntityCommand_SetPos, (object)pos); box.AddTrigger(new BoxOnTrigger()); return(box); } return(null); }