/
GeekNerd
/
ServerModelingProject
Обзор
Документация
Войти
/
GeekNerd
/
ServerModelingProject
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Assets/Scripts/Installers/RoomBuildingPartInstallers/UIInstaller.cs
78 строк
3 KB
Gorney-Alex
Init
30 май 2026, 19:05
30 май 2026, 19:05
3cdcc49
Код
Авторство
О чём код?
using DataClasses; using LoadServices; using RoomBuilding; using UI_Logic.Buttons; using UI_Logic.Buttons.Controllers; using UI_Logic.RoomBuildingPart; using UI_Logic.RoomBuildingPart.Buttons.Controllers; using UnityEngine; using Zenject; namespace RoomBuildingPartInstallers { public class UIInstaller : MonoInstaller { public override void InstallBindings() { InstallSettings(); InstallMenuViews(); InstallServices(); InstallOptimizationServices(); InstallButtonViews(); InstallButtonControllers(); Debug.Log("UI is installed"); } private void InstallSettings() { RoomBuildingSettings settings = JSONLoader.LoadJsonFromResources<RoomBuildingSettings>("Data/BaseRoomBuildingData"); if (settings == null) { settings = new RoomBuildingSettings(); Debug.LogWarning("[RoomBuilding] BaseRoomBuildingData is missing. Using default RoomBuildingSettings."); } Container.Bind<RoomBuildingSettings>().FromInstance(settings).AsSingle(); } private void InstallServices() { Container.Bind<PolygonValidator>().AsSingle(); Container.BindInterfacesAndSelfTo<PolygonDrawingService>().AsSingle(); Container.BindInterfacesAndSelfTo<RoomMouseInputHandler>().FromNewComponentOnNewGameObject().AsSingle().NonLazy(); Container.BindInterfacesAndSelfTo<MapViewController>().FromComponentInHierarchy().AsSingle(); } private void InstallOptimizationServices() { } private void InstallMenuViews() { Container.BindInterfacesAndSelfTo<RoomBuildingStatusView>().FromComponentInHierarchy().AsSingle(); Container.BindInterfacesAndSelfTo<MapContentView>().FromComponentInHierarchy().AsSingle(); Container.BindInterfacesAndSelfTo<UIDotGridView>().FromComponentInHierarchy().AsSingle(); Container.BindInterfacesAndSelfTo<UIPolygonPreviewView>().FromComponentInHierarchy().AsSingle(); Container.BindInterfacesAndSelfTo<UIColumnPreviewView>().FromComponentInHierarchy().AsSingle(); } private void InstallButtonViews() { Container.BindInterfacesAndSelfTo<DoneButtonView>().FromComponentInHierarchy().AsSingle(); Container.BindInterfacesAndSelfTo<MainMenuButtonView>().FromComponentInHierarchy().AsSingle(); Container.BindInterfacesAndSelfTo<ExitButtonView>().FromComponentInHierarchy().AsSingle(); } private void InstallButtonControllers() { Container.BindInterfacesAndSelfTo<ExitButtonController>().AsSingle(); Container.BindInterfacesAndSelfTo<MainMenuButtonController>().AsSingle(); Container.BindInterfacesAndSelfTo<DoneButtonController>().AsSingle(); } } }