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(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)); } }
public static StorageObjectUUIDSyncMessage SendAll(GameObject storageObj, string data) { StorageObjectUUIDSyncMessage msg = new StorageObjectUUIDSyncMessage { StorageObj = storageObj.GetComponent <NetworkIdentity>().netId, Data = data }; msg.SendToAll(); return(msg); }
public void SyncUUIDsWithPlayer(GameObject recipient) { StorageObjectUUIDSyncMessage.Send(recipient, gameObject, GetUUIDJsonString()); }