public Inventory(IItemUser user) { this.user = user; items = new List <Item>(); slots = new Dictionary <string, Item>(); }
public void interact(IItemUser user) { float dist = Vector3.Distance(user.getHandBone().transform.position, transform.position); if (dist < 5) { user.addItem(this); } }
// Update is called once per frame void FixedUpdate() { healthContent.fillAmount = obj.hitPoints / obj.maxHitPoints; IItemUser user = obj.GetComponent <IItemUser>(); if (user != null && user.getEquippedItem() != null) { energy.SetActive(true); star.SetActive(true); energyContent.fillAmount = user.getEquippedItem().getAmmoPercentage(); starContent.fillAmount = user.getEquippedItem().getComboPercentage(); } else { energy.SetActive(false); star.SetActive(false); } }
public override void affectObject() { if (shotForward) { return; } if (!item.isEquipped()) { endEffect(); return; } IItemUser player = item.user; rigid.transform.rotation = rot; Vector3 flyTo = player.getItemAimPosition() + player.getItemAimDirection() * distance; Vector3 heading = flyTo - getPosition(); Vector3 force = heading / Time.fixedDeltaTime * 0.03f; rigid.velocity = Vector3.zero; rigid.AddForce(force, ForceMode.VelocityChange); }
public override void interact(IItemUser user) { if (user.getEquippedItem()?.GetComponent <AbstractWeaponEffect>()?.getName() == weapon.GetComponent <AbstractWeaponEffect>().getName()) { if (manager.getScore() < costOfAmmo) { return; } user.getEquippedItem().GetComponent <SpellCaster>().addReserveAmmo(amountOfAmmo); manager.changeScore(-1 * costOfAmmo); } else { if (manager.getScore() < costOfWeapon) { return; } user.addItem(weapon); manager.changeScore(-1 * costOfWeapon); instantiateNewWeapon(); } }
public void setTransforms(IItemUser user) { RecoilPositionTranform = user.getHandBone().transform.parent.parent; RecoilRotationTranform = user.getHandBone().transform.parent; }
public virtual void unequipItem() { user = null; }
public virtual void equipItem(IItemUser user) { this.user = user; }
public override void equipItem(IItemUser user) { recoil.setTransforms(user); base.equipItem(user); }
public virtual void interact(IItemUser user) { }