Esempio n. 1
0
        /// <summary>
        /// 武器切り替え
        /// </summary>
        void WeaponChange()
        {
            if (IsDash)
            {
                return;
            }
            if (_weaponType == (int)WEAPON_TYPE.HANDGUN || _weaponType == (int)WEAPON_TYPE.NONE)
            {
                return;
            }
            if (_weaponAnims.Count != 0)
            {
                return;
            }

            if (Input.GetButtonDown(InputName.WEAPON_CHANGE))
            {
                // UI_SP_Weaponに武器チェンしたことを教える
                if (spWeaponUI_ == null)
                {
                    spWeaponUI_ = FindObjectOfType <UI.UI_SP_Weapon>();
                }
                spWeaponUI_.WeaponChange();

                gunL_.Reload();
                gunR_.Reload();


                if (IsSpecialWeapon)
                {
                    //武器チェンジアニメーションスタート
                    Weapon.ChangeAnimationStart("Put");
                    _weaponAnims.Add(Weapon.GetComponent <Animator>());
                }
                else
                {
                    //ハンドガンを下に下げるアニメーションを呼ぶ
                    gunL_.ChangeAnimationStart("Put");
                    gunR_.ChangeAnimationStart("Put");
                    _weaponAnims.Add(gunL_.GetComponent <Animator>());
                    _weaponAnims.Add(gunR_.GetComponent <Animator>());
                }

                StartCoroutine(WeaponChangeUpdate(_weaponType));
                // 武器タイプをハンドガンにして何回も武器チェンできるのを防ぐ
                _weaponType = (int)WEAPON_TYPE.HANDGUN;
            }
        }