Example #1
0
        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();
        }
Example #2
0
 public InputController(PlayerBase player, SaveController saveController)
 {
     _playerBase         = player;
     _saveDataRepository = new SaveDataRepository();
     _saveController     = saveController;
 }