private void Awake() { _interactiveObjects = FindObjectsOfType <InteractiveObject>().ToList(); var displayBonuses = new DisplayBonuses(); foreach (var interactiveObject in _interactiveObjects) { interactiveObject.Initialization(displayBonuses); interactiveObject.OnDestroyChange += InteractiveObjectOnOnDestroyChange; } }
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); }