예제 #1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (this.weapon != null)
        {
            return;
        }
        IElementalWeapon weapon = collision.GetComponent <IElementalWeapon>();

        if (weapon != null)
        {
            Equip(weapon);
        }
    }
예제 #2
0
    void PullTrigger()
    {
        if (weapon == null)
        {
            return;
        }

        weapon.Shoot();
        if (weapon.IsEmpty)
        {
            weapon.Dequip();
            weapon = null;
        }

        weaponEvent.OnWeaponShot();
    }
예제 #3
0
    void Equip(IElementalWeapon weapon)
    {
        this.weapon = weapon;
        weapon.Equip();

        if (elemental)
        {
            weapon.SwitchElement(elemental.Element);
        }

        pointer.Deactivate();
        gunHolder.localScale              = new Vector2(1, 1);
        weapon.gunTransform.parent        = gunHolder;
        weapon.gunTransform.localPosition = Vector2.zero;
        weapon.gunTransform.localRotation = Quaternion.identity;
        sprite = weapon.gunTransform.GetComponent <SpriteRenderer>();
    }