diff options
Diffstat (limited to 'features/soopyGui/index.js')
-rw-r--r-- | features/soopyGui/index.js | 215 |
1 files changed, 0 insertions, 215 deletions
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 |