Example #1
0
 private void Update()
 {
     if (_openEditorKey.Value.IsDown())
     {
         if (KKABMX_AdvancedGUI.Enabled)
         {
             KKABMX_AdvancedGUI.Disable();
         }
         else
         {
             var g = GetCurrentVisibleGirl();
             if (g != null)
             {
                 KKABMX_AdvancedGUI.Enable(g.GetComponent <BoneController>());
             }
             else
             {
                 if (StudioAPI.InsideStudio)
                 {
                     Logger.LogMessage("No characters selected. Select a character to edit its bones.");
                 }
                 else
                 {
                     Logger.LogMessage("No characters found to edit");
                 }
             }
         }
     }
 }
Example #2
0
        private void Start()
        {
            Instance = this;
            Logger   = base.Logger;

            gameObject.AddComponent <KKABMX_AdvancedGUI>();

            XyzMode     = Config.Bind("Maker", Metadata.XyzModeName, false, Metadata.XyzModeDesc);
            RaiseLimits = Config.Bind("Maker", Metadata.RaiseLimitsName, false, Metadata.RaiseLimitsDesc);
            TransparentAdvancedWindow = Config.Bind("General", Metadata.AdvTransparencyName, false, Metadata.AdvTransparencyDesc);
            _openEditorKey            = Config.Bind("General", "Open bonemod editor", KeyboardShortcut.Empty, "Opens advanced bonemod window if there is a character that can be edited.");

#if !EC
            if (KKAPI.Studio.StudioAPI.InsideStudio)
            {
                KKAPI.Studio.StudioAPI.GetOrCreateCurrentStateCategory(null)
                .AddControl(new KKAPI.Studio.UI.CurrentStateCategorySwitch("Show Bonemod", c => false))
                .Value.Subscribe(show =>
                {
                    if (show)
                    {
                        KKABMX_AdvancedGUI.Enable(GetCurrentVisibleGirl()?.GetComponent <BoneController>());
                    }
                    else
                    {
                        KKABMX_AdvancedGUI.Disable();
                    }
                });
            }
            else
#endif
            {
                gameObject.AddComponent <KKABMX_GUI>();
                XyzMode.SettingChanged += KKABMX_GUI.OnIsAdvancedModeChanged;
            }

            CharacterApi.RegisterExtraBehaviour <BoneController>(ExtDataGUID);

            Hooks.Init();
        }