Exemplo n.º 1
0
        private void Awake()
        {
            _interactiveObjects = FindObjectsOfType <InteractiveObject>().ToList();
            var displayBonuses = new DisplayBonuses();

            foreach (var interactiveObject in _interactiveObjects)
            {
                interactiveObject.Initialization(displayBonuses);
                interactiveObject.OnDestroyChange += InteractiveObjectOnOnDestroyChange;
            }
        }
Exemplo n.º 2
0
        private void Awake()
        {
            _interactiveObject = new ListExecuteObject();

            var _refernce = new Reference();

            PlayerBase player = null;

            if (PlayerType == PlayerType.Ball)
            {
                player = _refernce.PlayerBall;
            }

            _cameraController = new CameraController(player.transform, _refernce.MainCamera.transform);
            _interactiveObject.AddExecuteObject(_cameraController);

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

            _displayEndGame = new DisplayEndGame(_refernce.EndGame, _refernce.RestartButton);
            _displayBonuses = new DisplayBonuses(_refernce.Bonuse);
            _displayVictory = new DisplayVictory(_refernce.Victory, _refernce.RestartButton);

            foreach (var obj in _interactiveObject)
            {
                if (obj is BadBonus badBonus)
                {
                    badBonus.OnCaughtPlayerChange += CaughtPlayer;
                    badBonus.OnCaughtPlayerChange += _displayEndGame.GameOver;
                }
                if (obj is GoodBonus goodBonus)
                {
                    goodBonus.OnPointChange += AddBonus;
                }
                if (obj is TrapBonus trapBonus)
                {
                    trapBonus.OnPoint += AddForce;
                }
                if (obj is VictoryPosition victoryPosition)
                {
                    CaughtPlayer();
                    _displayVictory.GameOver();
                }
            }

            _refernce.RestartButton.onClick.AddListener(RestartGame);
            _refernce.RestartButton.gameObject.SetActive(false);
        }