Beispiel #1
0
        private void Awake()
        {
            _interactiveObject = new ListExecuteObject();

            _reference = new Reference();

            PlayerBase player = _reference.PlayerBall;

            _cameraController = new CameraController(_reference.PlayerBall.transform, _reference.MainCamera.transform);
            _interactiveObject.AddExecuteObject(_cameraController);


            if (Application.platform == RuntimePlatform.WindowsEditor)
            {
                _inputController = new InputController(_reference.PlayerBall);
                _interactiveObject.AddExecuteObject(_inputController);
            }

            _displayEndGame = new DisplayEndGame(_reference.EndGame);
            _displayBonuses = new DisplayBonuses(_reference.Bonus);
            _displayWinGame = new DisplayWinGame(_reference.Win);
            foreach (var o in _interactiveObject)
            {
                if (o is BadBonus badBonus)
                {
                    badBonus.OnCaughtPlayerChange += CaughtPlayer;
                    badBonus.OnCaughtPlayerChange += _displayEndGame.GameOver;
                }

                if (o is GoodBonus goodBonus)
                {
                    goodBonus.onPointChange += AddBonus;
                    _bonusGOCount++;
                }
            }

            _reference.RestartButton.onClick.AddListener(RestartGame);
            _reference.RestartButton.gameObject.SetActive(false);
        }
Beispiel #2
0
 public ExecutController(PlayerBase player, CameraController cameraController)
 {
     _interactiveObjects = new ListInteractiveObject();
     _executeObjects     = new ListExecuteObject(player, cameraController);
 }