public void Unequip(TrinketSlot slot) { switch (slot) { case TrinketSlot.Left: if (LeftTrinket != null) { for (int i = 0; i < LeftTrinket.Buffs.Count; i++) { RemoveSourceBuff(LeftTrinket.Buffs[i], BuffSourceType.Trinket); } LeftTrinket = null; } break; case TrinketSlot.Right: if (RightTrinket != null) { for (int i = 0; i < RightTrinket.Buffs.Count; i++) { RemoveSourceBuff(RightTrinket.Buffs[i], BuffSourceType.Trinket); } RightTrinket = null; } break; } }
public void Equip(Trinket trinket, TrinketSlot slot) { switch (slot) { case TrinketSlot.Left: if (LeftTrinket != null) { Unequip(slot); } for (int i = 0; i < trinket.Buffs.Count; i++) { AddBuff(new BuffInfo(trinket.Buffs[i], BuffDurationType.Permanent, BuffSourceType.Trinket)); } LeftTrinket = trinket; break; case TrinketSlot.Right: if (RightTrinket != null) { Unequip(slot); } for (int i = 0; i < trinket.Buffs.Count; i++) { AddBuff(new BuffInfo(trinket.Buffs[i], BuffDurationType.Permanent, BuffSourceType.Trinket)); } RightTrinket = trinket; break; } }
public InventorySystem() { Content = new ItemSlot[14]; Content[0] = new HelmetSlot(); Content[1] = new ChestSlot(); Content[2] = new LegSlot(); Content[3] = new FootSlot(); Content[4] = new WeaponSlot(); Content[5] = new RingSlot(); Content[6] = new RingSlot(); Content[7] = new TrinketSlot(); Content[8] = new TrinketSlot(); for (int i = 9; i < 14; i++) { Content[i] = new InventorySlot(); } }
private void GatherPlayerComponents() { playerController = GetComponentInChildren <PlayerController>(); weaponChargeCanvas = GetComponentInChildren <WeaponChargeCanvas>(); rb = GetComponentInChildren <Rigidbody>(); playerCam = GetComponentInChildren <PlayerCamera>(); entity = GetComponentInChildren <Entity>(); weaponSlot = GetComponentInChildren <WeaponSlot>(); helmetSlot = GetComponentInChildren <HelmetSlot>(); trinketSlot = GetComponentInChildren <TrinketSlot>(); myInventory = GetComponentInChildren <Inventory>(); dwarfAnimController = GetComponentInChildren <DwarfAnimationsScript>(); dwarfAnimEvents = GetComponentInChildren <AnimationEventsDwarf>(); iKControl = GetComponentInChildren <IKControl>(); playerAppearance = GetComponentInChildren <PlayerAppearance>(); reviveZone = GetComponentInChildren <ReviveZone>(); cameraShake = GetComponentInChildren <CameraShake>(); }
public override void _Ready() { headSlot = GetNode <ArmorSlot>(headSlotPath); chestSlot = GetNode <ArmorSlot>(chestSlotPath); legsSlot = GetNode <ArmorSlot>(legsSlotPath); handsSlot = GetNode <ArmorSlot>(handsSlotPath); mainHandSlot = GetNode <WeaponSlot>(mainHandSlotPath); offHandSlot = GetNode <WeaponSlot>(offHandSlotPath); leftRingSlot = GetNode <TrinketSlot>(leftRingSlotPath); necklaceSlot = GetNode <TrinketSlot>(necklaceSlotPath); rightRingSlot = GetNode <TrinketSlot>(rightRingSlotPath); slots = new EquipmentSlot[] { headSlot, chestSlot, legsSlot, handsSlot, mainHandSlot, offHandSlot, leftRingSlot, necklaceSlot, rightRingSlot }; ConnectCallbacks(); }
public InventorySystem(Item[] items, double money) { Money = money; Content = new ItemSlot[14]; Content[0] = new HelmetSlot(); Content[1] = new ChestSlot(); Content[2] = new LegSlot(); Content[3] = new FootSlot(); Content[4] = new WeaponSlot(); Content[5] = new RingSlot(); Content[6] = new RingSlot(); Content[7] = new TrinketSlot(); Content[8] = new TrinketSlot(); for (int i = 9; i < 14; i++) { Content[i] = new InventorySlot(); } for (int i = 0; i < 14; i++) { Content[i].slotItem = items[i]; } }