public SA_SplitView(SA_SplitViewState state) { m_state = state; m_orientation = m_state.Orientation; m_splitterSize = m_state.SplitterSize; b_isFixed = m_state.IsFixed; m_panel1 = new SA_SplitViewPanel(m_state.Panel1ViewState); m_panel2 = new SA_SplitViewPanel(m_state.Panel2ViewState); }
private void OnEnable() { if (m_rootViewState == null) { m_rootViewState = new SA_SplitViewState(); } m_rootView = new SA_SplitView(m_rootViewState); m_rootView.Orientation = Orientation.Horizontal; m_rootView.SplitterSize = 1.0f; m_rootView.IsFixed = true; m_rootView.Panel1.MinSize = 250; m_rootView.Panel1.StartSize = 300; m_rootView.Panel1.SetView(new SA_SimpleGUIView(new GUIContent("view 1"))); if (m_splitView1State == null) { m_splitView1State = new SA_SplitViewState(); } SA_SplitView splitView1 = new SA_SplitView(m_splitView1State); splitView1.Orientation = Orientation.Vertical; splitView1.SplitterSize = 1.0f; splitView1.Panel1.MinSize = 150; splitView1.Panel1.StartSize = 200; splitView1.Panel1.SetView(new SA_SimpleGUIView(new GUIContent("view 3"))); if (m_splitView3State == null) { m_splitView3State = new SA_SplitViewState(); } SA_SplitView splitView3 = new SA_SplitView(m_splitView3State); splitView3.Orientation = Orientation.Vertical; splitView3.SplitterSize = 1.0f; splitView3.Panel1.MinSize = 150; splitView3.Panel1.StartSize = 250; splitView3.Panel1.SetView(new SA_SimpleGUIView(new GUIContent("view 7"))); splitView3.Panel2.MinSize = 150; splitView3.Panel2.SetView(new SA_SimpleGUIView(new GUIContent("view 8"))); if (m_splitView2State == null) { m_splitView2State = new SA_SplitViewState(); } SA_SplitView splitView2 = new SA_SplitView(m_splitView2State); splitView2.Orientation = Orientation.Horizontal; splitView2.SplitterSize = 1.0f; splitView2.Panel1.MinSize = 150; splitView2.Panel1.StartSize = 300; splitView2.Panel1.SetView(splitView3); splitView2.Panel2.MinSize = 150; splitView2.Panel2.SetView(new SA_SimpleGUIView(new GUIContent("view 6"))); splitView1.Panel2.MinSize = 300; splitView1.Panel2.SetView(splitView2); m_rootView.Panel2.MinSize = 300; m_rootView.Panel2.SetView(splitView1); EditorApplication.update += OnEditorUpdate; }