private void Awake() { CharacterArm = GetComponent <CharacterArm>(); }
/// <summary> /// 武器チェンジのボタン処理を行う /// </summary> private void WeaponChangeUpdate() { void Reset(bool canChange) { //入れ替えキャンセル _changeWeaponTime = 0; _canChangeWeapon = canChange; ChangeTargetWeapon = null; if (!canChange) { _weaponChangeUI.Hide(); } _weaponChangeUI.SetAmount(0); } if (ChangeTargetWeapon == null) { ChangeTargetWeapon = GetNearestWeapon(_settings.EquipWeaponRange); } if (ChangeTargetWeapon == null) { Reset(false); return; } _weaponChangeUI.Show(); _weaponChangeUI.SetControllerType(InputEventProvider is InputKeyBoard); var screenPos = Camera.main.WorldToScreenPoint(transform.position); ((RectTransform)(_weaponChangeUI.transform)).anchoredPosition = screenPos; //武器切り替え if (!InputEventProvider.GetChangeBody()) { Reset(true); return; } if (!_canChangeWeapon) { return; } if (_changeWeaponTime == 0) { //入れ替え開始 Audio.AudioManager.PlaySE("cursor3"); } _changeWeaponTime += Time.deltaTime; _weaponChangeUI.SetAmount(_changeWeaponTime / _settings.ChangeWeaponWait); if (!(_changeWeaponTime > _settings.ChangeWeaponWait)) { return; } if (!ChangeTargetWeapon.ReserveAttach()) { Reset(false); return; } //入れ替え完了 CharacterArm.Attach(ChangeTargetWeapon); Reset(false); //入れ替え完了音 Audio.AudioManager.PlaySE("arm-action1"); }