aboutsummaryrefslogtreecommitdiff
path: root/features/soopyGui
diff options
context:
space:
mode:
Diffstat (limited to 'features/soopyGui')
-rw-r--r--features/soopyGui/GuiPage.js68
-rw-r--r--features/soopyGui/categoryManager.js37
-rw-r--r--features/soopyGui/index.js215
-rw-r--r--features/soopyGui/metadata.json8
4 files changed, 0 insertions, 328 deletions
diff --git a/features/soopyGui/GuiPage.js b/features/soopyGui/GuiPage.js
deleted file mode 100644
index 7a21d26..0000000
--- a/features/soopyGui/GuiPage.js
+++ /dev/null
@@ -1,68 +0,0 @@
-import SoopyGuiElement from '../../../guimanager/GuiElement/SoopyGuiElement.js';
-import categoryManager from './categoryManager.js';
-
-class GuiPage {
- constructor(priority) {
- this.currentPageId = 0;
- this.priority = priority
-
- this.name = ""
-
- this.pages = {}
-
- this.showBackButton = true
- this.finalisedLoading = false
- }
-
- finaliseLoading() {
- categoryManager.addCategory(this);
- }
-
- getSoopyGui() {
- if (global.soopyv2featuremanagerthing.features["soopyGui"]) return global.soopyv2featuremanagerthing.features["soopyGui"].class;
- }
-
- isOpen() {
- if (!this.getSoopyGui()?.gui?.ctGui?.isOpen()) return false
-
- return this.getSoopyGui()?.currCategory === this
- }
-
- newPage() {
- this.currentPageId++
- let page = new SoopyGuiElement().setLocation(1 * this.currentPageId, 0, 1, 1)
-
- page._soopyAddonsPageId = this.currentPageId
-
- this.pages[this.currentPageId] = page
-
- return page
- }
-
- goToPage(page, anim) {
- this.getSoopyGui().goToPageNum(page, anim)
- }
-
- openSidebarPage(child) {
- this.getSoopyGui().openSidebarPage(child)
- }
- closeSidebarPage() {
- this.getSoopyGui().closeSidebarPage()
- }
-
- delete() {
- categoryManager.deleteCategory(this)
- }
-
- //Override me :D
- onOpen() {
-
- }
-
- //Override me :D
- onOpenPage(page) {
-
- }
-}
-
-export default GuiPage; \ No newline at end of file
diff --git a/features/soopyGui/categoryManager.js b/features/soopyGui/categoryManager.js
deleted file mode 100644
index 6709ff4..0000000
--- a/features/soopyGui/categoryManager.js
+++ /dev/null
@@ -1,37 +0,0 @@
-class CategoryManager {
- constructor(){
- this.categorys = {}
-
- this.arr = []
- }
-
- addCategory(category){
- // this.pages = this.pages.filter(a=>a.name!==category.name)
-
- this.categorys[category.name] = (category)
- this.update()
- }
-
- deleteCategory(category){
- delete this.categorys[category.name]
- this.update()
- }
-
- update(){
-
- this.arr = Object.values(this.categorys).sort((a, b)=>{
- return b.priority - a.priority
- })
- }
-}
-
-
-if(!global.soopyv2CategoryManager){
- global.soopyv2CategoryManager = new CategoryManager()
-
- register("gameUnload", ()=>{
- global.soopyv2CategoryManager = undefined
- })
-}
-
-export default global.soopyv2CategoryManager \ No newline at end of file
diff --git a/features/soopyGui/index.js b/features/soopyGui/index.js
deleted file mode 100644
index 1b26af1..0000000
--- a/features/soopyGui/index.js
+++ /dev/null
@@ -1,215 +0,0 @@
-/// <reference types="../../../CTAutocomplete" />
-/// <reference lib="es2015" />
-import Feature from "../../featureClass/class";
-import SoopyGuiElement from "../../../guimanager/GuiElement/SoopyGuiElement";
-import SoopyTextElement from "../../../guimanager/GuiElement/SoopyTextElement";
-import SoopyBoxElement from "../../../guimanager/GuiElement/SoopyBoxElement";
-import TextWithArrow from "../../../guimanager/GuiElement/TextWithArrow";
-import ButtonWithArrow from "../../../guimanager/GuiElement/ButtonWithArrow";
-import SoopyMouseClickEvent from "../../../guimanager/EventListener/SoopyMouseClickEvent";
-import SoopyOpenGuiEvent from "../../../guimanager/EventListener/SoopyOpenGuiEvent";
-import SoopyGui2 from "../../../guimanager/SoopyGui";
-import categoryManager from "./categoryManager";
-import SoopyImageElement from "../../../guimanager/GuiElement/SoopyImageElement";
-
-
-class SoopyGui extends Feature {
- constructor() {
- super()
-
- this.gui = undefined
-
- this.currentPage = 0
- this.backButton = undefined
-
- this.categoryPage = undefined
- this.currCategory = undefined
- this.activePages = []
- this.lastClickedOpen = undefined
-
- this.activeCategory = undefined
- }
-
- onEnable() {
- this.gui = new SoopyGui2()
-
- // this.gui.isDebugEnabled = true
-
- this.registerCommand("soopyv2", this.openCommand)
- this.registerCommand("soopy", this.openCommand)
- this.registerCommand("snoopyv2", this.openCommand)
- this.registerCommand("snoopy", this.openCommand)
-
- this.mainWindowElement = new SoopyBoxElement().setLocation(0.25, 0.1, 0.5, 0.8)
-
- this.mainWindowElement.addEvent(new SoopyOpenGuiEvent().setHandler(() => { this.goToPageNum(0, false) }))
-
- //###############################################################################################
- // Category Page
- //###############################################################################################
-
- this.categoryPage = new SoopyGuiElement().setLocation(0, 0, 1, 1)
-
- let title = new SoopyTextElement().setText("§0SoopyV2!").setMaxTextScale(3).setLocation(0.1, 0.05, 0.5, 0.1)
- this.categoryPage.addChild(title)
-
- let discordButton = new ButtonWithArrow().setText("§0Discord").setLocation(0.7, 0.05 + 0.0125, 0.25, 0.075)
- discordButton.addEvent(new SoopyMouseClickEvent().setHandler(() => {
- java.awt.Desktop.getDesktop().browse(
- new java.net.URI("https://discord.gg/dfSMq96RSN")
- );
- }))
- this.categoryPage.addChild(discordButton)
-
- this.buttonListElm = new SoopyGuiElement().setLocation(0.1, 0.2, 0.8, 0.8).setScrollable(true)
- this.categoryPage.addChild(this.buttonListElm)
-
- //###############################################################################################
- // Back button for all second pages
- //###############################################################################################
-
- this.backButton = new TextWithArrow().setText("§0Back").setLocation(0.01, -0.2, 0.1, 0.1).setDirectionRight(false)
- let backButtonEvent = new SoopyMouseClickEvent().setHandler(() => { this.clickedBackButton() })
- this.backButton.addEvent(backButtonEvent)
-
- this.mainWindowElement.addChild(this.categoryPage)
-
- this.sidebarPage = new SoopyBoxElement().setLocation(0.3, 0.1, 0.3, 0.8)
- // this.sidebarPage.visable = false
-
- this.gui.element.addChild(this.sidebarPage)
- this.gui.element.addChild(this.mainWindowElement)
-
- this.mainWindowElement.addChild(this.backButton)
-
- this.updateButtons()
- }
-
- openCommand(page) {
- this.gui.open()
-
- if (page) {
- this.getPages().forEach(p => {
- if (p.name.replace(/ /g, "_").toLowerCase() === page.toLowerCase()) {
- this.clickedOpen(p, false)
- }
- })
- }
- }
-
- getPages() {
- return categoryManager.arr
- }
-
- updateButtons() {
- if (!this.buttonListElm) return;
-
- this.buttonListElm.children = []
-
- if (this.getPages()) this.getPages().forEach((p, i) => {
- let settingsButton = new ButtonWithArrow().setText("§0" + p.name).setLocation(0, 0.175 * i, 1, 0.15)
- settingsButton.addEvent(new SoopyMouseClickEvent().setHandler(() => { this.clickedOpen(p) }))
- this.buttonListElm.addChild(settingsButton)
- })
- }
-
- clickedOpen(category, anim = true) {
- if (!this.lastClickedOpen) this.lastClickedOpen = 0
- if (Date.now() - this.lastClickedOpen < 100) return //Stopping infinite loop where button getting reset causes click event to get fired again
- this.lastClickedOpen = Date.now()
-
- let theParent = this.mainWindowElement.innerObjectPaddingThing || this.mainWindowElement
- theParent.children = []
-
- this.mainWindowElement.addChild(this.categoryPage)
-
- this.activePages = category.pages
- this.currCategory = category
-
- Object.values(this.activePages).forEach(p => {
- this.mainWindowElement.addChild(p)
- })
-
- this.mainWindowElement.addChild(this.backButton)
-
- category.onOpen()
-
- this.goToPageNum(1, anim)
- }
-
- onDisable() {
- this.gui.delete()
-
- this.gui = undefined
-
- this.currentPage = 0
- this.backButton = undefined
- this.activePages = []
- this.currCategory = undefined
- this.lastClickedOpen = undefined
- }
-
- clickedBackButton() {
- this.goToPageNum(this.currentPage - 1)
- }
-
- goToPage(page, animate = true) {
- let pageNum = page._soopyAddonsPageId
-
- if (pageNum == this.currentPage) {
- return
- }
-
- this.currentPage = pageNum
-
- this.getPages().forEach((p) => {
- Object.values(p.pages).forEach((e, i) => {
- e.location.location.x.set(i - pageNum + 1, animate ? 500 : 0)
- })
- })
- this.categoryPage.location.location.x.set(-pageNum, animate ? 500 : 0)
-
- this.backButton.location.location.y.set((pageNum === 0 || !this.currCategory.showBackButton) ? -0.2 : 0, animate ? 500 : 0)
- }
- goToPageNum(pageNum, animate = true) {
- if (pageNum < 0) return;
-
- this.currentPage = pageNum
- if (pageNum === 0) {
- this.currCategory = undefined
- this.closeSidebarPage()
- this.updateButtons()
- }
-
- this.getPages().forEach((p) => {
- Object.values(p.pages).forEach((e, i) => {
- e.location.location.x.set(i - pageNum + 1, animate ? 500 : 0)
- })
- })
- this.categoryPage.location.location.x.set(-pageNum, animate ? 500 : 0)
-
- this.backButton.location.location.y.set((pageNum === 0 || !this.currCategory.showBackButton) ? -0.2 : 0, animate ? 500 : 0)
-
- if (this.currCategory) this.currCategory.onOpenPage(pageNum)
- }
- openSidebarPage(child) {
- this.sidebarPage.location.location.x.set(0.625, 500)
- this.mainWindowElement.location.location.x.set(0.075, 500)
-
- // this.sidebarPage.visable = true
- this.sidebarPage.clearChildren()
- this.sidebarPage.addChild(child)
- }
-
- closeSidebarPage() {
- this.sidebarPage.location.location.x.set(0.3, 500)
- this.mainWindowElement.location.location.x.set(0.25, 500)
-
- this.sidebarPage.clearChildren()
- // this.sidebarPage.visable = false
- }
-}
-
-module.exports = {
- class: new SoopyGui()
-} \ No newline at end of file
diff --git a/features/soopyGui/metadata.json b/features/soopyGui/metadata.json
deleted file mode 100644
index 8f2ace4..0000000
--- a/features/soopyGui/metadata.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "name": "Settings",
- "description": "Adds a settings gui with toggles for all the modules, also renders each individual module's settings",
- "isHidden": true,
- "isTogglable": false,
- "defaultEnabled": true,
- "sortA": 0
-} \ No newline at end of file