aboutsummaryrefslogtreecommitdiff
path: root/features/soopyGui/GuiPage.js
blob: 1ae10fe3a85dfba98446d8a275f349c63c42e542 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import SoopyGuiElement from '../../../guimanager/GuiElement/SoopyGuiElement.js';

class GuiPage{
    constructor(priority){
        this.currentPageId = 0;
        this.priority = priority

        this.soopyGui = undefined;
        new Thread(()=>{
            while(global.soopyv2featuremanagerthing === undefined || global.soopyv2featuremanagerthing.features === undefined || global.soopyv2featuremanagerthing.features["soopyGui"] === undefined){
                Thread.sleep(100)
            }
            
            this.soopyGui = global.soopyv2featuremanagerthing.features["soopyGui"].class;

            if(this.finalisedLoading){
                this.finaliseLoading()
            }
        }).start()
        this.name = ""

        this.pages = {}

        this.showBackButton = true
        this.finalisedLoading = false
    }

    finaliseLoading(){
        if(!this.soopyGui){
            this.finalisedLoading = true
            return
        }
        this.soopyGui.addCategory(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.soopyGui.goToPageNum(page, anim)
    }

    openSidebarPage(child){
        this.soopyGui.openSidebarPage(child)
    }
    closeSidebarPage(){
        this.soopyGui.closeSidebarPage()
    }

    delete(){
        this.soopyGui.deleteCategory(this);
    }

    //Override me :D
    onOpen(){

    }
}

export default GuiPage;