Deploy dialog requirements done
BIN
core/assets-raw/sprites/ui/icons/icon-cancel-2.png
Normal file
After Width: | Height: | Size: 233 B |
BIN
core/assets-raw/sprites/ui/icons/icon-check-2.png
Normal file
After Width: | Height: | Size: 221 B |
Before Width: | Height: | Size: 363 B After Width: | Height: | Size: 349 B |
BIN
core/assets-raw/sprites/ui/icons/icon-zone.png
Normal file
After Width: | Height: | Size: 292 B |
@ -52,6 +52,7 @@ filename = File Name:
|
||||
unlocked = New content unlocked!
|
||||
completed = [accent]Completed
|
||||
techtree = Tech Tree
|
||||
research.list = [LIGHT_GRAY]Research:
|
||||
research = Research
|
||||
researched = [LIGHT_GRAY]{0} researched.
|
||||
players = {0} players online
|
||||
@ -238,11 +239,13 @@ editor = Editor
|
||||
mapeditor = Map Editor
|
||||
donate = Donate
|
||||
|
||||
complete = Complete:
|
||||
locked = Locked
|
||||
complete = [LIGHT_GRAY]Complete:
|
||||
resume = Resume Zone:\n[LIGHT_GRAY]{0}
|
||||
bestwave = [LIGHT_GRAY]Best: {0}
|
||||
launch = Launch
|
||||
launch.title = Launch Successful
|
||||
zone.unlocked = [LIGHT_GRAY]{0} unlocked.
|
||||
|
||||
connectfail = [crimson]Failed to connect to server:\n\n[accent]{0}
|
||||
error.unreachable = Server unreachable.\nIs the address spelled correctly?
|
||||
|
Before Width: | Height: | Size: 978 KiB After Width: | Height: | Size: 988 KiB |
@ -1,57 +0,0 @@
|
||||
info face="Title" size=16 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=0,0
|
||||
common lineHeight=14 base=0 scaleW=512 scaleH=512 pages=1 packed=0
|
||||
page id=0 file="title.png"
|
||||
chars count=53
|
||||
char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=3 page=0 chnl=0
|
||||
char id=97 x=1 y=0 width=9 height=12 xoffset=0 yoffset=-12 xadvance=8 page=0 chnl=0
|
||||
char id=65 x=1 y=0 width=9 height=12 xoffset=0 yoffset=-12 xadvance=8 page=0 chnl=0
|
||||
char id=98 x=14 y=0 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=66 x=14 y=0 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=99 x=26 y=0 width=7 height=12 xoffset=0 yoffset=-12 xadvance=6 page=0 chnl=0
|
||||
char id=67 x=26 y=0 width=7 height=12 xoffset=0 yoffset=-12 xadvance=6 page=0 chnl=0
|
||||
char id=100 x=39 y=0 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=68 x=39 y=0 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=101 x=50 y=0 width=7 height=12 xoffset=0 yoffset=-12 xadvance=6 page=0 chnl=0
|
||||
char id=69 x=50 y=0 width=7 height=12 xoffset=0 yoffset=-12 xadvance=6 page=0 chnl=0
|
||||
char id=102 x=63 y=0 width=7 height=12 xoffset=0 yoffset=-12 xadvance=6 page=0 chnl=0
|
||||
char id=70 x=63 y=0 width=7 height=12 xoffset=0 yoffset=-12 xadvance=6 page=0 chnl=0
|
||||
char id=103 x=74 y=0 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=71 x=74 y=0 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=104 x=86 y=0 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=72 x=86 y=0 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=105 x=100 y=0 width=4 height=12 xoffset=0 yoffset=-12 xadvance=3 page=0 chnl=0
|
||||
char id=73 x=100 y=0 width=4 height=12 xoffset=0 yoffset=-12 xadvance=3 page=0 chnl=0
|
||||
char id=106 x=2 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=74 x=2 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=107 x=14 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=75 x=14 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=108 x=28 y=12 width=7 height=12 xoffset=0 yoffset=-12 xadvance=6 page=0 chnl=0
|
||||
char id=76 x=28 y=12 width=7 height=12 xoffset=0 yoffset=-12 xadvance=6 page=0 chnl=0
|
||||
char id=109 x=38 y=12 width=10 height=12 xoffset=0 yoffset=-12 xadvance=9 page=0 chnl=0
|
||||
char id=77 x=38 y=12 width=10 height=12 xoffset=0 yoffset=-12 xadvance=9 page=0 chnl=0
|
||||
char id=110 x=50 y=12 width=9 height=12 xoffset=0 yoffset=-12 xadvance=8 page=0 chnl=0
|
||||
char id=78 x=50 y=12 width=9 height=12 xoffset=0 yoffset=-12 xadvance=8 page=0 chnl=0
|
||||
char id=111 x=63 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=79 x=63 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=112 x=75 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=80 x=75 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=113 x=87 y=12 width=9 height=12 xoffset=0 yoffset=-12 xadvance=8 page=0 chnl=0
|
||||
char id=81 x=87 y=12 width=9 height=12 xoffset=0 yoffset=-12 xadvance=8 page=0 chnl=0
|
||||
char id=114 x=99 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=82 x=99 y=12 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=115 x=2 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=83 x=2 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=116 x=14 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=84 x=14 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=117 x=26 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=85 x=26 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=118 x=37 y=24 width=9 height=12 xoffset=0 yoffset=-12 xadvance=8 page=0 chnl=0
|
||||
char id=86 x=37 y=24 width=9 height=12 xoffset=0 yoffset=-12 xadvance=8 page=0 chnl=0
|
||||
char id=119 x=50 y=24 width=10 height=12 xoffset=0 yoffset=-12 xadvance=9 page=0 chnl=0
|
||||
char id=87 x=50 y=24 width=10 height=12 xoffset=0 yoffset=-12 xadvance=9 page=0 chnl=0
|
||||
char id=120 x=62 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=88 x=62 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=121 x=75 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=89 x=75 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=122 x=86 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
||||
char id=90 x=86 y=24 width=8 height=12 xoffset=0 yoffset=-12 xadvance=7 page=0 chnl=0
|
Before Width: | Height: | Size: 1.1 KiB |
@ -1,770 +0,0 @@
|
||||
|
||||
uiskin.png
|
||||
size: 512,128
|
||||
format: RGBA8888
|
||||
filter: Nearest,Nearest
|
||||
repeat: none
|
||||
blank
|
||||
rotate: false
|
||||
xy: 202, 14
|
||||
size: 8, 8
|
||||
orig: 8, 8
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
border
|
||||
rotate: false
|
||||
xy: 360, 35
|
||||
size: 12, 12
|
||||
split: 4, 4, 4, 4
|
||||
orig: 12, 12
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
border-circle
|
||||
rotate: false
|
||||
xy: 418, 35
|
||||
size: 28, 28
|
||||
orig: 28, 28
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
border-circle-error
|
||||
rotate: false
|
||||
xy: 82, 10
|
||||
size: 28, 28
|
||||
orig: 28, 28
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
border-dark-blue
|
||||
rotate: false
|
||||
xy: 500, 42
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
border-error
|
||||
rotate: false
|
||||
xy: 37, 7
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
border-white
|
||||
rotate: false
|
||||
xy: 58, 2
|
||||
size: 12, 12
|
||||
split: 4, 4, 4, 4
|
||||
orig: 12, 12
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button
|
||||
rotate: false
|
||||
xy: 212, 2
|
||||
size: 24, 40
|
||||
split: 10, 10, 6, 10
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-blue
|
||||
rotate: false
|
||||
xy: 82, 40
|
||||
size: 24, 40
|
||||
split: 10, 10, 10, 8
|
||||
pad: 8, 8, 2, 2
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-blue-down
|
||||
rotate: false
|
||||
xy: 448, 40
|
||||
size: 24, 40
|
||||
split: 10, 10, 10, 8
|
||||
pad: 8, 8, 2, 2
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-blue-over
|
||||
rotate: false
|
||||
xy: 474, 40
|
||||
size: 24, 40
|
||||
split: 10, 10, 10, 8
|
||||
pad: 8, 8, 2, 2
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-down
|
||||
rotate: false
|
||||
xy: 108, 40
|
||||
size: 24, 40
|
||||
split: 10, 10, 6, 10
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-over
|
||||
rotate: false
|
||||
xy: 108, 40
|
||||
size: 24, 40
|
||||
split: 10, 10, 6, 10
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-gray
|
||||
rotate: false
|
||||
xy: 160, 40
|
||||
size: 24, 40
|
||||
split: 10, 10, 10, 8
|
||||
pad: 8, 8, 2, 2
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-gray-over
|
||||
rotate: false
|
||||
xy: 134, 40
|
||||
size: 24, 40
|
||||
split: 10, 10, 10, 8
|
||||
pad: 8, 8, 2, 2
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-map
|
||||
rotate: false
|
||||
xy: 212, 44
|
||||
size: 24, 40
|
||||
split: 10, 10, 5, 10
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-map-down
|
||||
rotate: false
|
||||
xy: 186, 40
|
||||
size: 24, 40
|
||||
split: 10, 10, 5, 10
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-map-over
|
||||
rotate: false
|
||||
xy: 186, 40
|
||||
size: 24, 40
|
||||
split: 10, 10, 5, 10
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-red
|
||||
rotate: false
|
||||
xy: 238, 44
|
||||
size: 24, 40
|
||||
split: 10, 10, 10, 8
|
||||
pad: 8, 8, 2, 2
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-select
|
||||
rotate: false
|
||||
xy: 330, 39
|
||||
size: 24, 24
|
||||
split: 4, 4, 4, 4
|
||||
orig: 24, 24
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-window-bg
|
||||
rotate: false
|
||||
xy: 264, 44
|
||||
size: 24, 40
|
||||
split: 10, 10, 10, 8
|
||||
pad: 8, 8, 2, 2
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
button-window-over
|
||||
rotate: false
|
||||
xy: 290, 44
|
||||
size: 24, 40
|
||||
split: 10, 10, 10, 8
|
||||
pad: 8, 8, 2, 2
|
||||
orig: 24, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
check-off
|
||||
rotate: false
|
||||
xy: 474, 6
|
||||
size: 28, 32
|
||||
orig: 28, 32
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
check-on
|
||||
rotate: false
|
||||
xy: 238, 10
|
||||
size: 28, 32
|
||||
orig: 28, 32
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
check-over
|
||||
rotate: false
|
||||
xy: 268, 10
|
||||
size: 28, 32
|
||||
orig: 28, 32
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
clear
|
||||
rotate: false
|
||||
xy: 500, 50
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
color-picker-bar-selector
|
||||
rotate: false
|
||||
xy: 495, 98
|
||||
size: 14, 28
|
||||
orig: 14, 28
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
color-picker-cross
|
||||
rotate: false
|
||||
xy: 360, 23
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
color-picker-selector-horizontal
|
||||
rotate: false
|
||||
xy: 495, 95
|
||||
size: 6, 1
|
||||
orig: 6, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
color-picker-selector-vertical
|
||||
rotate: false
|
||||
xy: 72, 2
|
||||
size: 1, 6
|
||||
orig: 1, 6
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
cursor
|
||||
rotate: false
|
||||
xy: 316, 44
|
||||
size: 4, 4
|
||||
orig: 4, 4
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
cursor-normal
|
||||
rotate: false
|
||||
xy: 374, 37
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-pane
|
||||
rotate: false
|
||||
xy: 389, 37
|
||||
size: 5, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 5, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-pane-no-border
|
||||
rotate: false
|
||||
xy: 75, 2
|
||||
size: 1, 1
|
||||
split: 0, 0, 0, 0
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-select
|
||||
rotate: false
|
||||
xy: 2, 12
|
||||
size: 54, 48
|
||||
split: 8, 32, 0, 48
|
||||
orig: 54, 48
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
default-select-selection
|
||||
rotate: false
|
||||
xy: 37, 2
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
grey
|
||||
rotate: false
|
||||
xy: 78, 2
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
menu-bg
|
||||
rotate: false
|
||||
xy: 78, 2
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-cancel
|
||||
rotate: false
|
||||
xy: 356, 49
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-check
|
||||
rotate: false
|
||||
xy: 372, 49
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-close
|
||||
rotate: false
|
||||
xy: 205, 86
|
||||
size: 40, 40
|
||||
orig: 40, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-close-down
|
||||
rotate: false
|
||||
xy: 247, 86
|
||||
size: 40, 40
|
||||
orig: 40, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-close-over
|
||||
rotate: false
|
||||
xy: 289, 86
|
||||
size: 40, 40
|
||||
orig: 40, 40
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-cursor
|
||||
rotate: false
|
||||
xy: 332, 11
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-defense
|
||||
rotate: false
|
||||
xy: 344, 11
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-distribution
|
||||
rotate: false
|
||||
xy: 356, 11
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-menu
|
||||
rotate: false
|
||||
xy: 368, 11
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-pause
|
||||
rotate: false
|
||||
xy: 372, 23
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-play
|
||||
rotate: false
|
||||
xy: 380, 11
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-production
|
||||
rotate: false
|
||||
xy: 384, 23
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-rotate
|
||||
rotate: false
|
||||
xy: 328, 23
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-rotate-arrow
|
||||
rotate: false
|
||||
xy: 344, 23
|
||||
size: 14, 14
|
||||
orig: 14, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-settings
|
||||
rotate: false
|
||||
xy: 396, 30
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
icon-touch
|
||||
rotate: false
|
||||
xy: 396, 18
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
list-selection
|
||||
rotate: false
|
||||
xy: 386, 36
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
logotext
|
||||
rotate: false
|
||||
xy: 68, 105
|
||||
size: 89, 21
|
||||
orig: 89, 21
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
logotext-gray
|
||||
rotate: false
|
||||
xy: 68, 82
|
||||
size: 89, 21
|
||||
orig: 89, 21
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
padded-list-selection
|
||||
rotate: false
|
||||
xy: 500, 47
|
||||
size: 10, 1
|
||||
split: 4, 4, 0, 1
|
||||
orig: 10, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
pane
|
||||
rotate: false
|
||||
xy: 448, 2
|
||||
size: 24, 36
|
||||
split: 10, 10, 5, 5
|
||||
orig: 24, 36
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
progressbar
|
||||
rotate: false
|
||||
xy: 324, 52
|
||||
size: 1, 32
|
||||
orig: 1, 32
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
progressbar-filled
|
||||
rotate: false
|
||||
xy: 327, 52
|
||||
size: 1, 32
|
||||
orig: 1, 32
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
progressbar-filled-vertical
|
||||
rotate: false
|
||||
xy: 474, 3
|
||||
size: 32, 1
|
||||
orig: 32, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
progressbar-vertical
|
||||
rotate: false
|
||||
xy: 298, 11
|
||||
size: 32, 1
|
||||
orig: 32, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
radio-off
|
||||
rotate: false
|
||||
xy: 112, 10
|
||||
size: 28, 28
|
||||
orig: 28, 28
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
radio-on
|
||||
rotate: false
|
||||
xy: 142, 10
|
||||
size: 28, 28
|
||||
orig: 28, 28
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
scroll
|
||||
rotate: false
|
||||
xy: 274, 2
|
||||
size: 34, 6
|
||||
split: 4, 4, 2, 2
|
||||
orig: 34, 6
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
scroll-horizontal
|
||||
rotate: false
|
||||
xy: 316, 50
|
||||
size: 6, 34
|
||||
split: 2, 2, 0, 34
|
||||
pad: 0, 5, 5, 4
|
||||
orig: 6, 34
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
scroll-knob-horizontal
|
||||
rotate: false
|
||||
xy: 504, 62
|
||||
size: 6, 34
|
||||
split: 2, 2, 0, 34
|
||||
pad: 0, 5, 13, 12
|
||||
orig: 6, 34
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
scroll-knob-vertical
|
||||
rotate: false
|
||||
xy: 238, 2
|
||||
size: 34, 6
|
||||
split: 12, 12, 2, 2
|
||||
orig: 34, 6
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
select-box-list-bg
|
||||
rotate: false
|
||||
xy: 205, 83
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
window-bg
|
||||
rotate: false
|
||||
xy: 205, 83
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
select-down
|
||||
rotate: false
|
||||
xy: 2, 2
|
||||
size: 14, 8
|
||||
orig: 14, 8
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
select-up
|
||||
rotate: false
|
||||
xy: 18, 2
|
||||
size: 14, 8
|
||||
orig: 14, 8
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
selection
|
||||
rotate: false
|
||||
xy: 328, 20
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
separator
|
||||
rotate: false
|
||||
xy: 404, 15
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-over
|
||||
rotate: false
|
||||
xy: 404, 15
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
separator-menu
|
||||
rotate: false
|
||||
xy: 392, 20
|
||||
size: 1, 1
|
||||
orig: 1, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slider
|
||||
rotate: false
|
||||
xy: 386, 39
|
||||
size: 1, 8
|
||||
orig: 1, 8
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slider-knob
|
||||
rotate: false
|
||||
xy: 447, 82
|
||||
size: 22, 44
|
||||
orig: 22, 44
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slider-knob-disabled
|
||||
rotate: false
|
||||
xy: 471, 82
|
||||
size: 22, 44
|
||||
orig: 22, 44
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slider-knob-down
|
||||
rotate: false
|
||||
xy: 58, 16
|
||||
size: 22, 44
|
||||
orig: 22, 44
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slider-knob-over
|
||||
rotate: false
|
||||
xy: 58, 16
|
||||
size: 22, 44
|
||||
orig: 22, 44
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slider-vertical
|
||||
rotate: false
|
||||
xy: 72, 13
|
||||
size: 8, 1
|
||||
orig: 8, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
slot
|
||||
rotate: false
|
||||
xy: 2, 62
|
||||
size: 64, 64
|
||||
split: 4, 8, 8, 4
|
||||
orig: 64, 64
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
splitpane
|
||||
rotate: false
|
||||
xy: 202, 11
|
||||
size: 8, 1
|
||||
orig: 8, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
splitpane-over
|
||||
rotate: false
|
||||
xy: 72, 10
|
||||
size: 8, 1
|
||||
orig: 8, 1
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
splitpane-vertical
|
||||
rotate: false
|
||||
xy: 34, 2
|
||||
size: 1, 8
|
||||
orig: 1, 8
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
splitpane-vertical-over
|
||||
rotate: false
|
||||
xy: 356, 39
|
||||
size: 1, 8
|
||||
orig: 1, 8
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
sub-menu
|
||||
rotate: false
|
||||
xy: 202, 24
|
||||
size: 8, 14
|
||||
orig: 8, 14
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
textfield
|
||||
rotate: false
|
||||
xy: 298, 14
|
||||
size: 28, 28
|
||||
split: 6, 6, 6, 6
|
||||
orig: 28, 28
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
textfield-over
|
||||
rotate: false
|
||||
xy: 172, 10
|
||||
size: 28, 28
|
||||
split: 2, 2, 2, 2
|
||||
orig: 28, 28
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tooltip-bg
|
||||
rotate: false
|
||||
xy: 408, 37
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
touchpad-knob
|
||||
rotate: false
|
||||
xy: 159, 82
|
||||
size: 44, 44
|
||||
orig: 44, 44
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-minus
|
||||
rotate: false
|
||||
xy: 392, 6
|
||||
size: 10, 10
|
||||
orig: 10, 10
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-plus
|
||||
rotate: false
|
||||
xy: 68, 64
|
||||
size: 12, 16
|
||||
orig: 12, 16
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
tree-selection
|
||||
rotate: false
|
||||
xy: 413, 37
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
white
|
||||
rotate: false
|
||||
xy: 75, 5
|
||||
size: 3, 3
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
window
|
||||
rotate: false
|
||||
xy: 418, 65
|
||||
size: 27, 61
|
||||
split: 8, 8, 44, 11
|
||||
orig: 27, 61
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
window-border-bg
|
||||
rotate: false
|
||||
xy: 495, 90
|
||||
size: 3, 3
|
||||
split: 1, 1, 1, 1
|
||||
orig: 3, 3
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
window-gray
|
||||
rotate: false
|
||||
xy: 331, 65
|
||||
size: 27, 61
|
||||
split: 5, 4, 52, 4
|
||||
orig: 27, 61
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
window-noborder
|
||||
rotate: false
|
||||
xy: 360, 65
|
||||
size: 27, 61
|
||||
split: 5, 4, 53, 3
|
||||
orig: 27, 61
|
||||
offset: 0, 0
|
||||
index: -1
|
||||
window-resizable
|
||||
rotate: false
|
||||
xy: 389, 42
|
||||
size: 27, 84
|
||||
split: 3, 19, 2, 20
|
||||
pad: 5, 5, 50, 7
|
||||
orig: 27, 84
|
||||
offset: 0, 0
|
||||
index: -1
|
@ -62,8 +62,9 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
itemRequirements = ItemStack.with(Items.copper, 2000);
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
blockRequirements = new Block[]{Blocks.router};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
waveTimer = true;
|
||||
@ -75,7 +76,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -88,7 +89,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -101,7 +102,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -114,7 +115,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -127,7 +128,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -140,7 +141,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -153,7 +154,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -166,7 +167,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -179,7 +180,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -192,7 +193,7 @@ public class Zones implements ContentList{
|
||||
deployCost = ItemStack.with(Items.copper, 300);
|
||||
startingItems = ItemStack.with(Items.copper, 200);
|
||||
conditionWave = 15;
|
||||
zoneRequirements = new Zone[]{groundZero};
|
||||
zoneRequirements = new Zone[]{frozenForest};
|
||||
blockRequirements = new Block[]{Blocks.copperWall};
|
||||
rules = () -> new Rules(){{
|
||||
waves = true;
|
||||
@ -200,5 +201,7 @@ public class Zones implements ContentList{
|
||||
waveSpacing = 60 * 80;
|
||||
}};
|
||||
}};
|
||||
|
||||
frozenForest.zoneRequirements = new Zone[]{frozenForest};
|
||||
}
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public class UI implements ApplicationListener{
|
||||
public UI(){
|
||||
Skin skin = new Skin(Core.atlas);
|
||||
generateFonts(skin);
|
||||
skin.load(Core.files.internal("ui/uiskin.json"));
|
||||
skin.load(Core.files.internal("sprites/uiskin.json"));
|
||||
|
||||
for(BitmapFont font : skin.getAll(BitmapFont.class).values()){
|
||||
font.setUseIntegerPositions(true);
|
||||
@ -238,7 +238,7 @@ public class UI implements ApplicationListener{
|
||||
Table table = new Table();
|
||||
table.setFillParent(true);
|
||||
table.actions(Actions.fadeOut(7f, Interpolation.fade), Actions.removeActor());
|
||||
table.top().add(info).padTop(8);
|
||||
table.top().add(info).padTop(40);
|
||||
Core.scene.add(table);
|
||||
}
|
||||
|
||||
|
@ -43,6 +43,10 @@ public class GlobalData{
|
||||
return getWaveScore(zone) >= zone.conditionWave;
|
||||
}
|
||||
|
||||
public int getItem(Item item){
|
||||
return items.get(item, 0);
|
||||
}
|
||||
|
||||
public void addItem(Item item, int amount){
|
||||
modified = true;
|
||||
items.getAndIncrement(item, 0, amount);
|
||||
@ -84,7 +88,7 @@ public class GlobalData{
|
||||
* Results are not saved until you call {@link #save()}.
|
||||
*/
|
||||
public void unlockContent(UnlockableContent content){
|
||||
if(!content.canBeUnlocked() || content.alwaysUnlocked()) return;
|
||||
if(content.alwaysUnlocked()) return;
|
||||
|
||||
//fire unlock event so other classes can use it
|
||||
if(unlocked.getOr(content.getContentType(), ObjectSet::new).add(content.getContentName())){
|
||||
|
@ -3,8 +3,6 @@ package io.anuke.mindustry.game;
|
||||
import io.anuke.arc.graphics.g2d.TextureRegion;
|
||||
import io.anuke.arc.scene.ui.layout.Table;
|
||||
|
||||
import static io.anuke.mindustry.Vars.data;
|
||||
|
||||
/**Base interface for an unlockable content type.*/
|
||||
public abstract class UnlockableContent extends MappableContent{
|
||||
/**Returns the localized name of this content.*/
|
||||
@ -28,24 +26,4 @@ public abstract class UnlockableContent extends MappableContent{
|
||||
public boolean alwaysUnlocked(){
|
||||
return false;
|
||||
}
|
||||
|
||||
/**Lists the content that must be unlocked in order for this specific content to become unlocked. May return null.*/
|
||||
public UnlockableContent[] getDependencies(){
|
||||
return null;
|
||||
}
|
||||
|
||||
/**Returns whether dependencies are satisfied for unlocking this content.*/
|
||||
public boolean canBeUnlocked(){
|
||||
UnlockableContent[] depend = getDependencies();
|
||||
if(depend == null){
|
||||
return true;
|
||||
}else{
|
||||
for(UnlockableContent cont : depend){
|
||||
if(!data.isUnlocked(cont)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -168,7 +168,6 @@ public class MapIO{
|
||||
String name = stream.readUTF();
|
||||
Block block = content.getByName(ContentType.block, name);
|
||||
if(block == null){
|
||||
//Log.info("Map load info: No block with name {0} found.", name);
|
||||
block = Blocks.air;
|
||||
}
|
||||
map.put(id, block.id);
|
||||
|
@ -30,7 +30,7 @@ public class ContentDisplay{
|
||||
|
||||
table.row();
|
||||
|
||||
table.addImage("white").height(3).color(Color.LIGHT_GRAY).pad(15).padLeft(0).padRight(0).fillX();
|
||||
table.addImage("white").height(3).color(Color.LIGHT_GRAY).pad(8).padLeft(0).padRight(0).fillX();
|
||||
|
||||
table.row();
|
||||
|
||||
@ -38,7 +38,7 @@ public class ContentDisplay{
|
||||
table.add(block.fullDescription).padLeft(5).padRight(5).width(400f).wrap().fillX();
|
||||
table.row();
|
||||
|
||||
table.addImage("white").height(3).color(Color.LIGHT_GRAY).pad(15).padLeft(0).padRight(0).fillX();
|
||||
table.addImage("white").height(3).color(Color.LIGHT_GRAY).pad(8).padLeft(0).padRight(0).fillX();
|
||||
table.row();
|
||||
}
|
||||
|
||||
|
@ -2,15 +2,19 @@ package io.anuke.mindustry.ui.dialogs;
|
||||
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.collection.ObjectIntMap;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.scene.ui.ScrollPane;
|
||||
import io.anuke.arc.scene.ui.TextButton;
|
||||
import io.anuke.arc.scene.ui.layout.Table;
|
||||
import io.anuke.mindustry.core.GameState.State;
|
||||
import io.anuke.mindustry.game.Saves.SaveSlot;
|
||||
import io.anuke.mindustry.io.SaveIO.SaveException;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
import io.anuke.mindustry.type.ItemStack;
|
||||
import io.anuke.mindustry.type.ItemType;
|
||||
import io.anuke.mindustry.type.Zone;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Block.Icon;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
@ -49,12 +53,25 @@ public class DeployDialog extends FloatingDialog{
|
||||
int i = 0;
|
||||
for(Zone zone : content.zones()){
|
||||
table(t -> {
|
||||
TextButton button = t.addButton(data.isUnlocked(zone) ? zone.localizedName() : "???", () -> {
|
||||
TextButton button = t.addButton("", () -> {
|
||||
if(!data.isUnlocked(zone)){
|
||||
data.removeItems(zone.itemRequirements);
|
||||
data.unlockContent(zone);
|
||||
setup();
|
||||
}else{
|
||||
data.removeItems(zone.deployCost);
|
||||
hide();
|
||||
world.playZone(zone);
|
||||
}).size(200f).disabled(!data.hasItems(zone.deployCost) || !data.isUnlocked(zone)).get();
|
||||
}
|
||||
}).size(250f).disabled(b -> !canUnlock(zone)).get();
|
||||
|
||||
button.clearChildren();
|
||||
|
||||
if(data.isUnlocked(zone)){
|
||||
button.table(title -> {
|
||||
title.addImage("icon-zone").padRight(3);
|
||||
title.add(zone.localizedName());
|
||||
});
|
||||
button.row();
|
||||
|
||||
if(data.getWaveScore(zone) > 0){
|
||||
@ -63,7 +80,8 @@ public class DeployDialog extends FloatingDialog{
|
||||
|
||||
button.row();
|
||||
|
||||
if(data.isUnlocked(zone)){
|
||||
button.add("$launch").color(Color.LIGHT_GRAY).pad(4);
|
||||
button.row();
|
||||
button.table(req -> {
|
||||
for(ItemStack stack : zone.deployCost){
|
||||
req.addImage(stack.item.region).size(8 * 3);
|
||||
@ -71,48 +89,72 @@ public class DeployDialog extends FloatingDialog{
|
||||
}
|
||||
}).pad(3).growX();
|
||||
}else{
|
||||
boolean anyNeeded = false;
|
||||
for(Zone other : zone.zoneRequirements){
|
||||
if(!data.isCompleted(other)){
|
||||
anyNeeded = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(anyNeeded){
|
||||
button.addImage("icon-zone-locked");
|
||||
button.row();
|
||||
button.table(req -> {
|
||||
req.add("$complete").left();
|
||||
req.row();
|
||||
for(Zone other : zone.zoneRequirements){
|
||||
if(!data.isCompleted(other)){
|
||||
req.add("- [LIGHT_GRAY]" + other.localizedName()).left();
|
||||
req.row();
|
||||
}
|
||||
}
|
||||
button.add("$locked").padBottom(6);
|
||||
|
||||
if(!hidden(zone)){
|
||||
button.row();
|
||||
|
||||
button.table(req -> {
|
||||
req.defaults().left();
|
||||
|
||||
if(zone.zoneRequirements.length > 0){
|
||||
req.table(r -> {
|
||||
if(zone.itemRequirements.length > 0){
|
||||
for(ItemStack stack : zone.itemRequirements){
|
||||
r.addImage(stack.item.region).size(8 * 3);
|
||||
r.add(stack.amount + "").left();
|
||||
}
|
||||
r.add("$complete").colspan(2).left();
|
||||
r.row();
|
||||
for(Zone other : zone.zoneRequirements){
|
||||
r.addImage("icon-zone").padRight(4);
|
||||
r.add(other.localizedName()).color(Color.LIGHT_GRAY);
|
||||
r.addImage(data.isCompleted(zone) ? "icon-check-2" : "icon-cancel-2")
|
||||
.color(data.isCompleted(zone) ? Color.LIGHT_GRAY : Color.SCARLET).padLeft(3);
|
||||
r.row();
|
||||
}
|
||||
});
|
||||
}).pad(3).growX();
|
||||
}
|
||||
}
|
||||
|
||||
button.row();
|
||||
button.addImage("icon-zone-locked").visible(() -> !data.isUnlocked(zone));
|
||||
req.row();
|
||||
|
||||
if(zone.itemRequirements.length > 0){
|
||||
req.table(r -> {
|
||||
for(ItemStack stack : zone.itemRequirements){
|
||||
r.addImage(stack.item.region).size(8 * 3).padRight(4);
|
||||
r.add(Math.min(data.getItem(stack.item), stack.amount) + "/" + stack.amount)
|
||||
.color(stack.amount > data.getItem(stack.item) ? Color.SCARLET : Color.LIGHT_GRAY).left();
|
||||
r.row();
|
||||
}
|
||||
}).padTop(10);
|
||||
}
|
||||
|
||||
req.row();
|
||||
|
||||
if(zone.blockRequirements.length > 0){
|
||||
req.table(r -> {
|
||||
r.add("$research.list").colspan(2).left();
|
||||
r.row();
|
||||
for(Block block : zone.blockRequirements){
|
||||
r.addImage(block.icon(Icon.small)).size(8 * 3).padRight(4);
|
||||
r.add(block.formalName).color(Color.LIGHT_GRAY);
|
||||
r.addImage(data.isUnlocked(block) ? "icon-check-2" : "icon-cancel-2")
|
||||
.color(data.isUnlocked(block) ? Color.LIGHT_GRAY : Color.SCARLET).padLeft(3);
|
||||
r.row();
|
||||
}
|
||||
|
||||
}).padTop(10);
|
||||
}
|
||||
}).growX();
|
||||
}
|
||||
}
|
||||
}).pad(4);
|
||||
|
||||
if(++i % 4 == 0){
|
||||
if(++i % 2 == 0){
|
||||
row();
|
||||
}
|
||||
}
|
||||
}else{
|
||||
addButton(Core.bundle.format("resume", control.saves.getZoneSlot().getZone().localizedName()), () -> {
|
||||
SaveSlot slot = control.saves.getZoneSlot();
|
||||
|
||||
TextButton button = addButton(Core.bundle.format("resume", slot.getZone().localizedName()), () -> {
|
||||
hide();
|
||||
ui.loadAnd(() -> {
|
||||
try{
|
||||
@ -125,8 +167,42 @@ public class DeployDialog extends FloatingDialog{
|
||||
show();
|
||||
}
|
||||
});
|
||||
}).size(200f);
|
||||
}).size(200f).get();
|
||||
|
||||
String color = "[lightgray]";
|
||||
|
||||
button.defaults().colspan(2);
|
||||
button.row();
|
||||
button.add(Core.bundle.format("save.wave", color + slot.getWave()));
|
||||
button.row();
|
||||
button.label(() -> Core.bundle.format("save.playtime", color + slot.getPlayTime()));
|
||||
button.row();
|
||||
}
|
||||
}})).grow();
|
||||
}
|
||||
|
||||
boolean hidden(Zone zone){
|
||||
for(Zone other : zone.zoneRequirements){
|
||||
if(!data.isUnlocked(other)){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
boolean canUnlock(Zone zone){
|
||||
for(Zone other : zone.zoneRequirements){
|
||||
if(!data.isCompleted(other)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
for(Block other : zone.blockRequirements){
|
||||
if(!data.isUnlocked(other)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return data.hasItems(zone.itemRequirements);
|
||||
}
|
||||
}
|
||||
|