Example #1
0
    public void GiveNewCard(EquipmentCard newCard)
    {
        if (newCard.type == EquipmentType.item)
        {
            ItemCard iCard = (ItemCard)newCard;
            iCard.UseItem(this);
        }
        else if (newCard.type == EquipmentType.weapon)
        {
            EquipmentItem newItem = new EquipmentItem();
            newItem.card = newCard;
            WeaponCard temp = (WeaponCard)newCard;
            newItem.ammoCount = temp.AmmoCap;

            _inventory.Add(newItem);
        }

        _handChanged = true;
    }
Example #2
0
    void Update()
    {
        if (hasControl)
        {
            GetDirectionVector();

            if (_dir != Vector2.zero)
            {
                _anim.SetBool("IsMoving", true);
                if ((Time.time - timeSinceLastMove) >= 0.25f)
                {
                    AudioManager._inst.PlaySFX(4);
                    timeSinceLastMove = Time.time;
                }
            }
            else
            {
                _anim.SetBool("IsMoving", false);
            }


            if (Input.GetKey(InputManager._inst._keyBindings[InputAction.attack]))
            {
                if (_current != null)
                {
                    if (_current.type == EquipmentType.weapon)
                    {
                        WeaponCard weapon = (WeaponCard)_current;
                        weapon.FireWeapon(this);
                    }
                    else
                    {
                        ItemCard item = (ItemCard)_current;
                        item.UseItem(this);
                    }
                    _firingWeapon = true;
                }
            }
            else
            {
                _firingWeapon = false;
            }

            if (Input.GetKeyDown(InputManager._inst._keyBindings[InputAction.nextItem]))
            {
                _prevInvIndex  = _currInvIndex;
                _currInvIndex -= 1;
                if (_currInvIndex < 0)
                {
                    _currInvIndex = _inventory.Count - 1;
                }

                _currInvIndex = Mathf.Clamp(_currInvIndex, 0, _inventory.Count);
            }
            else if (Input.GetKeyDown(InputManager._inst._keyBindings[InputAction.prevItem]))
            {
                _prevInvIndex  = _currInvIndex;
                _currInvIndex += 1;
                if (_currInvIndex > _inventory.Count - 1)
                {
                    _currInvIndex = 0;
                }

                _currInvIndex = Mathf.Clamp(_currInvIndex, 0, _inventory.Count);
            }

            if (_currInvIndex != _prevInvIndex)
            {
                _previous = _current;
                if (_inventory[_currInvIndex].card != null)
                {
                    _current = _inventory[_currInvIndex].card;
                }
                else
                {
                    _current = null;
                }
            }

            if (_current != _previous)
            {
                if (_current != null)
                {
                    transform.GetChild(0).GetComponent <SpriteRenderer>().sprite = _current.EquipmentSprite;
                }
                else
                {
                    transform.GetChild(0).GetComponent <SpriteRenderer>().sprite = null;
                }
            }
            else if (_current == null)
            {
                transform.GetChild(0).GetComponent <SpriteRenderer>().sprite = null;
            }

            UpdateSpriteLookDirection();

            UpdatePlayerHand();
        }
    }