private void Server_CreateCollection() { if (_isPlayerCollection) { var bridge = GetComponent <UNetActionsBridge>(); if (bridge == null) { _logger.Error($"Trying to sync collection to client, but no {nameof(UNetActionsBridge)} found on object!", this); return; } var guid = System.Guid.NewGuid(); collection = bridge.Server_AddEquipmentCollectionToServerAndClient(new AddEquipmentCollectionMessage() { owner = _identity, collectionName = _collectionName, collectionGuid = guid, slots = _slots.Select(o => new EquipmentSlotDataMessage() { equipmentTypeGuids = o.equipmentTypes.Select(j => new GuidMessage() { bytes = j.ID.ToByteArray() }).ToArray(), }).ToArray() }); bridge.Server_SetCollectionPermissionOnServerAndClient(new SetCollectionPermissionMessage() { collectionGuid = guid, permission = _permission }); } else { var equippableCharacter = GetComponent <IEquippableCharacter <IEquippableItemInstance> >(); // var restoreItemsToGroup = GetComponent<IInventoryCollectionOwner>().itemCollectionGroup; collection = UNetCollectionUtility.CreateServerEquipmentCollection(_collectionName, System.Guid.NewGuid(), _identity, _slots.Select(o => o.ToSlotInstance(equippableCharacter)).ToArray(), equippableCharacter); } }