示例#1
0
    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;
        }
    }
示例#2
0
    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;
        }
    }
示例#3
0
 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();
     }
 }
示例#4
0
 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>();
 }
示例#5
0
        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();
        }
示例#6
0
        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];
            }
        }