Пример #1
0
        private void RefreshParametersView(ConstructorInfo constructor)
        {
            var parameters = constructor.GetParameters();

            var parametersProperties = new List <ControllGeneralProperty>();

            var parameterIndex = -1;

            foreach (var parameterInfo in parameters)
            {
                parameterIndex++;

                object defaultValue = GetDefaulValueParameter(parameterInfo);

                if (IsIgnoreParameter(parameterInfo, ref defaultValue))
                {
                    CurrentConstructorParams.Params[parameterIndex] = defaultValue;
                    continue;
                }

                CurrentConstructorParams.Params[parameterIndex] = defaultValue;

                var parameterProp = new ControllGeneralProperty(parameterInfo.ParameterType,
                                                                defaultValue, GetParameterName(parameterInfo));

                var index = parameterIndex;
                parameterProp.EventChange += o => CurrentConstructorParams.Params[index] = o;

                parametersProperties.Add(parameterProp);
            }

            _mainLayout = new ControllVerticalLayout(parametersProperties.ToArray());
        }
Пример #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;
        }