private void Awake() { _interactiveObject = new ListExecuteObject(); _reference = new Reference(); _player = null; if (PlayerType == PlayerType.Ball) { _player = _reference.PlayerBall; _saveController = new SaveController(_player); } _cameraController = new CameraController(_player.transform, _reference.MainCamera.transform); _interactiveObject.AddExecuteObject(_cameraController); if (Application.platform == RuntimePlatform.WindowsEditor) { _inputController = new InputController(_player, _saveController); _interactiveObject.AddExecuteObject(_inputController); } _displayEndGame = new DisplayEndGame(_reference.EndGame); _displayBonuses = new DisplayBonuses(_reference.Bonuse, _reference.CheckBonus); _displayWin = new DisplayWin(_reference.WinGame); foreach (var o in _interactiveObject) { if (o is BadBonus badBonus) { badBonus.OnCaughtPlayerChange += CaughtPlayer; badBonus.OnCaughtPlayerChange += _displayEndGame.GameOver; _saveController._saveDataList.Add(badBonus); } if (o is DebuffBonus deBuffBonus) { deBuffBonus.DeBuffSpeed += BuffOrDebuffBonus; _saveController._saveDataList.Add(deBuffBonus); } if (o is GoodBonus goodBonus) { goodBonus.OnPointChange += AddBonuse; _saveController._saveDataList.Add(goodBonus); } if (o is CheckBonus checkBonus) { checkBonus.CheckPoint += CheckBonus_CheckPoint; _saveController._saveDataList.Add(checkBonus); } if (o is BuffBonus buffBonus) { buffBonus.BuffSpeed += BuffOrDebuffBonus; _saveController._saveDataList.Add(buffBonus); } } _reference.RestartButton.onClick.AddListener(RestartGame); _reference.RestartButton.gameObject.SetActive(false); _timer = new Timer(); }
public InputController(PlayerBase player, SaveController saveController) { _playerBase = player; _saveDataRepository = new SaveDataRepository(); _saveController = saveController; }