public static UNetServerEquipmentCollection <IEquippableItemInstance> CreateServerEquipmentCollection( string collectionName, System.Guid collectionGuid, NetworkIdentity owner, EquipmentCollectionSlot <IEquippableItemInstance>[] slots, IEquippableCharacter <IEquippableItemInstance> character) { var collection = new UNetServerEquipmentCollection <IEquippableItemInstance>(owner, 0, character) { collectionName = collectionName, ID = collectionGuid }; collection.slots = slots; for (int i = 0; i < collection.slots.Length; i++) { collection.slots[i].collection = collection; collection.slots[i].index = i; } collection.Server_Register(); // The server's owner object always has read/write permission. UNetPermissionsRegistry.collections.SetPermission(collection, owner, ReadWritePermission.ReadWrite); _logger.Log($"[Server] Created and registered equipment collection with name {collection.collectionName} and guid {collection.ID} for netID: {owner.netId}", collection); return(collection); }
public EquipmentCollectionSlot <IEquippableItemInstance> ToSlotInstance(IEquippableCharacter <IEquippableItemInstance> character) { return(new EquipmentCollectionSlot <IEquippableItemInstance>() { equipmentTypes = equipmentTypes.Cast <IEquipmentType>().ToArray(), }); }
public static PUN2ClientEquipmentCollection <IEquippableItemInstance> CreateClientEquipmentCollection( string collectionName, System.Guid collectionGuid, PhotonView owner, PUN2ActionsBridge playerBridge, EquipmentCollectionSlot <IEquippableItemInstance>[] slots, IEquippableCharacter <IEquippableItemInstance> character) { var collection = new PUN2ClientEquipmentCollection <IEquippableItemInstance>(owner, playerBridge, 0, character) { collectionName = collectionName, ID = collectionGuid }; collection.slots = slots; for (int i = 0; i < collection.slots.Length; i++) { collection.slots[i].collection = collection; collection.slots[i].index = i; } collection.Register(); // The server's owner object always has read/write permission. PUN2PermissionsRegistry.collections.SetPermission(collection, owner, ReadWritePermission.None); _logger.Log($"[Client] Created and registered equipment collection with name '{collection.collectionName}' and guid '{collection.ID}' for ViewID: {owner.ViewID}", collection); return(collection); }
public UNetServerEquipmentCollection(NetworkIdentity owner, int slotCount, IEquippableCharacter <TEquippableType> character, ILogger logger = null) : base(slotCount, character, logger) { this.owner = owner; OnSlotsChanged += NotifyOnSlotsChanged; OnSizeChanged += NotifyOnSizeChanged; }
public static void SetItemProperty(IEquippableCharacter character, StatDecorator stat, SetItemPropertiesAction action, bool fireEvents = true) { Assert.IsNotNull(character, "Null player object passed, make sure the InventoryPlayerManager.instance.currentPlayer is set!"); float multiplier = GetMultiplier(action); character.stats.Set(stat, multiplier); }
public PUN2ServerEquipmentCollection(PhotonView owner, int slotCount, IEquippableCharacter <TEquippableType> character, ILogger logger = null) : base(slotCount, character, logger) { this.owner = owner; OnSlotsChanged += NotifyOnSlotsChanged; OnSizeChanged += NotifyOnSizeChanged; }
public static void SetItemProperties(IEquippableCharacter character, StatDecorator[] stats, SetItemPropertiesAction action, bool fireEvents = true) { // Use the item's properties. if (character != null) { foreach (var property in stats) { SetItemProperty(character, property, action, fireEvents); } } }
public bool CanUse(IEquippableCharacter character) { Assert.IsNotNull(character, "IEquippableCharacter object given is null"); var stat = character.stats.Get(this.stat.category, this.stat.statName); if (stat != null) { switch (statValueType) { case StatValueType.CurrentValue: return(IsAbbidingFilter(stat.currentValue, value, filterType)); case StatValueType.Level: return(IsAbbidingFilter(stat.currentLevelIndex + 1, value, filterType)); default: throw new ArgumentOutOfRangeException(); } } return(false); }
public EquipmentCollection(int slotCount, IEquippableCharacter <TEquippableType> character, ILogger logger = null) : base(slotCount, character, logger) { }
public UNetClientEquipmentCollection(NetworkIdentity owner, UNetActionsBridge actionBridge, int slotCount, IEquippableCharacter <TEquippableType> character, ILogger logger = null) : base(slotCount, character, logger) { this.actionBridge = actionBridge; this.owner = owner; }
public EquipmentCollectionSlot <IEquippableItemInstance> ToSlotInstance(IDatabase <UnityEquipmentType> database, IEquippableCharacter <IEquippableItemInstance> character) { var slot = new EquipmentCollectionSlot <IEquippableItemInstance> { equipmentTypes = equipmentTypeGuids.Select(o => database.Get(new Identifier(o.guid)).result).Cast <IEquipmentType>().ToArray() }; return(slot); }
public EquipmentCollectionBase(int slotCount, IEquippableCharacter <TEquippableType> characterOwner, ILogger logger = null) : base(slotCount, logger) { this.characterOwner = characterOwner; GenerateSlots <TSlotType>(); }
public PUN2ClientEquipmentCollection(PhotonView owner, PUN2ActionsBridge actionBridge, int slotCount, IEquippableCharacter <TEquippableType> character, ILogger logger = null) : base(slotCount, character, logger) { this.actionBridge = actionBridge; this.owner = owner; }