Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
 public PoolEditorView(PoolEditorModel model, ScenePrefabImporterView scenePrefabImporterView) : base(null)
 {
     Initialize(model, scenePrefabImporterView);
 }