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; }
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(); } }