示例#1
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));
        }
    }
示例#2
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));
        }
    }
示例#3
0
    private string GetUUIDJsonString()
    {
        var syncData = new StorageSlotsUUIDSync();

        for (int i = 0; i < storageSlots.inventorySlots.Count; i++)
        {
            syncData.UUIDs.Add(storageSlots.inventorySlots[i].UUID);
        }

        return(JsonUtility.ToJson(syncData));
    }