static void OnRemoveItemsSuccess(ref RemoveItemsMsg msg, MyNetworkClient sender) { if (!MyEntities.EntityExists(msg.OwnerEntityId)) { return; } IMyInventoryOwner owner = MyEntities.GetEntityById(msg.OwnerEntityId) as IMyInventoryOwner; MyInventory inv = null; if (owner != null) { inv = owner.GetInventory(msg.InventoryIndex); } else { // NOTE: this should be the default code after we get rid of the inventory owner and should be searched by it's id MyEntity entity = MyEntities.GetEntityById(msg.OwnerEntityId); MyInventoryBase baseInventory; if (entity.Components.TryGet <MyInventoryBase>(out baseInventory)) { inv = baseInventory as MyInventory; } } if (inv != null) { inv.RemoveItemsInternal(msg.itemId, msg.Amount); } else { Debug.Fail("Inventory was not found!"); } }
static void OnRemoveItemsRequest(ref RemoveItemsMsg msg, MyNetworkClient sender) { if (!MyEntities.EntityExists(msg.OwnerEntityId)) { return; } IMyInventoryOwner owner = MyEntities.GetEntityById(msg.OwnerEntityId) as IMyInventoryOwner; MyInventory inv = null; if (owner != null) { inv = owner.GetInventory(msg.InventoryIndex); } else { // NOTE: this should be the default code after we get rid of the inventory owner and should be searched by it's id MyEntity entity = MyEntities.GetEntityById(msg.OwnerEntityId); MyInventoryBase baseInventory; if (entity.Components.TryGet <MyInventoryBase>(out baseInventory)) { inv = baseInventory as MyInventory; } } var item = inv.GetItemByID(msg.itemId); if (!item.HasValue) { return; } inv.RemoveItems(msg.itemId, msg.Amount, spawn: msg.Spawn); }
static void OnRemoveItemsSuccess(ref RemoveItemsMsg msg, MyNetworkClient sender) { if (!MyEntities.EntityExists(msg.OwnerEntityId)) { return; } IMyInventoryOwner owner = MyEntities.GetEntityById(msg.OwnerEntityId) as IMyInventoryOwner; MyInventory inv = owner.GetInventory(msg.InventoryIndex); inv.RemoveItemsInternal(msg.itemId, msg.Amount); }
public void SendRemoveItemsRequest(MyInventory inv, MyFixedPoint amount, uint itemId, bool spawn = false) { Debug.Assert(inv.Owner != null, "Inventory must have owner to be able to remove items synchronously!"); var msg = new RemoveItemsMsg(); msg.OwnerEntityId = inv.Owner.EntityId; msg.InventoryIndex = inv.InventoryIdx; msg.itemId = itemId; msg.Amount = amount; msg.Spawn = spawn; Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }
public void SendRemoveItemsAnnounce(MyInventory inv, MyFixedPoint amount, uint itemId) { Debug.Assert(inv.Owner != null, "Inventory must have owner to be able to remove items synchronously!"); Debug.Assert(Sync.IsServer); var msg = new RemoveItemsMsg(); msg.OwnerEntityId = inv.Owner.EntityId; msg.InventoryIndex = inv.InventoryIdx; msg.itemId = itemId; msg.Amount = amount; Sync.Layer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); }
static void OnRemoveItemsRequest(ref RemoveItemsMsg msg, MyNetworkClient sender) { if (!MyEntities.EntityExists(msg.OwnerEntityId)) { return; } IMyInventoryOwner owner = MyEntities.GetEntityById(msg.OwnerEntityId) as IMyInventoryOwner; MyInventory inv = owner.GetInventory(msg.InventoryIndex); var item = inv.GetItemByID(msg.itemId); if (!item.HasValue) { return; } inv.RemoveItems(msg.itemId, msg.Amount, spawn: msg.Spawn); }
static void OnRemoveItemsSuccess(ref RemoveItemsMsg msg, MyNetworkClient sender) { if (!MyEntities.EntityExists(msg.OwnerEntityId)) return; IMyInventoryOwner owner = MyEntities.GetEntityById(msg.OwnerEntityId) as IMyInventoryOwner; MyInventory inv = owner.GetInventory(msg.InventoryIndex); inv.RemoveItemsInternal(msg.itemId, msg.Amount); }
static void OnRemoveItemsRequest(ref RemoveItemsMsg msg, MyNetworkClient sender) { if (!MyEntities.EntityExists(msg.OwnerEntityId)) return; IMyInventoryOwner owner = MyEntities.GetEntityById(msg.OwnerEntityId) as IMyInventoryOwner; MyInventory inv = owner.GetInventory(msg.InventoryIndex); var item = inv.GetItemByID(msg.itemId); if (!item.HasValue) return; inv.RemoveItems(msg.itemId, msg.Amount, spawn: msg.Spawn); }
public void SendRemoveItemsRequest(MyInventory inv, MyFixedPoint amount, uint itemId, bool spawn = false) { Debug.Assert(inv.Owner != null, "Inventory must have owner to be able to remove items synchronously!"); var msg = new RemoveItemsMsg(); msg.OwnerEntityId = inv.Owner.EntityId; msg.InventoryIndex = inv.InventoryIdx; msg.itemId = itemId; msg.Amount = amount; msg.Spawn = spawn; Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }
public void SendRemoveItemsAnnounce(MyInventory inv, MyFixedPoint amount, uint itemId) { Debug.Assert(inv.Owner != null, "Inventory must have owner to be able to remove items synchronously!"); Debug.Assert(Sync.IsServer); var msg = new RemoveItemsMsg(); msg.OwnerEntityId = inv.Owner.EntityId; msg.InventoryIndex = inv.InventoryIdx; msg.itemId = itemId; msg.Amount = amount; Sync.Layer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); }
static void OnRemoveItemsSuccess(ref RemoveItemsMsg msg, MyNetworkClient sender) { if (!MyEntities.EntityExists(msg.OwnerEntityId)) return; IMyInventoryOwner owner = MyEntities.GetEntityById(msg.OwnerEntityId) as IMyInventoryOwner; MyInventory inv = null; if (owner != null) { inv = owner.GetInventory(msg.InventoryIndex); } else { // NOTE: this should be the default code after we get rid of the inventory owner and should be searched by it's id MyEntity entity = MyEntities.GetEntityById(msg.OwnerEntityId); MyInventoryBase baseInventory; if (entity.Components.TryGet<MyInventoryBase>(out baseInventory)) { inv = baseInventory as MyInventory; } } if (inv != null) { inv.RemoveItemsInternal(msg.itemId, msg.Amount); } else { Debug.Fail("Inventory was not found!"); } }
static void OnRemoveItemsRequest(ref RemoveItemsMsg msg, MyNetworkClient sender) { if (!MyEntities.EntityExists(msg.OwnerEntityId)) return; IMyInventoryOwner owner = MyEntities.GetEntityById(msg.OwnerEntityId) as IMyInventoryOwner; MyInventory inv = null; if (owner != null) { inv = owner.GetInventory(msg.InventoryIndex); } else { // NOTE: this should be the default code after we get rid of the inventory owner and should be searched by it's id MyEntity entity = MyEntities.GetEntityById(msg.OwnerEntityId); MyInventoryBase baseInventory; if (entity.Components.TryGet<MyInventoryBase>(out baseInventory)) { inv = baseInventory as MyInventory; } } var item = inv.GetItemByID(msg.itemId); if (!item.HasValue) return; inv.RemoveItems(msg.itemId, msg.Amount, spawn: msg.Spawn); }