public ScenePrefabImporterController(ScenePrefabImporterView view) { PrefabListModel = new ObservableList <PrefabReference>(); View = view; Merger = new PoolingConfigurationMerger( new PoolFactory(), new PoolDataSetFactory(), new DataSetItemFactory(), new DataSetProxyFactory(), new PositionUpdaterFactory(null)); View.Initialize(PrefabListModel); View.EventCreate += ViewOnEventCreate; View.EventCollect += ViewOnEventCollect; View.EventRemovePrefab += ViewOnEventRemovePrefab; view.PoolRootChanged += o => Merger.PoolRoot = o; View.EventImportTargetChanged += SetFinder; var poolRoot = Object.FindObjectOfType <PositionTargetSource>(); Merger.PoolRoot = View.PoolRoot = poolRoot == null ? null : poolRoot.gameObject; SetFinder(View.TargetClass); }
public void Initialize(PoolEditorModel model, ScenePrefabImporterView sceneImportView) { Model = model; _updatersList = new ControllVerticalLayout("CN Box"); var updatersScroll = new ControllScrollView(_updatersList); var selectAllBtn = new ControllButton("Select all", EditorStyles.toolbarButton); selectAllBtn.AddLayoutOptions(GUILayout.MaxWidth(100)); selectAllBtn.EventClick += SelectAllBtn_EventClick; var tollbar = new ControllHorizontalLayout("toolbar", selectAllBtn, new ControllFlexibleSpace()); var updatersLayout = new ControllVerticalLayout("box", updatersScroll, tollbar); var editModeToggle = new ControllToggle("Edit mode", false, "Button"); editModeToggle.EventChanged += EditModeToggle_EventChanged; var proxyUpdateControll = new InternalControllUpdate(new ControllVerticalLayout(updatersLayout, editModeToggle)); proxyUpdateControll.EventBeforeDraw += UpdateUpdaterList; // create tabs view var generalTab = new TabView("Edit mode", proxyUpdateControll); var removeObjectsBtn = new ControllButton("Remove selected object"); removeObjectsBtn.EventClick += () => { EventRemoveObjects?.Invoke(); }; var objectsEdit = new TabView("Edit objects", removeObjectsBtn); var importingButton = new TabView("Scene importing", sceneImportView); var tabsControll = new ControllTabView(generalTab, objectsEdit, importingButton); _mainControll = tabsControll; var createBtn = new ControllButton("Create root"); createBtn.EventClick += () => { EventCreateRoot?.Invoke(); }; _createRootControll = createBtn; }
public override void PostInit() { var model = new PoolEditorModel(); var sceneImporterView = new ScenePrefabImporterView(); var importerController = new ScenePrefabImporterController(sceneImporterView); var view = new PoolEditorView(model, sceneImporterView); Initialize(model, view); MainControll = view; }
public PoolEditorView(PoolEditorModel model, ScenePrefabImporterView scenePrefabImporterView) : base(null) { Initialize(model, scenePrefabImporterView); }