public void Init(object parentContainer) { ParentContainer = parentContainer; Current = this; m_func = sceneView => OnSceneGUI(); SceneView.duringSceneGui += m_func; }
public void OnGUI(float width) { if (!RoomInitialized) { return; } Current = this; // how many levels does the room have using (new GUILayout.HorizontalScope()) { var levels = EditorGUILayout.IntField("Levels", Count); if (GUILayout.Button("+", GUILayout.Width(50))) { levels++; } if (GUILayout.Button("-", GUILayout.Width(50))) { levels--; } ChangeLevelCount(levels); GUILayout.Space(15.0f); if (GUILayout.Button("^", GUILayout.Width(25))) { MoveLevelUp(); } if (GUILayout.Button("v", GUILayout.Width(25))) { MoveLevelDown(); } if (GUILayout.Button("x", GUILayout.Width(25))) { DeleteLevel(); } } using (new GUILayout.HorizontalScope()) { EditorGUILayout.LabelField($"Current Platform {CurrentLevel}", GUILayout.Width(125.0f)); for (var i = 0; i < Count; ++i) { if (ActivityButton(CurrentLevel == i, i.ToString())) { SetCurrentLevel(i); } } } }
void OnSceneGUI() { Current = this; var e = Event.current; if (e.shift && e.type == EventType.ScrollWheel) { e.Use(); if (e.delta.y >= 1) { SetCurrentLevel(CurrentLevel + 1); } else if (e.delta.y <= -1) { SetCurrentLevel(CurrentLevel - 1); } Repaint(); } }
public void Terminate() { Current = null; SceneView.duringSceneGui -= m_func; }