Exemplo n.º 1
0
    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));
        }
    }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 4
0
 public void SyncUUIDsWithPlayer(GameObject recipient)
 {
     StorageObjectUUIDSyncMessage.Send(recipient, gameObject, GetUUIDJsonString());
 }