1010using COM3D2 . ButtJiggle . UI ;
1111using UniverseLib . UI . Styles ;
1212using CM3D2 . UGUI . Resources ;
13+ using CM3D2 . UGUI . Panels ;
1314
1415namespace COM3D2 . ButtJiggle
1516{
@@ -77,19 +78,18 @@ internal void ToggleUI()
7778 }
7879 }
7980
80- internal class PluginPanel : SkinnedPanelBase
81+ internal class PluginPanel : CM3D2Panel
8182 {
8283 public PluginPanel ( UIBase owner ) : base ( owner ) { }
8384
8485 public override string Name => PluginInfo . PLUGIN_NAME ;
85- public override int MinWidth => 400 ;
86- public override int MinHeight => 500 ;
86+ public override Vector2 PreferredSize => base . PreferredSize + new Vector2 ( 10 , 10 ) ;
8787 public override Vector2 DefaultAnchorMin => new ( 1f , 0.5f ) ;
8888 public override Vector2 DefaultAnchorMax => DefaultAnchorMin ;
89- public override Vector2 DefaultPosition => new Vector2 ( - MinWidth - 50 , MinHeight / 2 ) ;
89+ public override Vector2 DefaultPosition => new Vector2 ( - PreferredSize . x - 50 , PreferredSize . y / 2 ) ;
9090 public override bool CanDragAndResize => true ;
9191
92- public override IReadOnlyUISkin Skin => Styles . StandardSkin ;
92+ private CanvasGroup globalOverrideCanvasGroup ;
9393
9494 protected override void OnClosePanelClicked ( )
9595 {
@@ -115,34 +115,41 @@ protected void SafeConstructPanelContent()
115115
116116 Create . BoolControl ( ContentRoot , "DebugMode" , "Debug Mode" , refGet : ( ) => ref JiggleBoneHelper . DebugMode ) ;
117117
118- var overrideColumn = Create . UIObject ( ContentRoot , "Overrides" ) ;
119- UIFactory . SetLayoutGroup < VerticalLayoutGroup > ( overrideColumn , false , false , true , true ) ; // .CreateVerticalGroup(ContentRoot, "overrides", false, false, true, true, childAlignment: TextAnchor.UpperLeft);
118+ var verticalFrame = Create . VerticalFrame ( ContentRoot , "Overrides" ) ;
119+ var overrideColumn = verticalFrame . ContentRoot ;
120+ //UIFactory.SetLayoutGroup<VerticalLayoutGroup>(overrideColumn, false, false, true, true);
120121 UIFactory . SetLayoutElement ( overrideColumn , minWidth : 300 , minHeight : 300 ) ;
121122
122- //UIFactory.SetLayoutElement(slotDropdownRoot, minWidth: 300, minHeight: 25, preferredWidth: 300, preferredHeight: 25);
123+ Create . BoolControl ( overrideColumn , "UseGlobalOverride" , "Use Global Override" ,
124+ refGet : ( ) =>
125+ {
126+ ref var value = ref JiggleBoneHelper . UseGlobalOverride ;
127+ globalOverrideCanvasGroup . interactable = value ;
128+ return ref value ;
129+ } ,
130+ onSet : OnGlobalOverrideUIUpdated ,
131+ listenForUpdate : ButtJiggle . Instance . OnGlobalOverrideUpdated
132+ ) ;
133+
134+
135+ var globalOverrideGroup = Create . VerticalGroup ( overrideColumn , "GlobalOverrideCanvasGroup" ) ;
136+ globalOverrideCanvasGroup = UIFactory . SetCanvasGroup ( globalOverrideGroup , interactable : JiggleBoneHelper . UseGlobalOverride ) ;
123137 using ( Create . LayoutContext ( flexibleWidth : 1 ) )
124138 {
125- Create . BoolControl ( overrideColumn , "UseGlobalOverride" , "Use Global Override" ,
126- refGet : ( ) => ref JiggleBoneHelper . UseGlobalOverride ,
127- onSet : OnGlobalOverrideUIUpdated ,
128- listenForUpdate : ButtJiggle . Instance . OnGlobalOverrideUpdated
129- ) ;
130-
131139 List < GameObject > slotColumns = null ;
132140
133- var slotDropdown = Create . Dropdown ( overrideColumn , "SlotSelectDropdown" ,
134- ( slotIndex ) =>
141+ var slotDropdown = Create . Dropdown ( globalOverrideGroup , "SlotSelectDropdown" ) ;
142+ slotDropdown . OnValueChanged += ( slotIndex ) =>
143+ {
144+ for ( int i = 0 ; i < slotColumns . Count ; i ++ )
135145 {
136- for ( int i = 0 ; i < slotColumns . Count ; i ++ )
137- {
138- slotColumns [ i ] . SetActive ( i == slotIndex ) ;
139- }
146+ slotColumns [ i ] . SetActive ( i == slotIndex ) ;
140147 }
141- ) ;
148+ } ;
142149
143150 slotColumns = new List < GameObject > ( ) {
144- CreateJiggleBoneOverrideColumn ( overrideColumn , "Hips" , ( ) => ref JiggleBoneHelper . GlobalOverride . HipOverride , OnGlobalOverrideUIUpdated , ButtJiggle . Instance . OnGlobalOverrideUpdated ) ,
145- CreateJiggleBoneOverrideColumn ( overrideColumn , "Pelvis" , ( ) => ref JiggleBoneHelper . GlobalOverride . PelvisOverride , OnGlobalOverrideUIUpdated , ButtJiggle . Instance . OnGlobalOverrideUpdated ) ,
151+ CreateJiggleBoneOverrideColumn ( globalOverrideGroup , "Hips" , ( ) => ref JiggleBoneHelper . GlobalOverride . HipOverride , OnGlobalOverrideUIUpdated , ButtJiggle . Instance . OnGlobalOverrideUpdated ) ,
152+ CreateJiggleBoneOverrideColumn ( globalOverrideGroup , "Pelvis" , ( ) => ref JiggleBoneHelper . GlobalOverride . PelvisOverride , OnGlobalOverrideUIUpdated , ButtJiggle . Instance . OnGlobalOverrideUpdated ) ,
146153 } ;
147154
148155 int i = 0 ;
@@ -168,9 +175,7 @@ private GameObject CreateJiggleBoneOverrideColumn(
168175 System . Action onSet ,
169176 UnityEvent listen = null )
170177 {
171- //var column = UIFactory.CreateVerticalGroup(parent, name, false, false, true, true, childAlignment: TextAnchor.UpperLeft);
172- var column = Create . UIObject ( parent , name ) ;
173- UIFactory . SetLayoutGroup < VerticalLayoutGroup > ( column , false , false , true , true ) ; // .CreateVerticalGroup(ContentRoot, "overrides", false, false, true, true, childAlignment: TextAnchor.UpperLeft);
178+ var column = Create . VerticalGroup ( parent , name ) ;
174179 using ( Create . LayoutContext ( flexibleWidth : 1 ) )
175180 {
176181 Create . OverrideProperty ( column , "Blend Value (auto)" , refGet : ( ) => ref refGet ( ) . BlendValue , onSet , listen ) ;
@@ -194,6 +199,7 @@ private GameObject CreateJiggleBoneOverrideColumn(
194199 private void OnGlobalOverrideUIUpdated ( )
195200 {
196201 ButtJiggle . ConfigSaveGlobalOverride ( ) ;
202+ globalOverrideCanvasGroup . interactable = JiggleBoneHelper . UseGlobalOverride ;
197203 }
198204
199205 // override other methods as desired
0 commit comments