コード例 #1
0
ファイル: Inventory.cs プロジェクト: Trist1998/CapstoneGame
    public Inventory(IItemUser user)
    {
        this.user = user;

        items = new List <Item>();
        slots = new Dictionary <string, Item>();
    }
コード例 #2
0
ファイル: Item.cs プロジェクト: Trist1998/CapstoneGame
    public void interact(IItemUser user)
    {
        float dist = Vector3.Distance(user.getHandBone().transform.position, transform.position);

        if (dist < 5)
        {
            user.addItem(this);
        }
    }
コード例 #3
0
    // 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);
        }
    }
コード例 #4
0
    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);
    }
コード例 #5
0
 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();
     }
 }
コード例 #6
0
 public void setTransforms(IItemUser user)
 {
     RecoilPositionTranform = user.getHandBone().transform.parent.parent;
     RecoilRotationTranform = user.getHandBone().transform.parent;
 }
コード例 #7
0
ファイル: Item.cs プロジェクト: Trist1998/CapstoneGame
 public virtual void unequipItem()
 {
     user = null;
 }
コード例 #8
0
ファイル: Item.cs プロジェクト: Trist1998/CapstoneGame
 public virtual void equipItem(IItemUser user)
 {
     this.user = user;
 }
コード例 #9
0
ファイル: SpellCaster.cs プロジェクト: Trist1998/CapstoneGame
 public override void equipItem(IItemUser user)
 {
     recoil.setTransforms(user);
     base.equipItem(user);
 }
コード例 #10
0
ファイル: WorldObject.cs プロジェクト: Trist1998/CapstoneGame
 public virtual void interact(IItemUser user)
 {
 }