void InitSlots(bool _isServer) { var syncData = new StorageSlotsUUIDSync(); storageSlots = new StorageSlots(); for (int i = 0; i < maxSlots; i++) { InventorySlot invSlot = null; if (_isServer) { invSlot = new InventorySlot(System.Guid.NewGuid(), "inventory" + i); storageSlots.inventorySlots.Add(invSlot); syncData.UUIDs.Add(invSlot.UUID); } else { invSlot = new InventorySlot(System.Guid.Empty, "inventory" + i); storageSlots.inventorySlots.Add(invSlot); } InventoryManager.AddSlot(invSlot, _isServer); } if (syncData.UUIDs.Count != 0) { StorageObjectUUIDSyncMessage.SendAll(gameObject, JsonUtility.ToJson(syncData)); } }
IEnumerator InitSlots(bool _isServer) { //Wait for onscene change event to take place on InventoryManager yield return(YieldHelper.EndOfFrame); var syncData = new StorageSlotsUUIDSync(); storageSlots = new StorageSlots(); for (int i = 0; i < maxSlots; i++) { InventorySlot invSlot = null; if (_isServer) { invSlot = new InventorySlot(System.Guid.NewGuid(), "inventory" + i); storageSlots.inventorySlots.Add(invSlot); syncData.UUIDs.Add(invSlot.UUID); } else { invSlot = new InventorySlot(System.Guid.Empty, "inventory" + i); storageSlots.inventorySlots.Add(invSlot); } InventoryManager.AddSlot(invSlot, _isServer); } yield return(YieldHelper.DeciSecond); if (syncData.UUIDs.Count != 0) { StorageObjectUUIDSyncMessage.SendAll(gameObject, JsonUtility.ToJson(syncData)); } }
void InitSlots() { storageSlots = new StorageSlots(); for (int i = 0; i < maxSlots; i++) { InventorySlot invSlot = new InventorySlot(EquipSlot.inventory01 + i, false, gameObject); storageSlots.inventorySlots.Add(invSlot); } }
public StorageSlotsInitialSyncProcessor(IPacketSender packetSender, StorageSlots slots, Vehicles vehicles) { this.packetSender = packetSender; this.slots = slots; this.vehicles = vehicles; DependentProcessors.Add(typeof(VehicleInitialSyncProcessor)); DependentProcessors.Add(typeof(InventoryItemsInitialSyncProcessor)); // Batteries can be in a battery slots from a item DependentProcessors.Add(typeof(EquippedItemInitialSyncProcessor)); // Just to be sure, for cyclops mode persistence. See "Cyclops.SetAdvancedModes" }
public StorageSlotsInitialSyncProcessor(IPacketSender packetSender, StorageSlots slots, Vehicles vehicles) { this.packetSender = packetSender; this.slots = slots; this.vehicles = vehicles; DependentProcessors.Add(typeof(VehicleInitialSyncProcessor)); //Items with batteries can also have battery slots DependentProcessors.Add(typeof(InventoryItemsInitialSyncProcessor)); }
public void NotifyPlayer(GameObject recipient) { //Validate data and make sure it is being pulled from Server List (Fixes Host problems) StorageSlots slotsData = new StorageSlots(); foreach (InventorySlot slot in storageSlots.inventorySlots) { slotsData.inventorySlots.Add(InventoryManager.GetSlotFromUUID(slot.UUID, true)); } StorageObjectSyncMessage.Send(recipient, gameObject, JsonUtility.ToJson(slotsData)); }
public StorageSlotAddItemProcessor(IPacketSender packetSender, StorageSlots storageSlots) { this.packetSender = packetSender; this.storageSlots = storageSlots; }