private void DrawChapter(int position) { EditorColorUtils.ResetBackgroundColor(); if (position != activeChapter) { if (EditorGUIUtility.isProSkin) { EditorColorUtils.SetBackgroundColor(Color.gray); } } else if (EditorGUIUtility.isProSkin == false) { EditorColorUtils.SetBackgroundColor(new Color(0.8f, 0.8f, 0.8f)); } GUILayout.BeginHorizontal("box"); { EditorColorUtils.ResetBackgroundColor(); GUILayout.BeginVertical(); { GUILayout.Space(ChapterPadding); DrawChapterContent(position); GUILayout.Space(ChapterPadding); } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); Rect rect = GUILayoutUtility.GetLastRect(); if (rect.Contains(Event.current.mousePosition)) { if (Event.current.GetTypeForControl(GUIUtility.GetControlID(FocusType.Passive)) == EventType.MouseDown) { activeChapter = position; EmitChapterChanged(); Event.current.Use(); } } }
/// <summary> /// Draws the training menu. /// </summary> public void Draw() { IsExtended = isExtended; GUILayout.BeginArea(new Rect(0f, 0f, IsExtended ? ExtendedMenuWidth : MinimizedMenuWidth, ParentWindow.position.size.y)); { if (EditorGUIUtility.isProSkin) { EditorColorUtils.SetBackgroundColor(Color.black); } GUILayout.BeginVertical("box"); { DrawExtendToggle(); EditorColorUtils.ResetBackgroundColor(); Vector2 deltaPosition = GUILayout.BeginScrollView(scrollPosition); { if (IsExtended) { DrawHeader(); DrawChapterList(); AddChapterButton(); } } GUILayout.EndScrollView(); if (changeNamePopup == null || changeNamePopup.IsClosed) { scrollPosition = deltaPosition; } } GUILayout.EndVertical(); } GUILayout.EndArea(); }