private void Awake() { m_editorsMap = IOC.Resolve <IEditorsMap>(); m_editor = IOC.Resolve <IRuntimeEditor>(); m_editor.Object.ComponentAdded += OnComponentAdded; GameObject[] selectedObjects = m_editor.Selection.gameObjects; InputName.text = GetObjectName(selectedObjects); InputName.onEndEdit.AddListener(OnEndEditName); m_selectedGameObjects = m_editor.Selection.gameObjects.Select(go => new GameObjectWrapper(go)).ToArray(); IsActiveEditor.Init(m_selectedGameObjects, Strong.PropertyInfo((GameObjectWrapper x) => x.IsActive), string.Empty); m_editor.IsBusy = true; LayersEditor.LoadLayers(layersInfo => { m_editor.IsBusy = false; List <RangeOptions.Option> layers = new List <RangeOptions.Option>(); foreach (LayersInfo.Layer layer in layersInfo.Layers) { if (!string.IsNullOrEmpty(layer.Name)) { layers.Add(new RangeOptions.Option(string.Format("{0}: {1}", layer.Index, layer.Name), layer.Index)); } } LayerEditor.Options = layers.ToArray(); LayerEditor.Init(m_editor.Selection.gameObjects, Strong.PropertyInfo((GameObject x) => x.layer), string.Empty); List <List <Component> > groups = GetComponentGroups(selectedObjects); for (int i = 0; i < groups.Count; ++i) { List <Component> group = groups[i]; CreateComponentEditor(group); } UnityEventHelper.AddListener(EditLayersButton, btn => btn.onClick, OnEditLayersClick); }); }
private void OnEditLayersClick() { LayersEditor.BeginEdit(); }