Deltarune (Chapter Select) script viewer

← back to main script listing

gml_Object_obj_screen_select_list_Create_0

(view raw script w/o annotations or w/e)
1
_parent = -4;
2
_input_enabled = false;
3
_input_buffer = 2;
4
_input_time = _input_buffer;
5
_slots = [];
6
_chapters = [];
7
_chapter_index = 0;
8
_fade_in = false;
9
var max_chapter = UnknownEnum.Value_7;
10
var max_available_chapter = UnknownEnum.Value_4;
11
for (var i = 0; i < max_chapter; i++)
12
{
13
    var new_chapter = instance_create(0, -10 + (i * 60), obj_ui_chapter);
14
    var chapter = i + 1;
15
    new_chapter.init(id, chapter);
16
    _slots[array_length(_slots)] = new_chapter;
17
}
18
for (var i = 0; i < max_available_chapter; i++)
19
{
20
    var chapter = _slots[i];
21
    chapter.enable();
22
    _chapters[array_length(_chapters)] = chapter;
23
}
24
25
init = function(arg0)
26
{
27
    _parent = arg0;
28
    _init = true;
29
};
30
31
fade_in = function()
32
{
33
    for (var i = 0; i < array_length(_slots); i++)
34
        _slots[i].fade_in();
35
};
36
37
reset = function()
38
{
39
    _chapter_index = 0;
40
    for (var i = 0; i < array_length(_chapters); i++)
41
    {
42
        var chapter = _chapters[i];
43
        chapter.reset();
44
    }
45
};
46
47
highlight_chapter = function(arg0)
48
{
49
    for (var i = 0; i < array_length(_chapters); i++)
50
    {
51
        var chapter = _chapters[i].get_chapter();
52
        if (chapter == arg0)
53
        {
54
            _chapter_index = i;
55
            highlight();
56
        }
57
    }
58
};
59
60
highlight = function()
61
{
62
    for (var i = 0; i < array_length(_chapters); i++)
63
    {
64
        var chapter = _chapters[i];
65
        chapter.reset();
66
        if (i == _chapter_index)
67
            chapter.highlight();
68
    }
69
};
70
71
highlight_bottom = function()
72
{
73
    _chapter_index = array_length(_chapters) - 1;
74
    highlight();
75
};
76
77
enable_input = function()
78
{
79
    _input_enabled = true;
80
    _input_time = _input_buffer;
81
};
82
83
disable_input = function()
84
{
85
    _input_enabled = false;
86
    for (var i = 0; i < array_length(_chapters); i++)
87
    {
88
        var chapter = _chapters[i];
89
        chapter.disable_input();
90
    }
91
};
92
93
disable_all = function()
94
{
95
    _input_enabled = false;
96
    for (var i = 0; i < array_length(_chapters); i++)
97
    {
98
        var chapter = _chapters[i];
99
        chapter.disable_all();
100
    }
101
};
102
103
trigger_event = function(arg0, arg1)
104
{
105
    switch (arg0)
106
    {
107
        case "disable_scroll":
108
            disable_input();
109
            break;
110
        case "enable_scroll":
111
            enable_input();
112
            break;
113
        case "launch_game":
114
            disable_all();
115
            _parent.trigger_event("launch_game", arg1);
116
            break;
117
    }
118
};
119
120
enum UnknownEnum
121
{
122
    Value_4 = 4,
123
    Value_7 = 7
124
}