Exemple #1
0
        private void Awake()
        {
            GetStartScript = this;

            //Init non-unity systems
            QuestRepository.Init();
            ItemTemplateRepository.Init();

            _questStorage = new DbQuestStorage();
            _itemStorage  = new DbItemStorage();

            //Get objects
            var Player         = GameObject.FindGameObjectWithTag("Player");
            var CameraCenter   = GameObject.FindGameObjectWithTag("CameraCenter").transform;
            var PlayerAnimator = GameObject.FindGameObjectWithTag("PlayerAnimator");

            //Создаем контроллеры
            AnimController   = new AnimController(PlayerAnimator);
            InputController  = new InputController();
            CameraController = new CameraController(Camera.main.GetComponent <CameraModel>(), CameraCenter, Camera.main,
                                                    InputController);
            MovementController = new MovementController(Player.transform, Player.GetComponent <CharController>());
            StaminaController  = new StaminaController(ref Player.GetComponent <StaminaModel>().Stamina,
                                                       Player.GetComponent <StaminaModel>(), InputController, MovementController, AnimController);
            // enemyAttackController = new EnemyAttackController(targetDetector);
            HealthController = new HealthController(ref Player.GetComponent <HealthModel>().health,
                                                    Player.GetComponent <HealthModel>());
            QuestLogController  = new QuestLogController(_questStorage);
            InventoryController = new InventoryController(_itemStorage);

            //Находим необходимые контроллеры которые висят на объектах
            SwordStartController = FindObjectOfType <SwordStartController>();

            #region Добавляем контроллеры в коллекцию

            _allControllers.Add(InputController);
            _allControllers.Add(CameraController);
            _allControllers.Add(MovementController);
            _allControllers.Add(StaminaController);
            _allControllers.Add(AnimController);
            // AllControllers.Add(enemyAttackController);
            _allControllers.Add(HealthController);
            _allControllers.Add(QuestLogController);
            _allControllers.Add(InventoryController);

            #endregion
        }