-
Notifications
You must be signed in to change notification settings - Fork 4
/
worldgenedit.lua
112 lines (104 loc) · 3.08 KB
/
worldgenedit.lua
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
--Edit certain worldgen parameters while it is running.
local gui = require 'gui'
local widgets = require 'gui.widgets'
local wv = df.global.gview.view.child.child
local wd = df.global.world.world_data
local wg = df.global.world.worldgen.worldgen_parms
local stn
local stc
local pop
local eny
genedit=defclass(genedit,gui.Screen)
genedit.focus_path = 'worldgenedit'
function genedit:init()
self:addviews{
widgets.Label{
view_id="main",
frame = {t=18,l=0},
text={
{text="Quit: Enter/Esc "},{id="prec", text="Site Num: "}, {id="curs", text=self:callback("getSites")},NEWLINE,
{text="Edit: Left/Right(Fast) "},{id="pres", text="Site Cap: "}, {id="caps", text=self:callback("getCaps")},NEWLINE,
{text="Edit: Up/Down(Fast/Z) "},{id="ends", text="End Year: "}, {id="endy", text=self:callback("getEny")},NEWLINE,
{text="Edit: PgUp/Dn(Fast) "},{id="pops", text="Pop Cap: "}, {id="popc", text=self:callback("getPops")},
}
}
}
end
function genedit:getSites()
if df.viewscreen_new_regionst:is_instance(wv) then
stn = wd.next_site_id-1
else
qerror("Should be used during worldgen.")
end
return stn
end
function genedit:getCaps()
if df.viewscreen_new_regionst:is_instance(wv) then
stc = wg.site_cap
else
qerror("Should be used during worldgen.")
end
return stc
end
function genedit:getPops()
if df.viewscreen_new_regionst:is_instance(wv) then
pop = wg.total_civ_population
else
qerror("Should be used during worldgen.")
end
return pop
end
function genedit:getEny()
if df.viewscreen_new_regionst:is_instance(wv) then
eny = wg.end_year
else
qerror("Should be used during worldgen.")
end
return eny
end
function genedit:onInput(keys)
if df.viewscreen_new_regionst:is_instance(wv) then
if keys.LEAVESCREEN or keys.SELECT then
self:dismiss()
end
if keys.CURSOR_LEFT then
wg.site_cap = wg.site_cap-25
elseif keys.CURSOR_RIGHT then
wg.site_cap = wg.site_cap+25
elseif keys.CURSOR_LEFT_FAST then
wg.site_cap = wg.site_cap-100
elseif keys.CURSOR_RIGHT_FAST then
wg.site_cap = wg.site_cap+100
elseif keys.CURSOR_DOWN then
wg.end_year = wg.end_year-1
elseif keys.CURSOR_UP then
wg.end_year = wg.end_year+1
elseif keys.CURSOR_DOWN_FAST then
wg.end_year = wg.end_year-25
elseif keys.CURSOR_UP_FAST then
wg.end_year = wg.end_year+25
elseif keys.CURSOR_DOWN_Z then
wg.end_year = wg.end_year-1000
elseif keys.CURSOR_UP_Z then
wg.end_year = wg.end_year+1000
elseif keys.STANDARDSCROLL_PAGEDOWN then
wg.total_civ_population = wg.total_civ_population-250
elseif keys.STANDARDSCROLL_PAGEUP then
wg.total_civ_population = wg.total_civ_population+250
elseif keys.SECONDSCROLL_PAGEDOWN then
wg.total_civ_population = wg.total_civ_population-1000
elseif keys.SECONDSCROLL_PAGEUP then
wg.total_civ_population = wg.total_civ_population+1000
end
elseif not df.viewscreen_new_regionst:is_instance(wv) then
if keys then
self:dismiss()
qerror("Should be used during worldgen.")
end
end
self.super.onInput(self,keys)
end
function genedit:onRenderBody(dc)
self._native.parent:render()
end
genedit():show()