public override void OnApplyUpdate(Player player, float t) { base.OnApplyUpdate(player, t); if (!_slide) { _slide = FindObjectOfType <DOFSlide>(); } var playerZRate = player.Body.localPosition.z / GimmickManager.MoveZ; var focusRate = _slide.Value; var focusGrace = GameMaster.Instance.GameBalanceData.FocusGrace; var isFocus = Mathf.Abs(playerZRate - focusRate) <= focusGrace; if (IsToFar == Input.GetMouseButton(0) && isFocus) { _slide.Value = playerZRate; } //プレイヤーのbodyのZを変更 var duration = GameMaster.Instance.GameBalanceData.FocusDuration; var ratio = t / duration; if (!IsToFar) { ratio = 1 - ratio; } player.Body.localPosition = new Vector3(0, 0, ratio * _moveZ); player.SetScaleFromRatio(1 - ratio); }
// Use this for initialization public void Init(Player player) { _targetPlayer = player; _gameBalance = GameMaster.Instance.GameBalanceData; //チェックの速さの設定 _checkSpeed = 1 / _gameBalance.CheckWait; //カメラのサイズを設定 _wideCameraSize = new Vector2(Screen.width, Screen.height) * _gameBalance.CameraWideSizeRatio; _smallCameraSize = _wideCameraSize * _gameBalance.CameraSmallSizeRatio; //カメラ用のオブジェクトの設定 CameraObject.Init(); CameraObject.SetCameraSize(_wideCameraSize); CameraObject.UpdateCameraPosition(Camera.main.WorldToScreenPoint(_targetPlayer.transform.position)); GameMaster.Instance.OnGameStart += () => { Debug.Log("a"); Cursor.visible = false; _isGameStart = true; _playTime = 0; Score = 0; _scoreWithoutCombo = 0; _scoreMax = 0; ComboMax = 0; }; GameMaster.Instance.OnGameClear += () => { Cursor.visible = true; _isGameStart = false; CameraObject.CameraColorType = CameraColorType.Normal; }; GameMaster.Instance.OnGameOver += () => { Cursor.visible = true; _isGameStart = false; CameraObject.CameraColorType = CameraColorType.Normal; }; _combo = 0; _dofSlide = FindObjectOfType <DOFSlide>(); }