net.dreditor.ui 0.0.0-stage → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AnimatorMenuGroup.cs +299 -0
- package/AnimatorMenuGroup.cs.meta +11 -0
- package/Buttons/AnyKey.cs +74 -0
- package/Buttons/AnyKey.cs.meta +11 -0
- package/Buttons/ContinueLoadGameButton.cs +73 -0
- package/Buttons/ContinueLoadGameButton.cs.meta +11 -0
- package/Buttons/ContinueSelectIfDataLoaded.cs +68 -0
- package/Buttons/ContinueSelectIfDataLoaded.cs.meta +11 -0
- package/Buttons/DREButton.cs +75 -0
- package/Buttons/DREButton.cs.meta +11 -0
- package/Buttons/EvaluateLoadGameButton.cs +156 -0
- package/Buttons/EvaluateLoadGameButton.cs.meta +11 -0
- package/Buttons/MainMenuButton.cs +67 -0
- package/Buttons/MainMenuButton.cs.meta +11 -0
- package/Buttons/MoveToLoadedScene.cs +32 -0
- package/Buttons/MoveToLoadedScene.cs.meta +11 -0
- package/Buttons/MoveToScene.cs +81 -0
- package/Buttons/MoveToScene.cs.meta +11 -0
- package/Buttons/NewGameButton.cs +42 -0
- package/Buttons/NewGameButton.cs.meta +11 -0
- package/Buttons/QuitButton.cs +19 -0
- package/Buttons/QuitButton.cs.meta +11 -0
- package/Buttons/StartGameButton.cs +71 -0
- package/Buttons/StartGameButton.cs.meta +11 -0
- package/Buttons.meta +8 -0
- package/CarouselBase.cs +152 -0
- package/CarouselBase.cs.meta +2 -0
- package/CarouselComponent.cs +36 -0
- package/CarouselComponent.cs.meta +2 -0
- package/CarouselListExtentions.cs +50 -0
- package/CarouselListExtentions.cs.meta +11 -0
- package/CarouselSelectTweening.cs +253 -0
- package/CarouselSelectTweening.cs.meta +11 -0
- package/ChangeSpriteOnIndex.cs +67 -0
- package/ChangeSpriteOnIndex.cs.meta +11 -0
- package/DREditor.UI.asmdef +28 -0
- package/DREditor.UI.asmdef.meta +7 -0
- package/IGridIconSlot.cs +22 -0
- package/IGridIconSlot.cs.meta +11 -0
- package/ITrackableIndex.cs +16 -0
- package/ITrackableIndex.cs.meta +2 -0
- package/IUnlockableUIOption.cs +16 -0
- package/IUnlockableUIOption.cs.meta +11 -0
- package/IndexSelector.cs +188 -0
- package/IndexSelector.cs.meta +2 -0
- package/LayeredFocusCarousel.cs +36 -0
- package/LayeredFocusCarousel.cs.meta +2 -0
- package/MenuGroup.cs +295 -0
- package/MenuGroup.cs.meta +11 -0
- package/MenuGroupBase.cs +233 -0
- package/MenuGroupBase.cs.meta +11 -0
- package/MenuModifier.cs +45 -0
- package/MenuModifier.cs.meta +11 -0
- package/MenuState.cs +69 -0
- package/MenuState.cs.meta +11 -0
- package/Options/ChangerUIList.cs +55 -0
- package/Options/ChangerUIList.cs.meta +11 -0
- package/Options/DifficultyGroup.cs +225 -0
- package/Options/DifficultyGroup.cs.meta +11 -0
- package/Options/Editor/OptionBuilder.cs +149 -0
- package/Options/Editor/OptionBuilder.cs.meta +11 -0
- package/Options/Editor/OptionBuilderEditor.cs +325 -0
- package/Options/Editor/OptionBuilderEditor.cs.meta +11 -0
- package/Options/Editor/OptionInstance.cs +23 -0
- package/Options/Editor/OptionInstance.cs.meta +11 -0
- package/Options/Editor/OptionType.cs +23 -0
- package/Options/Editor/OptionType.cs.meta +11 -0
- package/Options/Editor.meta +8 -0
- package/Options/NavigationGroup.cs +36 -0
- package/Options/NavigationGroup.cs.meta +11 -0
- package/Options/NavigationSelect.cs +37 -0
- package/Options/NavigationSelect.cs.meta +11 -0
- package/Options/OptionToggleUI.cs +253 -0
- package/Options/OptionToggleUI.cs.meta +11 -0
- package/Options/OptionUIGroup.cs +303 -0
- package/Options/OptionUIGroup.cs.meta +11 -0
- package/Options/OptionUIGroupBase.cs +41 -0
- package/Options/OptionUIGroupBase.cs.meta +11 -0
- package/Options/OptionUIManager.cs +69 -0
- package/Options/OptionUIManager.cs.meta +11 -0
- package/Options/SelectableOption.cs +63 -0
- package/Options/SelectableOption.cs.meta +11 -0
- package/Options/SliderOption.cs +48 -0
- package/Options/SliderOption.cs.meta +11 -0
- package/Options/SliderUIOption.cs +99 -0
- package/Options/SliderUIOption.cs.meta +11 -0
- package/Options/ToggleOption.cs +15 -0
- package/Options/ToggleOption.cs.meta +11 -0
- package/Options.meta +8 -0
- package/PopUpModifier.cs +127 -0
- package/PopUpModifier.cs.meta +11 -0
- package/RegulationRules/IRegulation.cs +37 -0
- package/RegulationRules/IRegulation.cs.meta +11 -0
- package/RegulationRules/IRegulationsUIRepository.cs +19 -0
- package/RegulationRules/IRegulationsUIRepository.cs.meta +11 -0
- package/RegulationRules/Regulation.cs +85 -0
- package/RegulationRules/Regulation.cs.meta +11 -0
- package/RegulationRules/RegulationAnimations/RegulationAnimator.controller +220 -0
- package/RegulationRules/RegulationAnimations/RegulationAnimator.controller.meta +8 -0
- package/RegulationRules/RegulationAnimations/ShowRegulation.anim +295 -0
- package/RegulationRules/RegulationAnimations/ShowRegulation.anim.meta +8 -0
- package/RegulationRules/RegulationAnimations.meta +8 -0
- package/RegulationRules/RegulationDisplayer.cs +42 -0
- package/RegulationRules/RegulationDisplayer.cs.meta +2 -0
- package/RegulationRules/RegulationSaveHandler.cs +96 -0
- package/RegulationRules/RegulationSaveHandler.cs.meta +11 -0
- package/RegulationRules/RegulationsDatabase.cs +53 -0
- package/RegulationRules/RegulationsDatabase.cs.meta +11 -0
- package/RegulationRules/RegulationsUI.cs +238 -0
- package/RegulationRules/RegulationsUI.cs.meta +11 -0
- package/RegulationRules/RegulationsUIBase.cs +108 -0
- package/RegulationRules/RegulationsUIBase.cs.meta +2 -0
- package/RegulationRules/RegulationsUtility.cs +151 -0
- package/RegulationRules/RegulationsUtility.cs.meta +11 -0
- package/RegulationRules.meta +8 -0
- package/RewireUINavigation.cs +226 -0
- package/RewireUINavigation.cs.meta +11 -0
- package/Samples/3D_UI_Canvas_Shell.prefab +709 -0
- package/Samples/3D_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/3D_UI_Canvas_Template.prefab +365 -0
- package/Samples/3D_UI_Canvas_Template.prefab.meta +7 -0
- package/Samples/Animations/3D/ConfirmSelection.anim +1313 -0
- package/Samples/Animations/3D/ConfirmSelection.anim.meta +8 -0
- package/Samples/Animations/3D/DeSelected.anim +431 -0
- package/Samples/Animations/3D/DeSelected.anim.meta +8 -0
- package/Samples/Animations/3D/Disappear.anim +536 -0
- package/Samples/Animations/3D/Disappear.anim.meta +8 -0
- package/Samples/Animations/3D/IsSelected.anim +431 -0
- package/Samples/Animations/3D/IsSelected.anim.meta +8 -0
- package/Samples/Animations/3D/ItemFade.anim +161 -0
- package/Samples/Animations/3D/ItemFade.anim.meta +8 -0
- package/Samples/Animations/3D/ItemIcon.anim +334 -0
- package/Samples/Animations/3D/ItemIcon.anim.meta +8 -0
- package/Samples/Animations/3D/Reticle.anim +173 -0
- package/Samples/Animations/3D/Reticle.anim.meta +8 -0
- package/Samples/Animations/3D/Reticle.controller +2574 -0
- package/Samples/Animations/3D/Reticle.controller.meta +8 -0
- package/Samples/Animations/3D/SBFadeIn.anim +311 -0
- package/Samples/Animations/3D/SBFadeIn.anim.meta +8 -0
- package/Samples/Animations/3D/SBLoop.anim +467 -0
- package/Samples/Animations/3D/SBLoop.anim.meta +8 -0
- package/Samples/Animations/3D.meta +8 -0
- package/Samples/Animations/Dialogue/Choices/Choice.controller +666 -0
- package/Samples/Animations/Dialogue/Choices/Choice.controller.meta +8 -0
- package/Samples/Animations/Dialogue/Choices/Choices.controller +304 -0
- package/Samples/Animations/Dialogue/Choices/Choices.controller.meta +8 -0
- package/Samples/Animations/Dialogue/Choices/ShowChoice.anim +116 -0
- package/Samples/Animations/Dialogue/Choices/ShowChoice.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Choices.meta +8 -0
- package/Samples/Animations/Dialogue/Dialogue UI/Dialogue UI.controller +762 -0
- package/Samples/Animations/Dialogue/Dialogue UI/Dialogue UI.controller.meta +8 -0
- package/Samples/Animations/Dialogue/Dialogue UI/HideBox.anim +1512 -0
- package/Samples/Animations/Dialogue/Dialogue UI/HideBox.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Dialogue UI/MoveBackDialogue.anim +692 -0
- package/Samples/Animations/Dialogue/Dialogue UI/MoveBackDialogue.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Dialogue UI/MoveDialogue.anim +1710 -0
- package/Samples/Animations/Dialogue/Dialogue UI/MoveDialogue.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Dialogue UI/ShowDialogue.anim +1583 -0
- package/Samples/Animations/Dialogue/Dialogue UI/ShowDialogue.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Dialogue UI/ShowInstant.anim +962 -0
- package/Samples/Animations/Dialogue/Dialogue UI/ShowInstant.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Dialogue UI.meta +8 -0
- package/Samples/Animations/Dialogue/Protag WIndow/HideProtag.anim +179 -0
- package/Samples/Animations/Dialogue/Protag WIndow/HideProtag.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Protag WIndow/ProtagUIWindow.controller +214 -0
- package/Samples/Animations/Dialogue/Protag WIndow/ProtagUIWindow.controller.meta +8 -0
- package/Samples/Animations/Dialogue/Protag WIndow/ShowProtag.anim +179 -0
- package/Samples/Animations/Dialogue/Protag WIndow/ShowProtag.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Protag WIndow.meta +8 -0
- package/Samples/Animations/Dialogue/Show Item/HideItem.anim +116 -0
- package/Samples/Animations/Dialogue/Show Item/HideItem.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Show Item/Item Image.controller +130 -0
- package/Samples/Animations/Dialogue/Show Item/Item Image.controller.meta +8 -0
- package/Samples/Animations/Dialogue/Show Item/ShowItem.anim +116 -0
- package/Samples/Animations/Dialogue/Show Item/ShowItem.anim.meta +8 -0
- package/Samples/Animations/Dialogue/Show Item.meta +8 -0
- package/Samples/Animations/Dialogue.meta +8 -0
- package/Samples/Animations/Investigation/BulletGet/Bullet Get Canvas.controller +410 -0
- package/Samples/Animations/Investigation/BulletGet/Bullet Get Canvas.controller.meta +8 -0
- package/Samples/Animations/Investigation/BulletGet/ShowBulletPicture.anim +242 -0
- package/Samples/Animations/Investigation/BulletGet/ShowBulletPicture.anim.meta +8 -0
- package/Samples/Animations/Investigation/BulletGet/ShowGetBullet.anim +809 -0
- package/Samples/Animations/Investigation/BulletGet/ShowGetBullet.anim.meta +8 -0
- package/Samples/Animations/Investigation/BulletGet.meta +8 -0
- package/Samples/Animations/Investigation.meta +8 -0
- package/Samples/Animations/Main_Menu/DifficultyGroup.controller +220 -0
- package/Samples/Animations/Main_Menu/DifficultyGroup.controller.meta +8 -0
- package/Samples/Animations/Main_Menu/HideOptionsMenu.anim +474 -0
- package/Samples/Animations/Main_Menu/HideOptionsMenu.anim.meta +8 -0
- package/Samples/Animations/Main_Menu/MenuOption.controller +1206 -0
- package/Samples/Animations/Main_Menu/MenuOption.controller.meta +8 -0
- package/Samples/Animations/Main_Menu/Options Group.controller +249 -0
- package/Samples/Animations/Main_Menu/Options Group.controller.meta +8 -0
- package/Samples/Animations/Main_Menu/Press Start.controller +729 -0
- package/Samples/Animations/Main_Menu/Press Start.controller.meta +8 -0
- package/Samples/Animations/Main_Menu/RevealOptions.anim +743 -0
- package/Samples/Animations/Main_Menu/RevealOptions.anim.meta +8 -0
- package/Samples/Animations/Main_Menu/RevealOptionsMenu.anim +456 -0
- package/Samples/Animations/Main_Menu/RevealOptionsMenu.anim.meta +8 -0
- package/Samples/Animations/Main_Menu.meta +8 -0
- package/Samples/Animations/Main_UI/HideMainUI.anim +998 -0
- package/Samples/Animations/Main_UI/HideMainUI.anim.meta +8 -0
- package/Samples/Animations/Main_UI/Main UI.controller +248 -0
- package/Samples/Animations/Main_UI/Main UI.controller.meta +8 -0
- package/Samples/Animations/Main_UI.meta +8 -0
- package/Samples/Animations/Truth_Bullet_Menu/ShowTBM.anim +295 -0
- package/Samples/Animations/Truth_Bullet_Menu/ShowTBM.anim.meta +8 -0
- package/Samples/Animations/Truth_Bullet_Menu/Truth Bullet Canvas.controller +220 -0
- package/Samples/Animations/Truth_Bullet_Menu/Truth Bullet Canvas.controller.meta +8 -0
- package/Samples/Animations/Truth_Bullet_Menu.meta +8 -0
- package/Samples/Animations.meta +8 -0
- package/Samples/Animator_Bool_UI_Visibility_ETemplate.prefab +81 -0
- package/Samples/Animator_Bool_UI_Visibility_ETemplate.prefab.meta +7 -0
- package/Samples/Animator_Visibility_Canvas_Template.prefab +185 -0
- package/Samples/Animator_Visibility_Canvas_Template.prefab.meta +7 -0
- package/Samples/Appear_Bool_Handler.prefab +511 -0
- package/Samples/Appear_Bool_Handler.prefab.meta +7 -0
- package/Samples/Bool_Save_Handler.prefab +79 -0
- package/Samples/Bool_Save_Handler.prefab.meta +7 -0
- package/Samples/Carousel_Component_Shell.prefab +115 -0
- package/Samples/Carousel_Component_Shell.prefab.meta +7 -0
- package/Samples/Carousel_Component_Template.prefab +174 -0
- package/Samples/Carousel_Component_Template.prefab.meta +7 -0
- package/Samples/Chapter_Number_Text.prefab +177 -0
- package/Samples/Chapter_Number_Text.prefab.meta +7 -0
- package/Samples/Chapter_Section_UI_Template.prefab +290 -0
- package/Samples/Chapter_Section_UI_Template.prefab.meta +7 -0
- package/Samples/Chapter_Text.prefab +175 -0
- package/Samples/Chapter_Text.prefab.meta +7 -0
- package/Samples/Choice_Manager_Shell.prefab +232 -0
- package/Samples/Choice_Manager_Shell.prefab.meta +7 -0
- package/Samples/Choice_Manager_Template.prefab +377 -0
- package/Samples/Choice_Manager_Template.prefab.meta +7 -0
- package/Samples/Choice_Option_Shell.prefab +257 -0
- package/Samples/Choice_Option_Shell.prefab.meta +7 -0
- package/Samples/Choice_Option_Template.prefab +285 -0
- package/Samples/Choice_Option_Template.prefab.meta +7 -0
- package/Samples/Choice_Option_Yes_No_Template.prefab +196 -0
- package/Samples/Choice_Option_Yes_No_Template.prefab.meta +7 -0
- package/Samples/Choice_UI_Shell.prefab +118 -0
- package/Samples/Choice_UI_Shell.prefab.meta +7 -0
- package/Samples/Choice_UI_Template.prefab +601 -0
- package/Samples/Choice_UI_Template.prefab.meta +7 -0
- package/Samples/ClickedNewGame.asset +21 -0
- package/Samples/ClickedNewGame.asset.meta +8 -0
- package/Samples/Confirm_Canvas_Shell.prefab +85 -0
- package/Samples/Confirm_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Confirm_Canvas_Template.prefab +716 -0
- package/Samples/Confirm_Canvas_Template.prefab.meta +7 -0
- package/Samples/Confirm_Select_Bool_Handler.prefab +448 -0
- package/Samples/Confirm_Select_Bool_Handler.prefab.meta +7 -0
- package/Samples/Continue_Button_ETemplate.prefab +344 -0
- package/Samples/Continue_Button_ETemplate.prefab.meta +7 -0
- package/Samples/ContinuedGame.asset +15 -0
- package/Samples/ContinuedGame.asset.meta +8 -0
- package/Samples/ControlPresets/BlackenedSelect_Controls.preset +120 -0
- package/Samples/ControlPresets/BlackenedSelect_Controls.preset.meta +8 -0
- package/Samples/ControlPresets/CA_Controls.preset +145 -0
- package/Samples/ControlPresets/CA_Controls.preset.meta +8 -0
- package/Samples/ControlPresets/ControlsDatabase.preset +117 -0
- package/Samples/ControlPresets/ControlsDatabase.preset.meta +8 -0
- package/Samples/ControlPresets/Convo_Controls.preset +195 -0
- package/Samples/ControlPresets/Convo_Controls.preset.meta +8 -0
- package/Samples/ControlPresets/FTE_Minigame_UI_Controls.preset +195 -0
- package/Samples/ControlPresets/FTE_Minigame_UI_Controls.preset.meta +8 -0
- package/Samples/ControlPresets/NSDP_Controls.preset +220 -0
- package/Samples/ControlPresets/NSDP_Controls.preset.meta +8 -0
- package/Samples/ControlPresets/NSD_Controls.preset +195 -0
- package/Samples/ControlPresets/NSD_Controls.preset.meta +8 -0
- package/Samples/ControlPresets/RS_Controls.preset +195 -0
- package/Samples/ControlPresets/RS_Controls.preset.meta +8 -0
- package/Samples/ControlPresets/TPFD_Controls.preset +245 -0
- package/Samples/ControlPresets/TPFD_Controls.preset.meta +8 -0
- package/Samples/ControlPresets/ThreeD_Controls.preset +245 -0
- package/Samples/ControlPresets/ThreeD_Controls.preset.meta +8 -0
- package/Samples/ControlPresets/Trial_Convo_Controls.preset +195 -0
- package/Samples/ControlPresets/Trial_Convo_Controls.preset.meta +8 -0
- package/Samples/ControlPresets.meta +8 -0
- package/Samples/Control_UI_Row_ETemplate.prefab +565 -0
- package/Samples/Control_UI_Row_ETemplate.prefab.meta +7 -0
- package/Samples/Controls_TAB_ETemplate.prefab +556 -0
- package/Samples/Controls_TAB_ETemplate.prefab.meta +7 -0
- package/Samples/Controls_UI_Canvas_ETemplate.prefab +620 -0
- package/Samples/Controls_UI_Canvas_ETemplate.prefab.meta +7 -0
- package/Samples/Controls_UI_Canvas_Shell.prefab +445 -0
- package/Samples/Controls_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Controls_UI_Condition.prefab +69 -0
- package/Samples/Controls_UI_Condition.prefab.meta +7 -0
- package/Samples/Controls_UI_Handler.prefab +196 -0
- package/Samples/Controls_UI_Handler.prefab.meta +7 -0
- package/Samples/Credits_Button_ETemplate.prefab +148 -0
- package/Samples/Credits_Button_ETemplate.prefab.meta +7 -0
- package/Samples/DRE_Regulations_UI.unity +525 -0
- package/Samples/DRE_Regulations_UI.unity.meta +7 -0
- package/Samples/DRE_Selectable_Option.prefab +308 -0
- package/Samples/DRE_Selectable_Option.prefab.meta +7 -0
- package/Samples/Dialogue_Box_ETemplate.prefab +452 -0
- package/Samples/Dialogue_Box_ETemplate.prefab.meta +7 -0
- package/Samples/Dialogue_Box_Text.prefab +152 -0
- package/Samples/Dialogue_Box_Text.prefab.meta +7 -0
- package/Samples/Dialogue_Box_UI_Visibility.prefab +75 -0
- package/Samples/Dialogue_Box_UI_Visibility.prefab.meta +7 -0
- package/Samples/Dialogue_Move_UI_Visibility.prefab +75 -0
- package/Samples/Dialogue_Move_UI_Visibility.prefab.meta +7 -0
- package/Samples/Dialogue_UI_Canvas_Shell.prefab +1365 -0
- package/Samples/Dialogue_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Dialogue_UI_Canvas_Template.prefab +736 -0
- package/Samples/Dialogue_UI_Canvas_Template.prefab.meta +7 -0
- package/Samples/Dialogue_UI_Visibility.prefab +343 -0
- package/Samples/Dialogue_UI_Visibility.prefab.meta +7 -0
- package/Samples/Difficulty_Group_Shell.prefab +468 -0
- package/Samples/Difficulty_Group_Shell.prefab.meta +7 -0
- package/Samples/Difficulty_Group_Template.prefab +575 -0
- package/Samples/Difficulty_Group_Template.prefab.meta +7 -0
- package/Samples/Difficulty_UI_Canvas_Shell.prefab +351 -0
- package/Samples/Difficulty_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Difficulty_UI_Canvas_Template.prefab +678 -0
- package/Samples/Difficulty_UI_Canvas_Template.prefab.meta +7 -0
- package/Samples/DisableContinueButton.asset +15 -0
- package/Samples/DisableContinueButton.asset.meta +8 -0
- package/Samples/DisablePauseCanvas.asset +15 -0
- package/Samples/DisablePauseCanvas.asset.meta +8 -0
- package/Samples/DisplayNameVisible.asset +21 -0
- package/Samples/DisplayNameVisible.asset.meta +8 -0
- package/Samples/Flash_White_Image.prefab +97 -0
- package/Samples/Flash_White_Image.prefab.meta +7 -0
- package/Samples/Float_Save_Handler.prefab +54 -0
- package/Samples/Float_Save_Handler.prefab.meta +7 -0
- package/Samples/HideFakePause.asset +14 -0
- package/Samples/HideFakePause.asset.meta +8 -0
- package/Samples/Instant_Dialogue_UI_Visibility.prefab +264 -0
- package/Samples/Instant_Dialogue_UI_Visibility.prefab.meta +7 -0
- package/Samples/Is_Selected_Bool_Handler.prefab +89 -0
- package/Samples/Is_Selected_Bool_Handler.prefab.meta +7 -0
- package/Samples/Item_Icon_Bool_Handler.prefab +89 -0
- package/Samples/Item_Icon_Bool_Handler.prefab.meta +7 -0
- package/Samples/Item_Name_Display_ETemplate.prefab +357 -0
- package/Samples/Item_Name_Display_ETemplate.prefab.meta +7 -0
- package/Samples/Letter_Box_Canvas.prefab +256 -0
- package/Samples/Letter_Box_Canvas.prefab.meta +7 -0
- package/Samples/Load_Game_Button_ETemplate.prefab +196 -0
- package/Samples/Load_Game_Button_ETemplate.prefab.meta +7 -0
- package/Samples/Main_Menu_Button_DRE.prefab +346 -0
- package/Samples/Main_Menu_Button_DRE.prefab.meta +7 -0
- package/Samples/Main_Menu_System_Shell.prefab +33 -0
- package/Samples/Main_Menu_System_Shell.prefab.meta +7 -0
- package/Samples/Main_Menu_UI_Canvas_Shell.prefab +355 -0
- package/Samples/Main_Menu_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Main_Menu_UI_Canvas_Template.prefab +426 -0
- package/Samples/Main_Menu_UI_Canvas_Template.prefab.meta +7 -0
- package/Samples/Main_UI_Canvas_Shell.prefab +649 -0
- package/Samples/Main_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Main_UI_Canvas_Template.prefab +365 -0
- package/Samples/Main_UI_Canvas_Template.prefab.meta +7 -0
- package/Samples/Menu_Group_Shell.prefab +261 -0
- package/Samples/Menu_Group_Shell.prefab.meta +7 -0
- package/Samples/Menu_Group_Template.prefab +1176 -0
- package/Samples/Menu_Group_Template.prefab.meta +7 -0
- package/Samples/Music_Section_UI_Template.prefab +172 -0
- package/Samples/Music_Section_UI_Template.prefab.meta +7 -0
- package/Samples/Nameplate.prefab +93 -0
- package/Samples/Nameplate.prefab.meta +7 -0
- package/Samples/New_Game_Button_ETemplate.prefab +254 -0
- package/Samples/New_Game_Button_ETemplate.prefab.meta +7 -0
- package/Samples/No_Button_ETemplate.prefab +144 -0
- package/Samples/No_Button_ETemplate.prefab.meta +7 -0
- package/Samples/Object_Name_On_Reticle.prefab +53 -0
- package/Samples/Object_Name_On_Reticle.prefab.meta +7 -0
- package/Samples/OnFinishedLoadingRoomNoDialogue.asset +14 -0
- package/Samples/OnFinishedLoadingRoomNoDialogue.asset.meta +8 -0
- package/Samples/OnLoadingRoom.asset +14 -0
- package/Samples/OnLoadingRoom.asset.meta +8 -0
- package/Samples/OnResumeFinished.asset +15 -0
- package/Samples/OnResumeFinished.asset.meta +8 -0
- package/Samples/Options_UI_Canvas_Shell.prefab +554 -0
- package/Samples/Options_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Options_UI_Canvas_Template.prefab +251 -0
- package/Samples/Options_UI_Canvas_Template.prefab.meta +7 -0
- package/Samples/PauseOptionData.asset +15 -0
- package/Samples/PauseOptionData.asset.meta +8 -0
- package/Samples/Pause_Menu_Shell.prefab +38 -0
- package/Samples/Pause_Menu_Shell.prefab.meta +7 -0
- package/Samples/Pause_Menu_System_Shell.prefab +428 -0
- package/Samples/Pause_Menu_System_Shell.prefab.meta +7 -0
- package/Samples/Pause_Menu_System_Template.prefab +536 -0
- package/Samples/Pause_Menu_System_Template.prefab.meta +7 -0
- package/Samples/Pause_Menu_Template.prefab +956 -0
- package/Samples/Pause_Menu_Template.prefab.meta +7 -0
- package/Samples/Pause_UI_Canvas_Shell.prefab +310 -0
- package/Samples/Pause_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Pause_UI_Canvas_Template.prefab +1433 -0
- package/Samples/Pause_UI_Canvas_Template.prefab.meta +7 -0
- package/Samples/Pop_Up_Button_Parent_Template.prefab +375 -0
- package/Samples/Pop_Up_Button_Parent_Template.prefab.meta +7 -0
- package/Samples/Pop_Up_Shell.prefab +146 -0
- package/Samples/Pop_Up_Shell.prefab.meta +7 -0
- package/Samples/Pop_Up_Template.prefab +442 -0
- package/Samples/Pop_Up_Template.prefab.meta +7 -0
- package/Samples/Present_Choice_UI_Template.prefab +142 -0
- package/Samples/Present_Choice_UI_Template.prefab.meta +7 -0
- package/Samples/Protag_Sprite_One.prefab +147 -0
- package/Samples/Protag_Sprite_One.prefab.meta +7 -0
- package/Samples/Protag_Window_UI_Shell.prefab +940 -0
- package/Samples/Protag_Window_UI_Shell.prefab.meta +7 -0
- package/Samples/Protag_Window_UI_Template.prefab +248 -0
- package/Samples/Protag_Window_UI_Template.prefab.meta +7 -0
- package/Samples/Quit_Game_Button_Template.prefab +328 -0
- package/Samples/Quit_Game_Button_Template.prefab.meta +7 -0
- package/Samples/Quit_Pop_Up_Template.prefab +145 -0
- package/Samples/Quit_Pop_Up_Template.prefab.meta +7 -0
- package/Samples/Regulations_Manager.prefab +67 -0
- package/Samples/Regulations_Manager.prefab.meta +7 -0
- package/Samples/Regulations_UI_Canvas_ETemplate.prefab +1243 -0
- package/Samples/Regulations_UI_Canvas_ETemplate.prefab.meta +7 -0
- package/Samples/ResetPauseMenu.asset +15 -0
- package/Samples/ResetPauseMenu.asset.meta +8 -0
- package/Samples/Reticle_Animation_Component.prefab +67 -0
- package/Samples/Reticle_Animation_Component.prefab.meta +7 -0
- package/Samples/Reticle_UI_Shell.prefab +1783 -0
- package/Samples/Reticle_UI_Shell.prefab.meta +7 -0
- package/Samples/Reticle_UI_Template.prefab +281 -0
- package/Samples/Reticle_UI_Template.prefab.meta +7 -0
- package/Samples/Save_Layout_Mask_Shell.prefab +154 -0
- package/Samples/Save_Layout_Mask_Shell.prefab.meta +7 -0
- package/Samples/Save_Layout_Mask_Template.prefab +3697 -0
- package/Samples/Save_Layout_Mask_Template.prefab.meta +7 -0
- package/Samples/Save_Load_Group_Shell.prefab +146 -0
- package/Samples/Save_Load_Group_Shell.prefab.meta +7 -0
- package/Samples/Save_Load_Group_Template.prefab +1718 -0
- package/Samples/Save_Load_Group_Template.prefab.meta +7 -0
- package/Samples/Save_Load_Menu_Canvas_Shell.prefab +134 -0
- package/Samples/Save_Load_Menu_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Save_Load_Menu_Canvas_Template.prefab +2290 -0
- package/Samples/Save_Load_Menu_Canvas_Template.prefab.meta +7 -0
- package/Samples/Save_Load_Pause_Canvas_Template.prefab +191 -0
- package/Samples/Save_Load_Pause_Canvas_Template.prefab.meta +7 -0
- package/Samples/Save_Slot_ETemplate.prefab +619 -0
- package/Samples/Save_Slot_ETemplate.prefab.meta +7 -0
- package/Samples/SetNewGameTempFirst.asset +15 -0
- package/Samples/SetNewGameTempFirst.asset.meta +8 -0
- package/Samples/Set_Controls_Key_By_Mode_Event.prefab +62 -0
- package/Samples/Set_Controls_Key_By_Mode_Event.prefab.meta +7 -0
- package/Samples/ShowFakePause.asset +14 -0
- package/Samples/ShowFakePause.asset.meta +8 -0
- package/Samples/ShowPauseGroup.asset +14 -0
- package/Samples/ShowPauseGroup.asset.meta +8 -0
- package/Samples/Slider_Bar_Option_ETemplate.prefab +609 -0
- package/Samples/Slider_Bar_Option_ETemplate.prefab.meta +7 -0
- package/Samples/Speak_Icon_Bool_Handler.prefab +89 -0
- package/Samples/Speak_Icon_Bool_Handler.prefab.meta +7 -0
- package/Samples/StartPauseGroup.asset +14 -0
- package/Samples/StartPauseGroup.asset.meta +8 -0
- package/Samples/Start_Game_Button_DRE.prefab +226 -0
- package/Samples/Start_Game_Button_DRE.prefab.meta +7 -0
- package/Samples/Start_Group_ETemplate.prefab +330 -0
- package/Samples/Start_Group_ETemplate.prefab.meta +7 -0
- package/Samples/System_Menu_Shell.prefab +38 -0
- package/Samples/System_Menu_Shell.prefab.meta +7 -0
- package/Samples/System_Menu_Template.prefab +2396 -0
- package/Samples/System_Menu_Template.prefab.meta +7 -0
- package/Samples/System_TAB_ETemplate.prefab +734 -0
- package/Samples/System_TAB_ETemplate.prefab.meta +7 -0
- package/Samples/System_UI_Canvas_Shell.prefab +328 -0
- package/Samples/System_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/System_UI_Canvas_Template.prefab +1520 -0
- package/Samples/System_UI_Canvas_Template.prefab.meta +7 -0
- package/Samples/TMP_Marq_Mask.prefab +336 -0
- package/Samples/TMP_Marq_Mask.prefab.meta +7 -0
- package/Samples/Title_Group_Shell.prefab +191 -0
- package/Samples/Title_Group_Shell.prefab.meta +7 -0
- package/Samples/Title_Group_Template.prefab +709 -0
- package/Samples/Title_Group_Template.prefab.meta +7 -0
- package/Samples/Toggle_Option_ETemplate.prefab +1086 -0
- package/Samples/Toggle_Option_ETemplate.prefab.meta +7 -0
- package/Samples/UI_Button_DRE.prefab +268 -0
- package/Samples/UI_Button_DRE.prefab.meta +7 -0
- package/Samples/Value_Event_Save_Handlers.prefab +413 -0
- package/Samples/Value_Event_Save_Handlers.prefab.meta +7 -0
- package/Samples/Yes_Button_ETemplate.prefab +260 -0
- package/Samples/Yes_Button_ETemplate.prefab.meta +7 -0
- package/Samples.meta +8 -0
- package/ScrollGridUI.cs +360 -0
- package/ScrollGridUI.cs.meta +11 -0
- package/ScrollOption.cs +65 -0
- package/ScrollOption.cs.meta +11 -0
- package/ScrollOptionModifier.cs +77 -0
- package/ScrollOptionModifier.cs.meta +11 -0
- package/ScrollableIndexSelector.cs +56 -0
- package/ScrollableIndexSelector.cs.meta +2 -0
- package/SelectHandler.cs +35 -0
- package/SelectHandler.cs.meta +11 -0
- package/SelectableMenuGroupBase.cs +197 -0
- package/SelectableMenuGroupBase.cs.meta +11 -0
- package/SelectableUIOption.cs +77 -0
- package/SelectableUIOption.cs.meta +11 -0
- package/SelectedItemDisplayer.cs +19 -0
- package/SelectedItemDisplayer.cs.meta +11 -0
- package/TrackedIndexListener.cs +67 -0
- package/TrackedIndexListener.cs.meta +2 -0
- package/UIControls/CallableControlledUI.cs +64 -0
- package/UIControls/CallableControlledUI.cs.meta +2 -0
- package/UIControls/CallableUIBase.cs +103 -0
- package/UIControls/CallableUIBase.cs.meta +11 -0
- package/UIControls/ControlPair.cs +24 -0
- package/UIControls/ControlPair.cs.meta +11 -0
- package/UIControls/ControlPanelRow.cs +67 -0
- package/UIControls/ControlPanelRow.cs.meta +11 -0
- package/UIControls/ControlsDatabase.cs +36 -0
- package/UIControls/ControlsDatabase.cs.meta +11 -0
- package/UIControls/ControlsUI.cs +336 -0
- package/UIControls/ControlsUI.cs.meta +11 -0
- package/UIControls/ControlsUIHandler.cs +16 -0
- package/UIControls/ControlsUIHandler.cs.meta +11 -0
- package/UIControls/ControlsUIPanel.cs +49 -0
- package/UIControls/ControlsUIPanel.cs.meta +11 -0
- package/UIControls/ControlsUIService.cs +12 -0
- package/UIControls/ControlsUIService.cs.meta +11 -0
- package/UIControls/ControlsUISlot.cs +243 -0
- package/UIControls/ControlsUISlot.cs.meta +11 -0
- package/UIControls/ControlsUITab.cs +80 -0
- package/UIControls/ControlsUITab.cs.meta +11 -0
- package/UIControls/IControlRowData.cs +42 -0
- package/UIControls/IControlRowData.cs.meta +11 -0
- package/UIControls/IControlsUIPanel.cs +25 -0
- package/UIControls/IControlsUIPanel.cs.meta +11 -0
- package/UIControls/IControlsUIRepository.cs +17 -0
- package/UIControls/IControlsUIRepository.cs.meta +11 -0
- package/UIControls/IControlsUIRow.cs +16 -0
- package/UIControls/IControlsUIRow.cs.meta +11 -0
- package/UIControls/KeysUITab.cs +85 -0
- package/UIControls/KeysUITab.cs.meta +11 -0
- package/UIControls/ModeKeyPair.cs +25 -0
- package/UIControls/ModeKeyPair.cs.meta +2 -0
- package/UIControls/SetControlsKeyByMode.cs +57 -0
- package/UIControls/SetControlsKeyByMode.cs.meta +11 -0
- package/UIControls/SystemUITab.cs +30 -0
- package/UIControls/SystemUITab.cs.meta +11 -0
- package/UIControls.meta +8 -0
- package/VectorIndexSelector.cs +48 -0
- package/VectorIndexSelector.cs.meta +2 -0
- package/VerticalScrollWindow.cs +354 -0
- package/VerticalScrollWindow.cs.meta +11 -0
- package/package.json +44 -6
- package/package.json.meta +7 -0
- package/README.md +0 -3
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using System.Linq;
|
|
5
|
+
using System.Text.RegularExpressions;
|
|
6
|
+
#if UNITY_EDITOR
|
|
7
|
+
using UnityEditor;
|
|
8
|
+
#endif
|
|
9
|
+
using UnityEngine;
|
|
10
|
+
using UnityEngine.UI;
|
|
11
|
+
|
|
12
|
+
namespace DREditor.UI.Options.Editor
|
|
13
|
+
{
|
|
14
|
+
/// <summary>
|
|
15
|
+
///
|
|
16
|
+
/// </summary>
|
|
17
|
+
public class OptionBuilder : MonoBehaviour
|
|
18
|
+
{
|
|
19
|
+
#if UNITY_EDITOR
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
[SerializeField] protected Transform optionParent;
|
|
24
|
+
|
|
25
|
+
/// <summary>
|
|
26
|
+
///
|
|
27
|
+
/// </summary>
|
|
28
|
+
[SerializeField] protected MenuGroup menuGroup;
|
|
29
|
+
|
|
30
|
+
/// <summary>
|
|
31
|
+
///
|
|
32
|
+
/// </summary>
|
|
33
|
+
[SerializeField] protected List<OptionInstance> optionAssets = new();
|
|
34
|
+
|
|
35
|
+
/// <summary>
|
|
36
|
+
///
|
|
37
|
+
/// </summary>
|
|
38
|
+
[SerializeField] protected List<OptionType> optionTypes = new();
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
/// <summary>
|
|
42
|
+
///
|
|
43
|
+
/// </summary>
|
|
44
|
+
protected OptionInstance option;
|
|
45
|
+
|
|
46
|
+
/// <summary>
|
|
47
|
+
///
|
|
48
|
+
/// </summary>
|
|
49
|
+
protected GameObject prefab;
|
|
50
|
+
|
|
51
|
+
/// <summary>
|
|
52
|
+
///
|
|
53
|
+
/// </summary>
|
|
54
|
+
protected GameObject spawnedOption;
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
/// <summary>
|
|
58
|
+
///
|
|
59
|
+
/// </summary>
|
|
60
|
+
[ContextMenu("Build Options Menu")]
|
|
61
|
+
public void BuildOptionsMenu()
|
|
62
|
+
{
|
|
63
|
+
foreach (var option in optionAssets)
|
|
64
|
+
SpawnOption(option);
|
|
65
|
+
|
|
66
|
+
menuGroup.SetFirst(menuGroup.selectables[0].gameObject);
|
|
67
|
+
|
|
68
|
+
EditorUtility.SetDirty(menuGroup);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/// <summary>
|
|
72
|
+
///
|
|
73
|
+
/// </summary>
|
|
74
|
+
/// <param name="option"></param>
|
|
75
|
+
protected virtual void SpawnOption(OptionInstance option)
|
|
76
|
+
{
|
|
77
|
+
if (GetPrefabFromName(option.typeName) is GameObject prefab)
|
|
78
|
+
{
|
|
79
|
+
this.option = option;
|
|
80
|
+
|
|
81
|
+
this.prefab = prefab;
|
|
82
|
+
|
|
83
|
+
spawnedOption = UnityEditor.PrefabUtility.InstantiatePrefab(prefab, optionParent) as GameObject;
|
|
84
|
+
|
|
85
|
+
ApplyRename();
|
|
86
|
+
|
|
87
|
+
InitializeEvent();
|
|
88
|
+
|
|
89
|
+
InitializeSelectables();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/// <summary>
|
|
94
|
+
///
|
|
95
|
+
/// </summary>
|
|
96
|
+
/// <param name="typeName"></param>
|
|
97
|
+
/// <returns></returns>
|
|
98
|
+
protected virtual GameObject GetPrefabFromName(string typeName)
|
|
99
|
+
{
|
|
100
|
+
var matches = optionTypes.Where(option => option.typeName == typeName);
|
|
101
|
+
|
|
102
|
+
foreach (var match in matches)
|
|
103
|
+
if (match != null)
|
|
104
|
+
return match.prefab;
|
|
105
|
+
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/// <summary>
|
|
110
|
+
///
|
|
111
|
+
/// </summary>
|
|
112
|
+
protected virtual void ApplyRename()
|
|
113
|
+
{
|
|
114
|
+
string formattedName = Regex.Replace(option.optionAsset.name, @"([a-z0-9])([A-Z])", "$1_$2");
|
|
115
|
+
|
|
116
|
+
formattedName = Regex.Replace(formattedName, @"([a-z0-9]) ([A-Z])", "$1_$2");
|
|
117
|
+
|
|
118
|
+
spawnedOption.name = formattedName + "_" + prefab.name;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/// <summary>
|
|
122
|
+
///
|
|
123
|
+
/// </summary>
|
|
124
|
+
protected virtual void InitializeEvent()
|
|
125
|
+
{
|
|
126
|
+
if (option.optionAsset is IOptionEvent validOption)
|
|
127
|
+
{
|
|
128
|
+
spawnedOption.GetComponent<IOptionEventListener>().Initialize(validOption);
|
|
129
|
+
|
|
130
|
+
var childListeners = spawnedOption.GetComponentsInChildren<IOptionEventListener>();
|
|
131
|
+
|
|
132
|
+
foreach (var listener in childListeners)
|
|
133
|
+
listener.Initialize(validOption);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/// <summary>
|
|
138
|
+
///
|
|
139
|
+
/// </summary>
|
|
140
|
+
protected virtual void InitializeSelectables()
|
|
141
|
+
{
|
|
142
|
+
if (spawnedOption.TryGetComponent(out Selectable selectable) && selectable != null)
|
|
143
|
+
menuGroup.selectables.Add(selectable);
|
|
144
|
+
else
|
|
145
|
+
menuGroup.selectables.Add(spawnedOption.GetComponentsInChildren<Selectable>().First());
|
|
146
|
+
}
|
|
147
|
+
#endif
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if UNITY_EDITOR
|
|
3
|
+
using DREditor.EventObjects;
|
|
4
|
+
using DREditor.Editor.Utility;
|
|
5
|
+
using System;
|
|
6
|
+
using System.Collections.Generic;
|
|
7
|
+
using UnityEditor;
|
|
8
|
+
using UnityEngine;
|
|
9
|
+
|
|
10
|
+
namespace DREditor.UI.Options.Editor
|
|
11
|
+
{
|
|
12
|
+
/// <summary>
|
|
13
|
+
///
|
|
14
|
+
/// </summary>
|
|
15
|
+
[CustomEditor(typeof(OptionBuilder))]
|
|
16
|
+
public class OptionBuilderEditor : UnityEditor.Editor
|
|
17
|
+
{
|
|
18
|
+
/// <summary>
|
|
19
|
+
///
|
|
20
|
+
/// </summary>
|
|
21
|
+
protected readonly string typePropName = "typeName";
|
|
22
|
+
|
|
23
|
+
/// <summary>
|
|
24
|
+
///
|
|
25
|
+
/// </summary>
|
|
26
|
+
protected readonly string optionParentName = "optionParent";
|
|
27
|
+
|
|
28
|
+
/// <summary>
|
|
29
|
+
///
|
|
30
|
+
/// </summary>
|
|
31
|
+
protected readonly string menuGroupName = "menuGroup";
|
|
32
|
+
|
|
33
|
+
/// <summary>
|
|
34
|
+
///
|
|
35
|
+
/// </summary>
|
|
36
|
+
protected readonly string optionAssetsName = "optionAssets";
|
|
37
|
+
|
|
38
|
+
/// <summary>
|
|
39
|
+
///
|
|
40
|
+
/// </summary>
|
|
41
|
+
protected readonly string optionAssetName = "optionAsset";
|
|
42
|
+
|
|
43
|
+
/// <summary>
|
|
44
|
+
///
|
|
45
|
+
/// </summary>
|
|
46
|
+
protected readonly string optionTypesName = "optionTypes";
|
|
47
|
+
|
|
48
|
+
/// <summary>
|
|
49
|
+
///
|
|
50
|
+
/// </summary>
|
|
51
|
+
protected SerializedProperty optionParentProp;
|
|
52
|
+
|
|
53
|
+
/// <summary>
|
|
54
|
+
///
|
|
55
|
+
/// </summary>
|
|
56
|
+
protected SerializedProperty menuGroupProp;
|
|
57
|
+
|
|
58
|
+
/// <summary>
|
|
59
|
+
///
|
|
60
|
+
/// </summary>
|
|
61
|
+
protected SerializedProperty optionAssetsProp;
|
|
62
|
+
|
|
63
|
+
/// <summary>
|
|
64
|
+
///
|
|
65
|
+
/// </summary>
|
|
66
|
+
protected SerializedProperty optionTypesProp;
|
|
67
|
+
|
|
68
|
+
/// <summary>
|
|
69
|
+
///
|
|
70
|
+
/// </summary>
|
|
71
|
+
protected readonly float spacing = 10;
|
|
72
|
+
|
|
73
|
+
/// <summary>
|
|
74
|
+
///
|
|
75
|
+
/// </summary>
|
|
76
|
+
protected readonly float instanceSpacing = 2;
|
|
77
|
+
|
|
78
|
+
/// <summary>
|
|
79
|
+
///
|
|
80
|
+
/// </summary>
|
|
81
|
+
protected readonly int boxOffsetAmount = 8;
|
|
82
|
+
|
|
83
|
+
/// <summary>
|
|
84
|
+
///
|
|
85
|
+
/// </summary>
|
|
86
|
+
protected bool typesFoldout = true;
|
|
87
|
+
|
|
88
|
+
/// <summary>
|
|
89
|
+
///
|
|
90
|
+
/// </summary>
|
|
91
|
+
protected bool instancesFoldout = true;
|
|
92
|
+
|
|
93
|
+
/// <summary>
|
|
94
|
+
///
|
|
95
|
+
/// </summary>
|
|
96
|
+
protected GUIStyle boxStyle;
|
|
97
|
+
|
|
98
|
+
/// <summary>
|
|
99
|
+
///
|
|
100
|
+
/// </summary>
|
|
101
|
+
protected GUIStyle headerStyle;
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
protected virtual void OnEnable()
|
|
105
|
+
{
|
|
106
|
+
optionParentProp = serializedObject.FindProperty(optionParentName);
|
|
107
|
+
|
|
108
|
+
menuGroupProp = serializedObject.FindProperty(menuGroupName);
|
|
109
|
+
|
|
110
|
+
optionAssetsProp = serializedObject.FindProperty(optionAssetsName);
|
|
111
|
+
|
|
112
|
+
optionTypesProp = serializedObject.FindProperty(optionTypesName);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/// <inheritdoc/>
|
|
116
|
+
public override void OnInspectorGUI()
|
|
117
|
+
{
|
|
118
|
+
serializedObject.Update();
|
|
119
|
+
|
|
120
|
+
InitializeStyles();
|
|
121
|
+
|
|
122
|
+
DrawSimpleFields();
|
|
123
|
+
|
|
124
|
+
GUILayout.Space(spacing);
|
|
125
|
+
|
|
126
|
+
DrawOptionInstancesSection();
|
|
127
|
+
|
|
128
|
+
serializedObject.ApplyModifiedProperties();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/// <summary>
|
|
132
|
+
///
|
|
133
|
+
/// </summary>
|
|
134
|
+
protected virtual void InitializeStyles()
|
|
135
|
+
{
|
|
136
|
+
if (boxStyle != null)
|
|
137
|
+
return;
|
|
138
|
+
|
|
139
|
+
RectOffset boxOffset = new(boxOffsetAmount, boxOffsetAmount, boxOffsetAmount, boxOffsetAmount);
|
|
140
|
+
|
|
141
|
+
boxStyle = new GUIStyle(EditorStyles.helpBox)
|
|
142
|
+
{
|
|
143
|
+
padding = boxOffset,
|
|
144
|
+
margin = boxOffset
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
headerStyle = new GUIStyle(EditorStyles.boldLabel)
|
|
148
|
+
{
|
|
149
|
+
fontSize = 11
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/// <summary>
|
|
154
|
+
///
|
|
155
|
+
/// </summary>
|
|
156
|
+
protected virtual void DrawSimpleFields()
|
|
157
|
+
{
|
|
158
|
+
EditorGUILayout.PropertyField(optionParentProp, new GUIContent("Option Parent",
|
|
159
|
+
"The parent transform under which all spawned option prefabs will be placed."), true);
|
|
160
|
+
|
|
161
|
+
EditorGUILayout.PropertyField(menuGroupProp, new GUIContent("Menu Group",
|
|
162
|
+
"The menu group that spawned option selectables will be registered to."), true);
|
|
163
|
+
|
|
164
|
+
EditorGUILayout.PropertyField(optionTypesProp, new GUIContent("Option Types",
|
|
165
|
+
"The list of available option type definitions mapping type names to their corresponding prefabs."), true);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/// <summary>
|
|
169
|
+
///
|
|
170
|
+
/// </summary>
|
|
171
|
+
protected virtual void DrawOptionInstancesSection()
|
|
172
|
+
{
|
|
173
|
+
instancesFoldout = DrawSectionHeader("Option Instances", instancesFoldout, optionAssetsProp.arraySize);
|
|
174
|
+
|
|
175
|
+
if (!instancesFoldout)
|
|
176
|
+
return;
|
|
177
|
+
|
|
178
|
+
DrawInstances();
|
|
179
|
+
|
|
180
|
+
EditorGUILayout.Space(instanceSpacing);
|
|
181
|
+
|
|
182
|
+
AddInstanceButton();
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/// <summary>
|
|
186
|
+
///
|
|
187
|
+
/// </summary>
|
|
188
|
+
/// <param name="label"></param>
|
|
189
|
+
/// <param name="foldout"></param>
|
|
190
|
+
/// <param name="count"></param>
|
|
191
|
+
/// <returns></returns>
|
|
192
|
+
protected virtual bool DrawSectionHeader(string label, bool foldout, int count)
|
|
193
|
+
{
|
|
194
|
+
Rect headerRect = GUILayoutUtility.GetRect(0, spacing * instanceSpacing, GUILayout.ExpandWidth(true));
|
|
195
|
+
|
|
196
|
+
return EditorGUI.Foldout(headerRect, foldout, $" {label} ({count})", true, EditorStyles.foldoutHeader);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/// <summary>
|
|
200
|
+
///
|
|
201
|
+
/// </summary>
|
|
202
|
+
protected virtual void DrawInstances()
|
|
203
|
+
{
|
|
204
|
+
string[] typeNameOptions = BuildTypeNameOptions();
|
|
205
|
+
|
|
206
|
+
for (int i = 0; i < optionAssetsProp.arraySize; i++)
|
|
207
|
+
{
|
|
208
|
+
if (DrawInstanceElement(i, typeNameOptions))
|
|
209
|
+
break;
|
|
210
|
+
|
|
211
|
+
EditorGUILayout.Space(instanceSpacing);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/// <summary>
|
|
216
|
+
///
|
|
217
|
+
/// </summary>
|
|
218
|
+
/// <returns></returns>
|
|
219
|
+
protected virtual string[] BuildTypeNameOptions()
|
|
220
|
+
{
|
|
221
|
+
var names = new List<string> { "(None)" };
|
|
222
|
+
|
|
223
|
+
for (int i = 0; i < optionTypesProp.arraySize; i++)
|
|
224
|
+
{
|
|
225
|
+
var property = optionTypesProp.GetArrayElementAtIndex(i).FindPropertyRelative(typePropName);
|
|
226
|
+
|
|
227
|
+
if (!string.IsNullOrWhiteSpace(property?.stringValue))
|
|
228
|
+
names.Add(property.stringValue);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return names.ToArray();
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/// <summary>
|
|
235
|
+
///
|
|
236
|
+
/// </summary>
|
|
237
|
+
/// <param name="index"></param>
|
|
238
|
+
/// <param name="typeNameOptions"></param>
|
|
239
|
+
/// <returns></returns>
|
|
240
|
+
protected virtual bool DrawInstanceElement(int index, string[] typeNameOptions)
|
|
241
|
+
{
|
|
242
|
+
SerializedProperty element = optionAssetsProp.GetArrayElementAtIndex(index);
|
|
243
|
+
|
|
244
|
+
SerializedProperty optionAssetProp = element.FindPropertyRelative(optionAssetName);
|
|
245
|
+
|
|
246
|
+
using (new EditorGUILayout.VerticalScope(boxStyle))
|
|
247
|
+
{
|
|
248
|
+
if (DrawInstanceHeader(optionAssetProp, index))
|
|
249
|
+
return true;
|
|
250
|
+
|
|
251
|
+
DrawTypeNameDropdown(element, typeNameOptions);
|
|
252
|
+
|
|
253
|
+
HandyEditor.DrawFilteredOptionAssetField<OptionEventWindow, IOptionEvent>(serializedObject, optionAssetProp);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/// <summary>
|
|
260
|
+
///
|
|
261
|
+
/// </summary>
|
|
262
|
+
/// <param name="optionAssetProp"></param>
|
|
263
|
+
/// <param name="index"></param>
|
|
264
|
+
/// <returns></returns>
|
|
265
|
+
protected virtual bool DrawInstanceHeader(SerializedProperty optionAssetProp, int index)
|
|
266
|
+
{
|
|
267
|
+
using (new EditorGUILayout.HorizontalScope())
|
|
268
|
+
{
|
|
269
|
+
EditorGUILayout.LabelField($"Instance {index}", headerStyle);
|
|
270
|
+
|
|
271
|
+
if (HandyFields.SkinnyButton("X") && optionAssetProp.objectReferenceValue != null)
|
|
272
|
+
{
|
|
273
|
+
optionAssetsProp.DeleteArrayElementAtIndex(index);
|
|
274
|
+
|
|
275
|
+
return true;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/// <summary>
|
|
283
|
+
///
|
|
284
|
+
/// </summary>
|
|
285
|
+
/// <param name="element"></param>
|
|
286
|
+
/// <param name="typeNameOptions"></param>
|
|
287
|
+
protected virtual void DrawTypeNameDropdown(SerializedProperty element, string[] typeNameOptions)
|
|
288
|
+
{
|
|
289
|
+
SerializedProperty typeNameProp = element.FindPropertyRelative(typePropName);
|
|
290
|
+
|
|
291
|
+
int nameIndex = Mathf.Max(0, Array.IndexOf(typeNameOptions, typeNameProp.stringValue));
|
|
292
|
+
|
|
293
|
+
int next = EditorGUILayout.Popup(new GUIContent("Type Name", "Select from the Option Types defined above."),
|
|
294
|
+
nameIndex, typeNameOptions);
|
|
295
|
+
|
|
296
|
+
typeNameProp.stringValue = next == 0 ? string.Empty : typeNameOptions[next];
|
|
297
|
+
|
|
298
|
+
if (next == 0 && !string.IsNullOrEmpty(typeNameProp.stringValue))
|
|
299
|
+
EditorGUILayout.HelpBox($"Type \"{typeNameProp.stringValue}\" not found in Option Types.",
|
|
300
|
+
MessageType.Warning);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
/// <summary>
|
|
305
|
+
///
|
|
306
|
+
/// </summary>
|
|
307
|
+
protected virtual void AddInstanceButton()
|
|
308
|
+
{
|
|
309
|
+
using (new EditorGUILayout.HorizontalScope())
|
|
310
|
+
{
|
|
311
|
+
GUILayout.FlexibleSpace();
|
|
312
|
+
|
|
313
|
+
if (HandyFields.Button("Add Instance"))
|
|
314
|
+
optionAssetsProp.InsertArrayElementAtIndex(optionAssetsProp.arraySize);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
/// <summary>
|
|
320
|
+
///
|
|
321
|
+
/// </summary>
|
|
322
|
+
sealed class OptionEventWindow : SimpleFilteredSOWindow<IOptionEvent> { }
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
#endif
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.UI.Options.Editor
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
[Serializable]
|
|
11
|
+
public class OptionInstance
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
///
|
|
15
|
+
/// </summary>
|
|
16
|
+
public ScriptableObject optionAsset;
|
|
17
|
+
|
|
18
|
+
/// <summary>
|
|
19
|
+
///
|
|
20
|
+
/// </summary>
|
|
21
|
+
public string typeName;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.UI.Options.Editor
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
[Serializable]
|
|
11
|
+
public class OptionType
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
///
|
|
15
|
+
/// </summary>
|
|
16
|
+
public string typeName;
|
|
17
|
+
|
|
18
|
+
/// <summary>
|
|
19
|
+
///
|
|
20
|
+
/// </summary>
|
|
21
|
+
public GameObject prefab;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.UI.Options
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
[Serializable]
|
|
11
|
+
public class NavigationGroup
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
///
|
|
15
|
+
/// </summary>
|
|
16
|
+
[Tooltip("")]
|
|
17
|
+
public OptionUIGroupBase group;
|
|
18
|
+
|
|
19
|
+
/// <summary>
|
|
20
|
+
///
|
|
21
|
+
/// </summary>
|
|
22
|
+
[Header("")]
|
|
23
|
+
[Tooltip("")]
|
|
24
|
+
public Direction direction;
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
public NavigationGroup() { }
|
|
28
|
+
|
|
29
|
+
public NavigationGroup(OptionUIGroupBase group, Direction direction)
|
|
30
|
+
{
|
|
31
|
+
this.group = group;
|
|
32
|
+
|
|
33
|
+
this.direction = direction;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
using UnityEngine.UI;
|
|
5
|
+
|
|
6
|
+
namespace DREditor.UI.Options
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
///
|
|
10
|
+
/// </summary>
|
|
11
|
+
[Serializable]
|
|
12
|
+
public class NavigationSelect
|
|
13
|
+
{
|
|
14
|
+
/// <summary>
|
|
15
|
+
///
|
|
16
|
+
/// </summary>
|
|
17
|
+
[Tooltip("")]
|
|
18
|
+
public Selectable selectable;
|
|
19
|
+
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
[Header("")]
|
|
24
|
+
[Tooltip("")]
|
|
25
|
+
public Direction direction;
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
public NavigationSelect() { }
|
|
29
|
+
|
|
30
|
+
public NavigationSelect(Selectable selectable, Direction direction)
|
|
31
|
+
{
|
|
32
|
+
this.selectable = selectable;
|
|
33
|
+
|
|
34
|
+
this.direction = direction;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|