/// <summary> /// クリップの開始時に呼ばれる /// </summary> /// <param name="time"></param> public void OnControlTimeStart() { this.sceneInformationList = GameObject.Find("SceneInformationList").GetComponent <SceneInformationList>().sceneInformationList; this.sceneInformationList.OrderBy(i => i.EndTime); this.sceneInformationList.Add(null); sceneDisplayManager = new SceneDisplayManager(); }
/// <summary> /// Inspectorの拡張 /// </summary> public override void OnInspectorGUI() { serializedObject.Update(); var _sceneInformationList = _listTarget.sceneInformationList; GUI.backgroundColor = defaultColor; if (!_doneUpdateSceneList) { _isOpenIndivisualInformation = new bool[_sceneInformationList.Count]; _doneUpdateSceneList = true; } _isOpenMainList = EditorGUILayout.Foldout(_isOpenMainList, "SceneList"); if (_isOpenMainList) { EditorGUI.indentLevel++; if (GUILayout.Button("AllOpen")) { _isOpenIndivisualInformation = _isOpenIndivisualInformation.Select(b => true).ToArray(); } if (GUILayout.Button("AllClose")) { _isOpenIndivisualInformation = _isOpenIndivisualInformation.Select(b => false).ToArray(); } for (int i = 0; i < _sceneInformationList.Count; i++) { EditorGUI.indentLevel++; _isOpenIndivisualInformation[i] = EditorGUILayout.Foldout(_isOpenIndivisualInformation[i], "Scene_" + (i + 1)); if (_isOpenIndivisualInformation[i]) { FetchPropertyFromSceneInformation(_sceneInformationList[i], i); if (GUILayout.Button("Preview")) { var _sceneDisplayManager = new SceneDisplayManager(); _sceneDisplayManager.PreviewDisplayScene(_sceneInformationList[i]); } GUI.backgroundColor = Color.red; if (GUILayout.Button("Remove")) { _sceneInformationList.RemoveAt(i); _doneUpdateSceneList = false; } GUI.backgroundColor = defaultColor; } EditorGUI.indentLevel--; } GUI.backgroundColor = Color.gray; if (GUILayout.Button("Add")) { _sceneInformationList.Add(new SceneInformation(0, 0, "")); SceneNumberProperty.InsertArrayElementAtIndex(SceneNumberProperty.arraySize); _doneUpdateSceneList = false; } GUILayout.Space(10); if (GUILayout.Button("Clear")) { _sceneInformationList.Clear(); } } serializedObject.ApplyModifiedProperties(); }