public virtual void FireWeapon()
    {
        if (isDead == true)
        {
            return;
        }

        if (weaponHandler.NowWeapon != null)
        {
            if (weaponHandler.NowWeapon.hasAmmo() == false)
            {
                UseSpecificItem(ItemType.Bullet);
            }
        }

        if (GameOption.FireStyle == FireStyle.Auto)
        {
            GameObject nearEnemy = MonsterManager.Instance.GetNearestMonsterPos(this.transform.position);

            if (nearEnemy != null && weaponHandler != null)
            {
                Vector3 fireDir = nearEnemy.transform.position - this.transform.position;
                weaponHandler.FireBullet(this.FirePos.position, fireDir);
            }
            else if (nearEnemy == null)
            {
                if (lastMoveDir != Vector3.zero)
                {
                    weaponHandler.FireBullet(this.FirePos.position, lastMoveDir);
                }
                else
                {
                    weaponHandler.FireBullet(this.FirePos.position, Vector3.left);
                }
            }
        }
        else if (GameOption.FireStyle == FireStyle.Manual)
        {
            if (weaponHandler != null)
            {
                Vector3 fd = FireJoyStick.Instance.FireDir;
                if (fd != Vector3.zero)
                {
                    weaponHandler.FireBullet(this.FirePos.position, fd);
                    lastFireDirection = fd;
                }
                else
                {
                    weaponHandler.FireBullet(this.FirePos.position, lastFireDirection);
                }
            }
        }
    }
Exemple #2
0
 protected virtual void FireWeapon()
 {
     if (nowWeapon != null)
     {
         Vector3 fireDir = GamePlayerManager.Instance.player.transform.position - this.transform.position;
         nowWeapon.FireBullet(this.transform.position, fireDir.normalized);
     }
 }
Exemple #3
0
    private void FireNowWeapon()
    {
        if (weaponHandler1 != null)
        {
            Vector3 fireDir = GamePlayerManager.Instance.player.transform.position - this.transform.position;
            weaponHandler1.FireBullet(weaponHandler1.transform.position, fireDir);
        }

        if (weaponHandler2 != null)
        {
            Vector3 fireDir = GamePlayerManager.Instance.player.transform.position - this.transform.position;
            weaponHandler2.FireBullet(weaponHandler2.transform.position, fireDir);
        }
    }