public void TakeFloatingObjectRequest(MyInventory inv, MyFloatingObject obj) { var msg = new TakeFloatingObjectMsg(); msg.OwnerEntityId = inv.Owner.EntityId; msg.InventoryIndex = inv.InventoryIdx; msg.FloatingObjectId = obj.EntityId; Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }
static void OnTakeFloatingObjectRequest(ref TakeFloatingObjectMsg msg, MyNetworkClient sender) { MyEntity owner; if (!MyEntities.TryGetEntityById(msg.OwnerEntityId, out owner) || !(owner is IMyInventoryOwner)) { return; } var inv = (owner as IMyInventoryOwner).GetInventory(msg.InventoryIndex); MyFloatingObject floatingObject; if (!MyEntities.TryGetEntityById <MyFloatingObject>(msg.FloatingObjectId, out floatingObject) || floatingObject.MarkedForClose) { return; } inv.TakeFloatingObject(floatingObject); }
static void OnTakeFloatingObjectRequest(ref TakeFloatingObjectMsg msg, MyNetworkClient sender) { MyEntity owner; if (!MyEntities.TryGetEntityById(msg.OwnerEntityId, out owner) || !(owner is IMyInventoryOwner)) return; var inv = (owner as IMyInventoryOwner).GetInventory(msg.InventoryIndex); MyFloatingObject floatingObject; if (!MyEntities.TryGetEntityById<MyFloatingObject>(msg.FloatingObjectId, out floatingObject) || floatingObject.MarkedForClose) return; inv.TakeFloatingObject(floatingObject); }
public void TakeFloatingObjectRequest(MyInventory inv, MyFloatingObject obj) { var msg = new TakeFloatingObjectMsg(); msg.OwnerEntityId = inv.Owner.EntityId; msg.InventoryIndex = inv.InventoryIdx; msg.FloatingObjectId = obj.EntityId; Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }