Refactor code structure for improved readability and maintainability; removed redundant code blocks and optimized existing functions.

This commit is contained in:
Kirill
2026-05-05 23:49:12 +03:00
parent fc86261a9d
commit df563bf1b1
44 changed files with 350 additions and 312 deletions
+15 -15
View File
@@ -10,15 +10,6 @@ var Settings: Dictionary = {
# TODO getter setter for locale
var Owniverse: Dictionary = {
"datetime": {},
"sector": "",
"location": "",
"charsheet": {},
"fleet": {},
"inventory": {},
}
var Locales: Dictionary = {}
var Locale = "en"
@@ -43,15 +34,15 @@ func get_description(item_id: String, items: Array = []) -> String:
return description
func _ready() -> void:
OwniverseEntities = _read_from_csv("res://Autoload/owniverse_entitites.csv")
OwniverseItems = _read_from_csv("res://Autoload/owniverse_items.csv")
OwniverseEntities = _read_from_csv("res://autoload/owniverse_entitites.txt")
OwniverseItems = _read_from_csv("res://autoload/owniverse_items.txt")
Locales["en"] = _read_from_csv("res://Autoload/locale.en.csv")
Locales["ru"] = _read_from_csv("res://Autoload/locale.ru.csv")
Locales["en"] = _read_from_csv("res://autoload/locale.en.txt")
Locales["ru"] = _read_from_csv("res://autoload/locale.ru.txt")
Templates["en"] = _read_from_csv("res://Autoload/templates.en.csv")
Templates["en"] = _read_from_csv("res://autoload/templates.en.txt")
func _read_from_csv(file_path: String) -> Dictionary:
@@ -97,6 +88,15 @@ func _read_from_csv(file_path: String) -> Dictionary:
return dict_data
func _read_folder_list(folder_name: String) -> void:
var dir := DirAccess.open(folder_name)
if dir == null: printerr("Could not open folder: ", folder_name); return
dir.list_dir_begin()
for file: String in dir.get_files():
print("", file)
func _print_dict(dict_to_print: Dictionary):
for d in dict_to_print:
print(d, "", dict_to_print[d])
@@ -1,6 +1,6 @@
id|is_visible|unlock|cost|bind|mass|space|lifespan|auto|gamma|blast|life_product|voids|output|destroy_level|degradation|planets|count_as|group_as|event_group|space_bonus|civ_bonus|claim
S|1|start|||||||||||||||||S|||
H|1|start|||||||||||||||||H|||
S|1|prime|||||||||||||||||S|||
H|1|prime|||||||||||||||||H|||
He|1|He:1||||||||||||||||||||
Met|1|Met:1||||||||||||||||||||
BD|1|BD:1||||||||||||||||||||
@@ -131,23 +131,23 @@ C4.2|1|C4.2:1|||||||||||||||C4|||||
C4.3|1|C4.3:1|||||||||||||||C4|||||
C4.4|1|C4.4:1|||||||||||||||C4|||||
Ct|0|||||||||||||||||||||
FHYD|1|FHYD:1||||||||||||||||||||
FTEM|1|FTEM:1||||||||||||||||||||
FITE|1|FITE:1||||||||||||||||||||
FSIN|1|FSIN:1||||||||||||||||||||
FPRI|1|FPRI:1||||||||||||||||||||
FSTE|1|FSTE:1||||||||||||||||||||
FREN|1|FREN:1||||||||||||||||||||
FINF|1|FINF:1||||||||||||||||||||
FFRO|1|FFRO:1||||||||||||||||||||
FDES|1|FDES:1||||||||||||||||||||
FROC|1|FROC:1||||||||||||||||||||
FPAN|1|FPAN:1||||||||||||||||||||
FGAI|1|FGAI:1||||||||||||||||||||
FDAR|1|FDAR:1||||||||||||||||||||
FEDE|1|FEDE:1||||||||||||||||||||
FPAC|1|FPAC:1||||||||||||||||||||
FENR|1|FENR:1||||||||||||||||||||
FMOR|1|FMOR:1||||||||||||||||||||
FDIS|1|FDIS:1||||||||||||||||||||
FREP|1|FREP:1||||||||||||||||||||
fsho|1|fsho:1||||||||||||||||||||
finf|1|finf:1||||||||||||||||||||
ftem|1|ftem:1||||||||||||||||||||
fcol|1|fcol:1||||||||||||||||||||
fpri|1|fpri:1||||||||||||||||||||
fsin|1|fsin:1||||||||||||||||||||
fren|1|fren:1||||||||||||||||||||
finf|1|finf:1||||||||||||||||||||
ffro|1|ffro:1||||||||||||||||||||
fdes|1|fdes:1||||||||||||||||||||
froc|1|froc:1||||||||||||||||||||
fpan|1|fpan:1||||||||||||||||||||
fgai|1|fgai:1||||||||||||||||||||
fdar|1|fdar:1||||||||||||||||||||
fede|1|fede:1||||||||||||||||||||
fpac|1|fpac:1||||||||||||||||||||
fenr|1|fenr:1||||||||||||||||||||
fmor|1|fmor:1||||||||||||||||||||
fdis|1|fdis:1||||||||||||||||||||
frep|1|frep:1||||||||||||||||||||
-125
View File
@@ -1,125 +0,0 @@
id|name|image|page|row|col|sub_page
Shovelin|Shovelin|UI/0-Forces/|0|0|0|
Inflatin|Inflatin|UI/0-Forces/|0|0|1|
Temporite|Temporite|UI/0-Forces/|0|0|2|
Collisite|Collisite|UI/0-Forces/|0|0|3|
Primex|Primex|UI/0-Forces/|0|0|4|
Singularite|Singularite|UI/0-Forces/|0|1|0|
Renewin|Renewin|UI/0-Forces/|0|1|1|
Infusite|Infusite|UI/0-Forces/|0|1|2|
Frostin|Frostin|UI/0-Forces/|0|1|3|
Destellarite|Destellarite|UI/0-Forces/|0|1|4|
Rockex|Rockex|UI/0-Forces/|0|2|0|
Panspermin|Panspermin|UI/0-Forces/|0|2|1|
Gaianite|Gaianite|UI/0-Forces/|0|2|2|
Darwinite|Darwinite|UI/0-Forces/|0|2|3|
Edenex|Edenex|UI/0-Forces/|0|2|4|
Pacifin|Pacifin|UI/0-Forces/|0|3|0|
Enragein|Enragein|UI/0-Forces/|0|3|1|
Moralite|Moralite|UI/0-Forces/|0|3|2|
Discriminite|Discriminite|UI/0-Forces/|0|3|3|
Reprex|Reprex|UI/0-Forces/|0|3|4|
S|Space|UI/1-Resources/|1|0|0|
H|Hydrogen|UI/1-Resources/|1|1|0|
He|Helium|UI/1-Resources/|1|2|0|
Met|Metal|UI/1-Resources/|1|3|0|
N|Nebula|UI/2-Stars/|2|0|0|
G|Globula|UI/2-Stars/|2|0|1|
STN|StarNursery|UI/2-Stars/|2|0|2|
MC|MolecularCloud|UI/2-Stars/|2|0|3|
ASTN|ActiveStarNursery|UI/2-Stars/|2|0|4|
BD|BrownDwarf|UI/2-Stars/|2|1|0|
RD|RedDwarf|UI/2-Stars/|2|1|1|
OD|OrangeDwarf|UI/2-Stars/|2|1|2|
YD|YellowDwarf|UI/2-Stars/|2|1|3|
WYD|WhiteYellowDwarf|UI/2-Stars/|2|1|4|
RG|RedGiant|UI/2-Stars/|2|2|0|
WS|WhiteStar|UI/2-Stars/|2|2|1|
BG|BlueGiant|UI/2-Stars/|2|2|2|
SG|Supergiant|UI/2-Stars/|2|2|3|
HG|Hypergiant|UI/2-Stars/|2|2|4|
WD|WhiteDwarf|UI/2-Stars/|2|3|0|
NS|NeutronStar|UI/2-Stars/|2|3|1|
MGT|Magnetar|UI/2-Stars/|2|3|2|
BH|BlackHole|UI/2-Stars/|2|3|3|
SMBH|SupermassiveBlackHole|UI/2-Stars/|2|3|4|
SCD|StarClusterScattered|UI/3-Structures/|3|0|0|
SCS|StarClusterSmall|UI/3-Structures/|3|0|1|
SCM|StarClusterMedium|UI/3-Structures/|3|0|2|
SCL|StarClusterLarge|UI/3-Structures/|3|0|3|
SCG|StarClusterGiant|UI/3-Structures/|3|0|4|
GED|GalaxyEllipticalDwarf|UI/3-Structures/|3|1|0|
GES|GalaxyEllipticalSmall|UI/3-Structures/|3|1|1|
GEM|GalaxyEllipticalMedium|UI/3-Structures/|3|1|2|
GEL|GalaxyEllipticalLarge|UI/3-Structures/|3|1|3|
GEG|GalaxyEllipticalGiant|UI/3-Structures/|3|1|4|
GSD|GalaxySpiralDwarf|UI/3-Structures/|3|2|0|
GSS|GalaxySpiralSmall|UI/3-Structures/|3|2|1|
GSM|GalaxySpiralMedium|UI/3-Structures/|3|2|2|
GSL|GalaxySpiralLarge|UI/3-Structures/|3|2|3|
GSG|GalaxySpiralGiant|UI/3-Structures/|3|2|4|
LGG|GalacticGroup|UI/3-Structures/|3|3|0|
LSC|GalacticSupercluster|UI/3-Structures/|3|3|1|
LGF|GalacticFilament|UI/3-Structures/|3|3|2|
LGW|GalacticWall|UI/3-Structures/|3|3|3|
LUB|UniverseBubble|UI/3-Structures/|3|3|4|
GG|GasGiant|UI/4-Life/|4|0|0|
AB|AsteroidBelt|UI/4-Life/|4|0|1|
RP|RockyPlanet|UI/4-Life/|4|0|2|
HP|HabitablePlanet|UI/4-Life/|4|0|3|
LP|LivingPlanet|UI/4-Life/|4|0|4|5
C0|Civ0|UI/4-Life/|4|1|0|6
C1|Civ1|UI/4-Life/|4|1|1|7
C2|Civ2|UI/4-Life/|4|1|2|8
C3|Civ3|UI/4-Life/|4|1|3|9
C4|Civ4|UI/4-Life/|4|1|4|10
EON1|Archean|UI/4-Life/Living/|5|0|0|
EON2|Proterozoic|UI/4-Life/Living/|5|0|1|
EON3|Paleozoic|UI/4-Life/Living/|5|0|2|
EON4|Mezozoic|UI/4-Life/Living/|5|0|3|
EON5|Cenozoic|UI/4-Life/Living/|5|0|4|
C0.0|Civ0.0|UI/4-Life/Civ0/|6|0|0|
C0.1|Civ0.1|UI/4-Life/Civ0/|6|0|1|
C0.2|Civ0.2|UI/4-Life/Civ0/|6|0|2|
C0.3|Civ0.3|UI/4-Life/Civ0/|6|0|3|
C0.4|Civ0.4|UI/4-Life/Civ0/|6|0|4|
C0.5|Civ0.5|UI/4-Life/Civ0/|6|1|0|
C0.6|Civ0.6|UI/4-Life/Civ0/|6|1|1|
C0.7|Civ0.7|UI/4-Life/Civ0/|6|1|2|
C0.8|Civ0.8|UI/4-Life/Civ0/|6|1|3|
C0.9|Civ0.9|UI/4-Life/Civ0/|6|1|4|
C1.0|Civ1.0|UI/4-Life/Civ1/|7|0|0|
C1.1|Civ1.1|UI/4-Life/Civ1/|7|0|1|
C1.2|Civ1.2|UI/4-Life/Civ1/|7|0|2|
C1.3|Civ1.3|UI/4-Life/Civ1/|7|0|3|
C1.4|Civ1.4|UI/4-Life/Civ1/|7|0|4|
C1.5|Civ1.5|UI/4-Life/Civ1/|7|1|0|
C1.6|Civ1.6|UI/4-Life/Civ1/|7|1|1|
C1.7|Civ1.7|UI/4-Life/Civ1/|7|1|2|
C1.8|Civ1.8|UI/4-Life/Civ1/|7|1|3|
C1.9|Civ1.9|UI/4-Life/Civ1/|7|1|4|
C2.0|Civ2.0|UI/4-Life/Civ2/|8|0|0|
C2.1|Civ2.1|UI/4-Life/Civ2/|8|0|1|
C2.2|Civ2.2|UI/4-Life/Civ2/|8|0|2|
C2.3|Civ2.3|UI/4-Life/Civ2/|8|0|3|
C2.4|Civ2.4|UI/4-Life/Civ2/|8|0|4|
C2.5|Civ2.5|UI/4-Life/Civ2/|8|1|0|
C2.6|Civ2.6|UI/4-Life/Civ2/|8|1|1|
C2.7|Civ2.7|UI/4-Life/Civ2/|8|1|2|
C2.8|Civ2.8|UI/4-Life/Civ2/|8|1|3|
C2.9|Civ2.9|UI/4-Life/Civ2/|8|1|4|
C3.0|Civ3.0|UI/4-Life/Civ3/|9|0|0|
C3.1|Civ3.1|UI/4-Life/Civ3/|9|0|1|
C3.2|Civ3.2|UI/4-Life/Civ3/|9|0|2|
C3.3|Civ3.3|UI/4-Life/Civ3/|9|0|3|
C3.4|Civ3.4|UI/4-Life/Civ3/|9|0|4|
C3.5|Civ3.5|UI/4-Life/Civ3/|9|1|0|
C3.6|Civ3.6|UI/4-Life/Civ3/|9|1|1|
C3.7|Civ3.7|UI/4-Life/Civ3/|9|1|2|
C3.8|Civ3.8|UI/4-Life/Civ3/|9|1|3|
C3.9|Civ3.9|UI/4-Life/Civ3/|9|1|4|
C4.0|Civ4.0|UI/4-Life/Civ4/|10|0|0|
C4.1|Civ4.1|UI/4-Life/Civ4/|10|0|1|
C4.2|Civ4.2|UI/4-Life/Civ4/|10|0|2|
C4.3|Civ4.3|UI/4-Life/Civ4/|10|0|3|
C4.4|Civ4.4|UI/4-Life/Civ4/|10|0|4|
1 id name image page row col sub_page
2 Shovelin Shovelin UI/0-Forces/ 0 0 0
3 Inflatin Inflatin UI/0-Forces/ 0 0 1
4 Temporite Temporite UI/0-Forces/ 0 0 2
5 Collisite Collisite UI/0-Forces/ 0 0 3
6 Primex Primex UI/0-Forces/ 0 0 4
7 Singularite Singularite UI/0-Forces/ 0 1 0
8 Renewin Renewin UI/0-Forces/ 0 1 1
9 Infusite Infusite UI/0-Forces/ 0 1 2
10 Frostin Frostin UI/0-Forces/ 0 1 3
11 Destellarite Destellarite UI/0-Forces/ 0 1 4
12 Rockex Rockex UI/0-Forces/ 0 2 0
13 Panspermin Panspermin UI/0-Forces/ 0 2 1
14 Gaianite Gaianite UI/0-Forces/ 0 2 2
15 Darwinite Darwinite UI/0-Forces/ 0 2 3
16 Edenex Edenex UI/0-Forces/ 0 2 4
17 Pacifin Pacifin UI/0-Forces/ 0 3 0
18 Enragein Enragein UI/0-Forces/ 0 3 1
19 Moralite Moralite UI/0-Forces/ 0 3 2
20 Discriminite Discriminite UI/0-Forces/ 0 3 3
21 Reprex Reprex UI/0-Forces/ 0 3 4
22 S Space UI/1-Resources/ 1 0 0
23 H Hydrogen UI/1-Resources/ 1 1 0
24 He Helium UI/1-Resources/ 1 2 0
25 Met Metal UI/1-Resources/ 1 3 0
26 N Nebula UI/2-Stars/ 2 0 0
27 G Globula UI/2-Stars/ 2 0 1
28 STN StarNursery UI/2-Stars/ 2 0 2
29 MC MolecularCloud UI/2-Stars/ 2 0 3
30 ASTN ActiveStarNursery UI/2-Stars/ 2 0 4
31 BD BrownDwarf UI/2-Stars/ 2 1 0
32 RD RedDwarf UI/2-Stars/ 2 1 1
33 OD OrangeDwarf UI/2-Stars/ 2 1 2
34 YD YellowDwarf UI/2-Stars/ 2 1 3
35 WYD WhiteYellowDwarf UI/2-Stars/ 2 1 4
36 RG RedGiant UI/2-Stars/ 2 2 0
37 WS WhiteStar UI/2-Stars/ 2 2 1
38 BG BlueGiant UI/2-Stars/ 2 2 2
39 SG Supergiant UI/2-Stars/ 2 2 3
40 HG Hypergiant UI/2-Stars/ 2 2 4
41 WD WhiteDwarf UI/2-Stars/ 2 3 0
42 NS NeutronStar UI/2-Stars/ 2 3 1
43 MGT Magnetar UI/2-Stars/ 2 3 2
44 BH BlackHole UI/2-Stars/ 2 3 3
45 SMBH SupermassiveBlackHole UI/2-Stars/ 2 3 4
46 SCD StarClusterScattered UI/3-Structures/ 3 0 0
47 SCS StarClusterSmall UI/3-Structures/ 3 0 1
48 SCM StarClusterMedium UI/3-Structures/ 3 0 2
49 SCL StarClusterLarge UI/3-Structures/ 3 0 3
50 SCG StarClusterGiant UI/3-Structures/ 3 0 4
51 GED GalaxyEllipticalDwarf UI/3-Structures/ 3 1 0
52 GES GalaxyEllipticalSmall UI/3-Structures/ 3 1 1
53 GEM GalaxyEllipticalMedium UI/3-Structures/ 3 1 2
54 GEL GalaxyEllipticalLarge UI/3-Structures/ 3 1 3
55 GEG GalaxyEllipticalGiant UI/3-Structures/ 3 1 4
56 GSD GalaxySpiralDwarf UI/3-Structures/ 3 2 0
57 GSS GalaxySpiralSmall UI/3-Structures/ 3 2 1
58 GSM GalaxySpiralMedium UI/3-Structures/ 3 2 2
59 GSL GalaxySpiralLarge UI/3-Structures/ 3 2 3
60 GSG GalaxySpiralGiant UI/3-Structures/ 3 2 4
61 LGG GalacticGroup UI/3-Structures/ 3 3 0
62 LSC GalacticSupercluster UI/3-Structures/ 3 3 1
63 LGF GalacticFilament UI/3-Structures/ 3 3 2
64 LGW GalacticWall UI/3-Structures/ 3 3 3
65 LUB UniverseBubble UI/3-Structures/ 3 3 4
66 GG GasGiant UI/4-Life/ 4 0 0
67 AB AsteroidBelt UI/4-Life/ 4 0 1
68 RP RockyPlanet UI/4-Life/ 4 0 2
69 HP HabitablePlanet UI/4-Life/ 4 0 3
70 LP LivingPlanet UI/4-Life/ 4 0 4 5
71 C0 Civ0 UI/4-Life/ 4 1 0 6
72 C1 Civ1 UI/4-Life/ 4 1 1 7
73 C2 Civ2 UI/4-Life/ 4 1 2 8
74 C3 Civ3 UI/4-Life/ 4 1 3 9
75 C4 Civ4 UI/4-Life/ 4 1 4 10
76 EON1 Archean UI/4-Life/Living/ 5 0 0
77 EON2 Proterozoic UI/4-Life/Living/ 5 0 1
78 EON3 Paleozoic UI/4-Life/Living/ 5 0 2
79 EON4 Mezozoic UI/4-Life/Living/ 5 0 3
80 EON5 Cenozoic UI/4-Life/Living/ 5 0 4
81 C0.0 Civ0.0 UI/4-Life/Civ0/ 6 0 0
82 C0.1 Civ0.1 UI/4-Life/Civ0/ 6 0 1
83 C0.2 Civ0.2 UI/4-Life/Civ0/ 6 0 2
84 C0.3 Civ0.3 UI/4-Life/Civ0/ 6 0 3
85 C0.4 Civ0.4 UI/4-Life/Civ0/ 6 0 4
86 C0.5 Civ0.5 UI/4-Life/Civ0/ 6 1 0
87 C0.6 Civ0.6 UI/4-Life/Civ0/ 6 1 1
88 C0.7 Civ0.7 UI/4-Life/Civ0/ 6 1 2
89 C0.8 Civ0.8 UI/4-Life/Civ0/ 6 1 3
90 C0.9 Civ0.9 UI/4-Life/Civ0/ 6 1 4
91 C1.0 Civ1.0 UI/4-Life/Civ1/ 7 0 0
92 C1.1 Civ1.1 UI/4-Life/Civ1/ 7 0 1
93 C1.2 Civ1.2 UI/4-Life/Civ1/ 7 0 2
94 C1.3 Civ1.3 UI/4-Life/Civ1/ 7 0 3
95 C1.4 Civ1.4 UI/4-Life/Civ1/ 7 0 4
96 C1.5 Civ1.5 UI/4-Life/Civ1/ 7 1 0
97 C1.6 Civ1.6 UI/4-Life/Civ1/ 7 1 1
98 C1.7 Civ1.7 UI/4-Life/Civ1/ 7 1 2
99 C1.8 Civ1.8 UI/4-Life/Civ1/ 7 1 3
100 C1.9 Civ1.9 UI/4-Life/Civ1/ 7 1 4
101 C2.0 Civ2.0 UI/4-Life/Civ2/ 8 0 0
102 C2.1 Civ2.1 UI/4-Life/Civ2/ 8 0 1
103 C2.2 Civ2.2 UI/4-Life/Civ2/ 8 0 2
104 C2.3 Civ2.3 UI/4-Life/Civ2/ 8 0 3
105 C2.4 Civ2.4 UI/4-Life/Civ2/ 8 0 4
106 C2.5 Civ2.5 UI/4-Life/Civ2/ 8 1 0
107 C2.6 Civ2.6 UI/4-Life/Civ2/ 8 1 1
108 C2.7 Civ2.7 UI/4-Life/Civ2/ 8 1 2
109 C2.8 Civ2.8 UI/4-Life/Civ2/ 8 1 3
110 C2.9 Civ2.9 UI/4-Life/Civ2/ 8 1 4
111 C3.0 Civ3.0 UI/4-Life/Civ3/ 9 0 0
112 C3.1 Civ3.1 UI/4-Life/Civ3/ 9 0 1
113 C3.2 Civ3.2 UI/4-Life/Civ3/ 9 0 2
114 C3.3 Civ3.3 UI/4-Life/Civ3/ 9 0 3
115 C3.4 Civ3.4 UI/4-Life/Civ3/ 9 0 4
116 C3.5 Civ3.5 UI/4-Life/Civ3/ 9 1 0
117 C3.6 Civ3.6 UI/4-Life/Civ3/ 9 1 1
118 C3.7 Civ3.7 UI/4-Life/Civ3/ 9 1 2
119 C3.8 Civ3.8 UI/4-Life/Civ3/ 9 1 3
120 C3.9 Civ3.9 UI/4-Life/Civ3/ 9 1 4
121 C4.0 Civ4.0 UI/4-Life/Civ4/ 10 0 0
122 C4.1 Civ4.1 UI/4-Life/Civ4/ 10 0 1
123 C4.2 Civ4.2 UI/4-Life/Civ4/ 10 0 2
124 C4.3 Civ4.3 UI/4-Life/Civ4/ 10 0 3
125 C4.4 Civ4.4 UI/4-Life/Civ4/ 10 0 4
+125
View File
@@ -0,0 +1,125 @@
id|name|image|page|row|col|sub_page
fsho|Shovelin|ui/0-forces/|0|0|0|
finf|Inflatin|ui/0-forces/|0|0|1|
ftem|Temporite|ui/0-forces/|0|0|2|
fcol|Collisite|ui/0-forces/|0|0|3|
fpri|Primex|ui/0-forces/|0|0|4|
fsin|Singularite|ui/0-forces/|0|1|0|
fren|Renewin|ui/0-forces/|0|1|1|
finf|Infusite|ui/0-forces/|0|1|2|
ffro|Frostin|ui/0-forces/|0|1|3|
fdes|Destellarite|ui/0-forces/|0|1|4|
froc|Rockex|ui/0-forces/|0|2|0|
fpan|Panspermin|ui/0-forces/|0|2|1|
fgai|Gaianite|ui/0-forces/|0|2|2|
fdar|Darwinite|ui/0-forces/|0|2|3|
fede|Edenex|ui/0-forces/|0|2|4|
fpac|Pacifin|ui/0-forces/|0|3|0|
fenr|Enragein|ui/0-forces/|0|3|1|
fmor|Moralite|ui/0-forces/|0|3|2|
fdis|Discriminite|ui/0-forces/|0|3|3|
frep|Reprex|ui/0-forces/|0|3|4|
S|Space|ui/1-resources/|1|0|0|
H|Hydrogen|ui/1-resources/|1|1|0|
He|Helium|ui/1-resources/|1|2|0|
Met|Metal|ui/1-resources/|1|3|0|
N|Nebula|ui/2-stars/|2|0|0|
G|Globula|ui/2-stars/|2|0|1|
STN|StarNursery|ui/2-stars/|2|0|2|
MC|MolecularCloud|ui/2-stars/|2|0|3|
ASTN|ActiveStarNursery|ui/2-stars/|2|0|4|
BD|BrownDwarf|ui/2-stars/|2|1|0|
RD|RedDwarf|ui/2-stars/|2|1|1|
OD|OrangeDwarf|ui/2-stars/|2|1|2|
YD|YellowDwarf|ui/2-stars/|2|1|3|
WYD|WhiteYellowDwarf|ui/2-stars/|2|1|4|
RG|RedGiant|ui/2-stars/|2|2|0|
WS|WhiteStar|ui/2-stars/|2|2|1|
BG|BlueGiant|ui/2-stars/|2|2|2|
SG|Supergiant|ui/2-stars/|2|2|3|
HG|Hypergiant|ui/2-stars/|2|2|4|
WD|WhiteDwarf|ui/2-stars/|2|3|0|
NS|NeutronStar|ui/2-stars/|2|3|1|
MGT|Magnetar|ui/2-stars/|2|3|2|
BH|BlackHole|ui/2-stars/|2|3|3|
SMBH|SupermassiveBlackHole|ui/2-stars/|2|3|4|
SCD|StarClusterScattered|ui/3-structures/|3|0|0|
SCS|StarClusterSmall|ui/3-structures/|3|0|1|
SCM|StarClusterMedium|ui/3-structures/|3|0|2|
SCL|StarClusterLarge|ui/3-structures/|3|0|3|
SCG|StarClusterGiant|ui/3-structures/|3|0|4|
GED|GalaxyEllipticalDwarf|ui/3-structures/|3|1|0|
GES|GalaxyEllipticalSmall|ui/3-structures/|3|1|1|
GEM|GalaxyEllipticalMedium|ui/3-structures/|3|1|2|
GEL|GalaxyEllipticalLarge|ui/3-structures/|3|1|3|
GEG|GalaxyEllipticalGiant|ui/3-structures/|3|1|4|
GSD|GalaxySpiralDwarf|ui/3-structures/|3|2|0|
GSS|GalaxySpiralSmall|ui/3-structures/|3|2|1|
GSM|GalaxySpiralMedium|ui/3-structures/|3|2|2|
GSL|GalaxySpiralLarge|ui/3-structures/|3|2|3|
GSG|GalaxySpiralGiant|ui/3-structures/|3|2|4|
LGG|GalacticGroup|ui/3-structures/|3|3|0|
LSC|GalacticSupercluster|ui/3-structures/|3|3|1|
LGF|GalacticFilament|ui/3-structures/|3|3|2|
LGW|GalacticWall|ui/3-structures/|3|3|3|
LUB|UniverseBubble|ui/3-structures/|3|3|4|
GG|GasGiant|ui/4-life/|4|0|0|
AB|AsteroidBelt|ui/4-life/|4|0|1|
RP|RockyPlanet|ui/4-life/|4|0|2|
HP|HabitablePlanet|ui/4-life/|4|0|3|
LP|LivingPlanet|ui/4-life/|4|0|4|5
C0|Civ0|ui/4-life/|4|1|0|6
C1|Civ1|ui/4-life/|4|1|1|7
C2|Civ2|ui/4-life/|4|1|2|8
C3|Civ3|ui/4-life/|4|1|3|9
C4|Civ4|ui/4-life/|4|1|4|10
EON1|Archean|ui/4-life/living/|5|0|0|
EON2|Proterozoic|ui/4-life/living/|5|0|1|
EON3|Paleozoic|ui/4-life/living/|5|0|2|
EON4|Mezozoic|ui/4-life/living/|5|0|3|
EON5|Cenozoic|ui/4-life/living/|5|0|4|
C0.0|Civ0.0|ui/4-life/civ0/|6|0|0|
C0.1|Civ0.1|ui/4-life/civ0/|6|0|1|
C0.2|Civ0.2|ui/4-life/civ0/|6|0|2|
C0.3|Civ0.3|ui/4-life/civ0/|6|0|3|
C0.4|Civ0.4|ui/4-life/civ0/|6|0|4|
C0.5|Civ0.5|ui/4-life/civ0/|6|1|0|
C0.6|Civ0.6|ui/4-life/civ0/|6|1|1|
C0.7|Civ0.7|ui/4-life/civ0/|6|1|2|
C0.8|Civ0.8|ui/4-life/civ0/|6|1|3|
C0.9|Civ0.9|ui/4-life/civ0/|6|1|4|
C1.0|Civ1.0|ui/4-life/civ1/|7|0|0|
C1.1|Civ1.1|ui/4-life/civ1/|7|0|1|
C1.2|Civ1.2|ui/4-life/civ1/|7|0|2|
C1.3|Civ1.3|ui/4-life/civ1/|7|0|3|
C1.4|Civ1.4|ui/4-life/civ1/|7|0|4|
C1.5|Civ1.5|ui/4-life/civ1/|7|1|0|
C1.6|Civ1.6|ui/4-life/civ1/|7|1|1|
C1.7|Civ1.7|ui/4-life/civ1/|7|1|2|
C1.8|Civ1.8|ui/4-life/civ1/|7|1|3|
C1.9|Civ1.9|ui/4-life/civ1/|7|1|4|
C2.0|Civ2.0|ui/4-life/civ2/|8|0|0|
C2.1|Civ2.1|ui/4-life/civ2/|8|0|1|
C2.2|Civ2.2|ui/4-life/civ2/|8|0|2|
C2.3|Civ2.3|ui/4-life/civ2/|8|0|3|
C2.4|Civ2.4|ui/4-life/civ2/|8|0|4|
C2.5|Civ2.5|ui/4-life/civ2/|8|1|0|
C2.6|Civ2.6|ui/4-life/civ2/|8|1|1|
C2.7|Civ2.7|ui/4-life/civ2/|8|1|2|
C2.8|Civ2.8|ui/4-life/civ2/|8|1|3|
C2.9|Civ2.9|ui/4-life/civ2/|8|1|4|
C3.0|Civ3.0|ui/4-life/civ3/|9|0|0|
C3.1|Civ3.1|ui/4-life/civ3/|9|0|1|
C3.2|Civ3.2|ui/4-life/civ3/|9|0|2|
C3.3|Civ3.3|ui/4-life/civ3/|9|0|3|
C3.4|Civ3.4|ui/4-life/civ3/|9|0|4|
C3.5|Civ3.5|ui/4-life/civ3/|9|1|0|
C3.6|Civ3.6|ui/4-life/civ3/|9|1|1|
C3.7|Civ3.7|ui/4-life/civ3/|9|1|2|
C3.8|Civ3.8|ui/4-life/civ3/|9|1|3|
C3.9|Civ3.9|ui/4-life/civ3/|9|1|4|
C4.0|Civ4.0|ui/4-life/civ4/|10|0|0|
C4.1|Civ4.1|ui/4-life/civ4/|10|0|1|
C4.2|Civ4.2|ui/4-life/civ4/|10|0|2|
C4.3|Civ4.3|ui/4-life/civ4/|10|0|3|
C4.4|Civ4.4|ui/4-life/civ4/|10|0|4|
+60 -31
View File
@@ -1,14 +1,15 @@
extends Control
const ITEM_BUTTON = preload("uid://d3xjfxwe3w16v")
signal produce_items(item_id: String, amount: int)
const OWNIVERSE_ITEM = preload("uid://d3xjfxwe3w16v")
const SPEED_TEXTURE_NAME_TEMPLATE = "res://UI/TopMenu/Time&Speed/Time%s.png"
const PAGE_COUNT = 5
const PAGE_WIDTH = 1080
const DRAG_TOLERANCE = 360
const SWIPE_DURATION: float = 2
const SWIPE_DELAY = 2000 # msec
const SWIPE_DURATION: float = 0.4
@onready var stage_page_scroller: ScrollContainer = $StageRows/PageScroller
@@ -65,23 +66,44 @@ var g_counters: Dictionary[String, Counter] = {
"swipe": Counter.new(),
}
var ActiveItems: Dictionary = {}
var g_active_items: Dictionary = {}
var owniverse:Owniverse = Owniverse.new()
var owniverse_items: Dictionary[String, OwniverseItem] = {}
var locked_items:Dictionary = {}
var item_list_to_update: Dictionary = {}
var owniverse = Owniverse.new()
func set_datetime(value: String):
date_time.text = value
#region Item manipulations: update and visibility
func add_to_update_list(item_id: String, amount: int) -> void:
if item_list_to_update.has(item_id):
item_list_to_update[item_id] += amount
else:
item_list_to_update[item_id] = amount
func set_owniverse_item_value() -> void:
for item_id in owniverse.items_to_update:
var item:OwniverseItem = owniverse_items[item_id]
item.description.text = str(roundi(owniverse.items_to_update[item_id]))
owniverse.items_to_update = {}
func unlock_owniverse_item() -> void:
pass
#endregion
func _on_indicator_pressed(indicator_name: String, page: int = 0):
_set_description(indicator_name, page)
func item_selected(item: OwniverseItem) -> void:
_control_page(item)
_set_item_description(item)
func _set_item_description(item: OwniverseItem) -> void:
var description: String = "[b]" \
+ Global.get_localized_item_description(item.item_name, "label") \
@@ -100,14 +122,15 @@ func _set_description(item_name: String, page: int) -> void:
func _control_page(item: OwniverseItem) -> void:
if !ActiveItems.has(item.item_page):
ActiveItems[item.item_page] = null
# TODO переписать это ↓
if !g_active_items.has(item.item_page):
g_active_items[item.item_page] = null
var current_item: OwniverseItem = ActiveItems[item.item_page]
var current_item: OwniverseItem = g_active_items[item.item_page]
if current_item == item:
return
ActiveItems[item.item_page] = item
g_active_items[item.item_page] = item
if current_item != null and current_item.item_page == item.item_page:
current_item.set_selection(false)
@@ -125,21 +148,35 @@ func _control_page(item: OwniverseItem) -> void:
item_pages[current_item.item_sub_page].visible = false
func _init_items() -> bool:
func _init_owniverse_items() -> bool:
owniverse_items = {}
for item_id in Global.OwniverseItems:
var item_props: Dictionary = Global.OwniverseItems[item_id]
var item: OwniverseItem = ITEM_BUTTON.instantiate()
var item: OwniverseItem = OWNIVERSE_ITEM.instantiate()
if !item_props.has("page"):
printerr("Item `", item_id, "` has no `page` key.")
return false
var page: int = int(item_props.page)
item_pages[page].add_child(item)
item.init_button(item_props)
item.item_activated.connect(item_selected)
item.item_activated.connect(item_activated)
if owniverse.entities.has(item_id):
item.visible = owniverse.entities[item_id].is_unlocked
owniverse_items[item_id] = item
return false
func item_activated(item: OwniverseItem) -> void:
_control_page(item)
_set_item_description(item)
print(item.item_id)
if item.item_id == "S" or item.item_id == "H":
owniverse.produce(item.item_id, 1)
func _check_counters(delta: float) -> Array:
var actions: Array = []
@@ -165,8 +202,6 @@ func _do_actions(actions: Array) -> void:
#region Swipe
func _swipe_to_nearest_page() -> void:
if stage_page_scroller.scroll_horizontal % PAGE_WIDTH == 0: return
@@ -198,7 +233,9 @@ func _input(event: InputEvent) -> void:
func _ready() -> void:
owniverse.init_enitities()
_init_items()
_init_owniverse_items()
g_counters.swipe.sec = 0.2
func _process(delta: float) -> void:
@@ -210,15 +247,6 @@ func _process(delta: float) -> void:
_do_actions(actions)
func _on_burger_button_pressed() -> void:
print("b")
pass # Replace with function body.
func _on_report_button_pressed() -> void:
print("r")
pass # Replace with function body.
func _change_speed(delta: int) -> void:
var speed: int = owniverse.change_speed(delta)
var ind: int = 1
@@ -237,6 +265,7 @@ func _change_speed(delta: int) -> void:
else:
g_time_minus.texture_normal = load(SPEED_TEXTURE_NAME_TEMPLATE % str(speed - 1))
g_time_plus.texture_normal = load(SPEED_TEXTURE_NAME_TEMPLATE % str(speed + 1))
func _on_topmenu_button_pressed(ButtonName) -> void:
print(ButtonName)
-9
View File
@@ -2,15 +2,9 @@ class_name Counter extends RefCounted
var is_active: bool = false
var sec: float = 1
var value: float = 0
#func set_inactive() -> void:
#is_active = false
#
#func set_active() -> void:
#is_active = true
func is_reached() -> bool:
if value >= sec:
@@ -24,6 +18,3 @@ func add_delta(delta: float) -> void:
func debug() -> void:
print(is_active, " | ", value, " of ", sec)
#func _init():
+2 -2
View File
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://dg15dpxiepicb"]
[gd_scene format=3 uid="uid://dg15dpxiepicb"]
[ext_resource type="Texture2D" uid="uid://chxxghyul1im7" path="res://UI/Border/border-2px.png" id="1_6kaf8"]
[ext_resource type="Texture2D" uid="uid://chxxghyul1im7" path="res://ui/border/border-2px.png" id="1_6kaf8"]
[node name="Border" type="TextureRect"]
texture = ExtResource("1_6kaf8")
@@ -11,10 +11,12 @@ const ENTITY_HEIGHT = 256
@onready var description: Label = $Description
@onready var selection: TextureRect = $Selection
var item_id: String = ""
var item_name: String = ""
var item_page: int = -1
var item_sub_page: int = -1
var item_type = ""
func set_selection(flag: bool) -> void:
@@ -30,7 +32,6 @@ func init_button(properties: Dictionary):
item_page = int(properties.page)
item_sub_page = int(properties.sub_page)
name = properties.id
set_selection(false)
func _on_button_up() -> void:
@@ -1,15 +1,25 @@
[gd_scene format=3 uid="uid://d3xjfxwe3w16v"]
[ext_resource type="Script" uid="uid://bxxllddlgurus" path="res://UI/ItemButton/item_button.gd" id="1_e6ro1"]
[ext_resource type="Texture2D" uid="uid://56w57w6iu3np" path="res://UI/ItemButton/Selected.png" id="2_eurq3"]
[ext_resource type="Script" uid="uid://bxxllddlgurus" path="res://ui/owniverse_item/owniverse_item.gd" id="1_e6ro1"]
[ext_resource type="Texture2D" uid="uid://56w57w6iu3np" path="res://ui/owniverse_item/Selected.png" id="2_eurq3"]
[node name="Button" type="Control" unique_id=667620208]
visible = false
layout_mode = 3
anchors_preset = 0
offset_right = 216.0
offset_bottom = 260.0
mouse_filter = 1
script = ExtResource("1_e6ro1")
[node name="Selection" type="TextureRect" parent="." unique_id=674793134]
visible = false
layout_mode = 0
offset_right = 216.0
offset_bottom = 216.0
mouse_filter = 2
texture = ExtResource("2_eurq3")
[node name="TextureButton" type="TextureButton" parent="." unique_id=1377839155]
custom_minimum_size = Vector2(216, 216)
layout_mode = 0
@@ -22,11 +32,7 @@ layout_mode = 0
offset_top = 220.0
offset_right = 216.0
offset_bottom = 260.0
theme_override_font_sizes/font_size = 31
horizontal_alignment = 1
[node name="Selection" type="TextureRect" parent="." unique_id=674793134]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
texture = ExtResource("2_eurq3")
[connection signal="button_up" from="TextureButton" to="." method="_on_button_up"]
[connection signal="pressed" from="TextureButton" to="." method="_on_button_up"]
+1 -1
View File
@@ -2,4 +2,4 @@ extends Node
func print_smth(smth: String):
pass
#print(smth)
print(smth)
+5 -5
View File
@@ -8,7 +8,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../../Documents/Owad/Owniverse.I/Builds/owniverse.0.6.7.exe"
export_path="../../Documents/Owad/Owniverse.I/Builds/owniverse.0.6.9-125.exe"
patches=PackedStringArray()
patch_delta_encoding=false
patch_delta_compression_level_zstd=19
@@ -74,13 +74,13 @@ Remove-Item -Recurse -Force '{temp_dir}'"
name="Android"
platform="Android"
runnable=false
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
include_filter="res://autoload/*.*, *.gd, *.tscn, *.tres, *.json, *.txt, *.png, res://autoload/entitites.txt"
exclude_filter=""
export_path="../../Documents/Owad/Owniverse.I/Builds/owniverse.0.6.8-124.aab"
export_path="../../Documents/Owad/Owniverse.I/Builds/owniverse.0.6.9-125.aab"
patches=PackedStringArray()
patch_delta_encoding=false
patch_delta_compression_level_zstd=19
@@ -110,7 +110,7 @@ architectures/armeabi-v7a=false
architectures/arm64-v8a=true
architectures/x86=false
architectures/x86_64=false
version/code=123
version/code=126
version/name=""
package/unique_name="com.KIDGameProduction.Owniverse"
package/name="Owniverse"
+6 -4
View File
@@ -15,15 +15,17 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
[application]
config/name="Owniverse"
config/version="0.6.7"
config/version="0.6.10"
run/main_scene="uid://bv384dpmvjv8o"
config/features=PackedStringArray("4.6", "Mobile")
config/icon="res://icon.svg"
boot_splash/show_image=false
boot_splash/stretch_mode=0
config/icon="uid://do5teb1i7uiuw"
[autoload]
Global="*res://Autoload/Global.gd"
SaveManager="*res://Autoload/SaveManager.gd"
Global="*uid://5xb12usvrifm"
SaveManager="*uid://ul0srjc4gcgg"
[display]
+44 -37
View File
@@ -1,47 +1,47 @@
[gd_scene format=3 uid="uid://bv384dpmvjv8o"]
[ext_resource type="Script" uid="uid://d2wrwichuoncd" path="res://World/Background/background.gd" id="1_fj7yv"]
[ext_resource type="PackedScene" uid="uid://icbk3la71t7h" path="res://World/Background/starry_sky_layer.tscn" id="3_aqk2v"]
[ext_resource type="Script" uid="uid://iiva6x8uo0f2" path="res://Stage/stage.gd" id="3_bh8nc"]
[ext_resource type="Texture2D" uid="uid://5f80g4i46ycl" path="res://UI/TopMenu/Buttons/button.burger.normal.png" id="4_2u3nc"]
[ext_resource type="Texture2D" uid="uid://caia36a08wlqs" path="res://UI/TopMenu/Buttons/button.burger.pressed.png" id="5_2u3nc"]
[ext_resource type="Script" uid="uid://d2wrwichuoncd" path="res://world/Background/background.gd" id="1_fj7yv"]
[ext_resource type="PackedScene" uid="uid://icbk3la71t7h" path="res://world/Background/starry_sky_layer.tscn" id="3_aqk2v"]
[ext_resource type="Script" uid="uid://iiva6x8uo0f2" path="res://stage/stage.gd" id="3_bh8nc"]
[ext_resource type="Texture2D" uid="uid://5f80g4i46ycl" path="res://ui/topmenu/buttons/button.burger.normal.png" id="4_2u3nc"]
[ext_resource type="Texture2D" uid="uid://caia36a08wlqs" path="res://ui/topmenu/buttons/button.burger.pressed.png" id="5_2u3nc"]
[ext_resource type="Script" uid="uid://xte4iwvipeve" path="res://command_processor.gd" id="5_036b0"]
[ext_resource type="Texture2D" uid="uid://cjcchycx7biyl" path="res://UI/TopMenu/Time&Speed/TimeX.png" id="6_ikiii"]
[ext_resource type="Texture2D" uid="uid://cjcchycx7biyl" path="res://ui/topmenu/time&speed/time_x.png" id="6_ikiii"]
[ext_resource type="FontFile" uid="uid://d3k1ddvv0rmhs" path="res://fonts/Roboto_Condensed/RobotoCondensed-Light.ttf" id="6_wse8f"]
[ext_resource type="FontFile" uid="uid://dtyi81a0phumr" path="res://fonts/Roboto_Condensed/RobotoCondensed-Bold.ttf" id="7_ic0uy"]
[ext_resource type="Texture2D" uid="uid://davmv5mwt3mo1" path="res://UI/TopMenu/Time&Speed/speed.png" id="8_2u3nc"]
[ext_resource type="Texture2D" uid="uid://cnjtnggw5ccq3" path="res://UI/TopMenu/Time&Speed/Time1.png" id="8_cbp6q"]
[ext_resource type="Texture2D" uid="uid://davmv5mwt3mo1" path="res://ui/topmenu/time&speed/speed.png" id="8_2u3nc"]
[ext_resource type="Texture2D" uid="uid://cnjtnggw5ccq3" path="res://ui/topmenu/time&speed/time1.png" id="8_cbp6q"]
[ext_resource type="FontFile" uid="uid://8s0fv3gfj317" path="res://fonts/Roboto_Condensed/RobotoCondensed-BoldItalic.ttf" id="8_k3n1d"]
[ext_resource type="FontFile" uid="uid://derqj4pbwtae6" path="res://fonts/Roboto_Condensed/RobotoCondensed-Italic.ttf" id="9_2o6r5"]
[ext_resource type="Texture2D" uid="uid://rmdsdkck0vst" path="res://UI/TopMenu/Buttons/buton.report.normal.png" id="9_26xuy"]
[ext_resource type="Texture2D" uid="uid://dbhkuw2jshyoh" path="res://UI/TopMenu/Buttons/buton.report.pressed.png" id="10_bc84e"]
[ext_resource type="Texture2D" uid="uid://dgkmobpfbbffa" path="res://UI/Pages/Forces.en.png" id="13_il2jm"]
[ext_resource type="Texture2D" uid="uid://i43jaaejvh5f" path="res://UI/Indicators/Energy/Energy.png" id="16_udxuc"]
[ext_resource type="Texture2D" uid="uid://cvc1stj3hoax5" path="res://UI/Indicators/Density/Density.png" id="17_ikiii"]
[ext_resource type="Texture2D" uid="uid://bef36h52n7lxb" path="res://UI/Indicators/Energy/border-energy.png" id="18_mc2jv"]
[ext_resource type="Texture2D" uid="uid://blq0anccuu387" path="res://UI/Pages/Resources.en.png" id="18_wjb0r"]
[ext_resource type="Texture2D" uid="uid://38fl8ovnubh8" path="res://UI/Pages/Stars.en.png" id="20_mc2jv"]
[ext_resource type="Texture2D" uid="uid://bm8ae1ffv7xq5" path="res://UI/Indicators/Density/DensityPointer.png" id="20_wjb0r"]
[ext_resource type="Texture2D" uid="uid://df2nus1pmcc67" path="res://UI/Indicators/Density/DensityCrunch.png" id="21_4h6ng"]
[ext_resource type="Texture2D" uid="uid://cbi24bwo70nk" path="res://UI/Pages/Structures.en.png" id="21_bo7i5"]
[ext_resource type="Texture2D" uid="uid://bpff5o5oa4wag" path="res://UI/Pages/Planets.en.png" id="22_4h6ng"]
[ext_resource type="Texture2D" uid="uid://bbk74pjqgxe32" path="res://UI/Indicators/Density/DensityRip.png" id="22_o3ebs"]
[ext_resource type="Texture2D" uid="uid://ysbavtgmq7me" path="res://UI/Indicators/Explosiveness/Explosiveness.png" id="24_qktwf"]
[ext_resource type="Texture2D" uid="uid://sry5js57vds4" path="res://UI/Indicators/Burnability/BurnabilityPointer.png" id="25_bh8nc"]
[ext_resource type="Texture2D" uid="uid://dbcmaot2c3tg5" path="res://UI/Indicators/Burnability/Burnability.png" id="27_jjr1n"]
[ext_resource type="Texture2D" uid="uid://bbint5cvwtrou" path="res://UI/Indicators/Explosiveness/ExplosivenessPointer.png" id="27_qktwf"]
[ext_resource type="PackedScene" uid="uid://dg15dpxiepicb" path="res://UI/Border/border.tscn" id="28_o3ebs"]
[ext_resource type="Texture2D" uid="uid://cfttpatxe6k2u" path="res://UI/Indicators/Aggression/Aggression.png" id="30_gggvi"]
[ext_resource type="Texture2D" uid="uid://dm87u2ku8wec8" path="res://UI/Indicators/Aggression/AggressionPointer.png" id="31_w44yn"]
[ext_resource type="Texture2D" uid="uid://bgjcnwl61nu5i" path="res://UI/Indicators/Trends/TrendBar1.png" id="33_w44yn"]
[ext_resource type="Texture2D" uid="uid://caiyhk6vv53iu" path="res://UI/Indicators/Trends/TrendBar2.png" id="34_g1i3r"]
[ext_resource type="Texture2D" uid="uid://dspjxpbpwq52k" path="res://UI/Indicators/Trends/TrendIcon2.png" id="35_my276"]
[ext_resource type="Texture2D" uid="uid://dxutg6k0ck226" path="res://UI/Indicators/Trends/TrendBar3.png" id="36_jas3d"]
[ext_resource type="Texture2D" uid="uid://bp72c0myjnl61" path="res://UI/Indicators/Trends/TrendIcon3.png" id="37_7htu6"]
[ext_resource type="Texture2D" uid="uid://qrjhpvw8ou3o" path="res://UI/Indicators/Trends/TrendBar4.png" id="38_7qk3m"]
[ext_resource type="Texture2D" uid="uid://bwqmmmg6w7dho" path="res://UI/Indicators/Trends/TrendIcon4.png" id="39_xpnt2"]
[ext_resource type="Texture2D" uid="uid://4tpbmpe6tbk0" path="res://UI/Indicators/Trends/TrendBar5.png" id="40_ruyqm"]
[ext_resource type="Texture2D" uid="uid://cnf3ml5gj2cvl" path="res://UI/Indicators/Trends/TrendIcon5.png" id="41_fnoqa"]
[ext_resource type="Texture2D" uid="uid://rmdsdkck0vst" path="res://ui/topmenu/buttons/buton.report.normal.png" id="9_26xuy"]
[ext_resource type="Texture2D" uid="uid://dbhkuw2jshyoh" path="res://ui/topmenu/buttons/buton.report.pressed.png" id="10_bc84e"]
[ext_resource type="Texture2D" uid="uid://dgkmobpfbbffa" path="res://ui/pages/forces.en.png" id="13_il2jm"]
[ext_resource type="Texture2D" uid="uid://i43jaaejvh5f" path="res://ui/indicators/energy/energy.png" id="16_udxuc"]
[ext_resource type="Texture2D" uid="uid://cvc1stj3hoax5" path="res://ui/indicators/density/density.png" id="17_ikiii"]
[ext_resource type="Texture2D" uid="uid://bef36h52n7lxb" path="res://ui/indicators/energy/border-energy.png" id="18_mc2jv"]
[ext_resource type="Texture2D" uid="uid://blq0anccuu387" path="res://ui/pages/resources.en.png" id="18_wjb0r"]
[ext_resource type="Texture2D" uid="uid://38fl8ovnubh8" path="res://ui/pages/stars.en.png" id="20_mc2jv"]
[ext_resource type="Texture2D" uid="uid://bm8ae1ffv7xq5" path="res://ui/indicators/density/density_pointer.png" id="20_wjb0r"]
[ext_resource type="Texture2D" uid="uid://df2nus1pmcc67" path="res://ui/indicators/density/density_crunch.png" id="21_4h6ng"]
[ext_resource type="Texture2D" uid="uid://cbi24bwo70nk" path="res://ui/pages/structures.en.png" id="21_bo7i5"]
[ext_resource type="Texture2D" uid="uid://bpff5o5oa4wag" path="res://ui/pages/planets.en.png" id="22_4h6ng"]
[ext_resource type="Texture2D" uid="uid://bbk74pjqgxe32" path="res://ui/indicators/density/density_rip.png" id="22_o3ebs"]
[ext_resource type="Texture2D" uid="uid://ysbavtgmq7me" path="res://ui/indicators/explosiveness/explosiveness.png" id="24_qktwf"]
[ext_resource type="Texture2D" uid="uid://sry5js57vds4" path="res://ui/indicators/burnability/burnability_pointer.png" id="25_bh8nc"]
[ext_resource type="Texture2D" uid="uid://dbcmaot2c3tg5" path="res://ui/indicators/burnability/burnability.png" id="27_jjr1n"]
[ext_resource type="Texture2D" uid="uid://bbint5cvwtrou" path="res://ui/indicators/explosiveness/explosivenessPointer.png" id="27_qktwf"]
[ext_resource type="PackedScene" uid="uid://dg15dpxiepicb" path="res://ui/border/border.tscn" id="28_o3ebs"]
[ext_resource type="Texture2D" uid="uid://cfttpatxe6k2u" path="res://ui/indicators/aggression/aggression.png" id="30_gggvi"]
[ext_resource type="Texture2D" uid="uid://dm87u2ku8wec8" path="res://ui/indicators/aggression/aggression_pointer.png" id="31_w44yn"]
[ext_resource type="Texture2D" uid="uid://bgjcnwl61nu5i" path="res://ui/indicators/trends/trend_bar1.png" id="33_w44yn"]
[ext_resource type="Texture2D" uid="uid://caiyhk6vv53iu" path="res://ui/indicators/trends/trend_bar2.png" id="34_g1i3r"]
[ext_resource type="Texture2D" uid="uid://dspjxpbpwq52k" path="res://ui/indicators/trends/trend_icon_2.png" id="35_my276"]
[ext_resource type="Texture2D" uid="uid://dxutg6k0ck226" path="res://ui/indicators/trends/trend_bar3.png" id="36_jas3d"]
[ext_resource type="Texture2D" uid="uid://bp72c0myjnl61" path="res://ui/indicators/trends/trend_icon_3.png" id="37_7htu6"]
[ext_resource type="Texture2D" uid="uid://qrjhpvw8ou3o" path="res://ui/indicators/trends/trend_bar4.png" id="38_7qk3m"]
[ext_resource type="Texture2D" uid="uid://bwqmmmg6w7dho" path="res://ui/indicators/trends/trend_icon_4.png" id="39_xpnt2"]
[ext_resource type="Texture2D" uid="uid://4tpbmpe6tbk0" path="res://ui/indicators/trends/trend_bar5.png" id="40_ruyqm"]
[ext_resource type="Texture2D" uid="uid://cnf3ml5gj2cvl" path="res://ui/indicators/trends/trend_icon_5.png" id="41_fnoqa"]
[node name="World" type="Node2D" unique_id=1392592456]
@@ -237,6 +237,7 @@ layout_mode = 2
[node name="Forces" type="Control" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage" unique_id=2057408842]
custom_minimum_size = Vector2(1080, 1024)
layout_mode = 2
mouse_filter = 1
[node name="ResourcePage" type="VBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer" unique_id=1417647206]
layout_mode = 2
@@ -375,6 +376,7 @@ layout_mode = 2
[node name="Resources" type="Control" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage/HBoxContainer" unique_id=1538364728]
custom_minimum_size = Vector2(256, 1024)
layout_mode = 2
mouse_filter = 2
[node name="RichTextLabel" type="RichTextLabel" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage/HBoxContainer" unique_id=420150583]
layout_mode = 2
@@ -820,6 +822,10 @@ offset_top = 512.0
offset_right = 1080.0
offset_bottom = 1024.0
[node name="ItemAmountUpdate" type="Timer" parent="Stage" unique_id=1953928024]
wait_time = 0.2
autostart = true
[node name="CommandProcessor" type="Node" parent="." unique_id=2069361293]
script = ExtResource("5_036b0")
@@ -835,3 +841,4 @@ script = ExtResource("5_036b0")
[connection signal="pressed" from="Stage/StageRows/PageScroller/HBoxContainer/StructurePage/StructureHeader/DensityIndicator" to="Stage" method="_on_indicator_pressed" binds= ["Density", 3]]
[connection signal="pressed" from="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/AggressionIndicator" to="Stage" method="_on_indicator_pressed" binds= ["Aggression", 4]]
[connection signal="pressed" from="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator" to="Stage" method="_on_indicator_pressed" binds= ["Trends", 4]]
[connection signal="timeout" from="Stage/ItemAmountUpdate" to="Stage" method="set_owniverse_item_value"]
+2 -2
View File
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://icbk3la71t7h"]
[gd_scene format=3 uid="uid://icbk3la71t7h"]
[ext_resource type="Script" uid="uid://bq7xkdvq4iejn" path="res://World/Background/starry_sky_layer.gd" id="1_st4ay"]
[ext_resource type="Script" uid="uid://bq7xkdvq4iejn" path="res://world/Background/starry_sky_layer.gd" id="1_st4ay"]
[node name="StarrySkyLayer" type="Parallax2D"]
scroll_offset = Vector2(1080, 1920)
+9 -43
View File
@@ -4,6 +4,7 @@ class_name OwniverseEntity
var id: String
var is_visible: bool = false
var unlock: Dictionary = {}
var is_unlocked: bool = false
var cost: Dictionary = {}
var bind: Dictionary = {}
var mass: float
@@ -18,15 +19,7 @@ var output_or: Dictionary = {}
var output_and: Dictionary = {}
var destroy_level: int
var degradation: Dictionary = {}
#deg_mass: "",
#deg_h: "",
#He": "",
#Met": "",
var planets: Dictionary = {}
#var habitable: "",
#var rocky: "",
#var gas giant: "",
#var asteroids: "",
var count_as: String
var group_as: String
var event_group: String
@@ -34,43 +27,15 @@ var space_bonus: float
var civ_bonus: float
var claim: String
var SCD: Dictionary = {
"id": "SCD",
"is_visible": "1",
"unlock": "Star:300",
"cost": "",
"bind": "Star:1000",
"mass": "",
"space": "",
"lifespan": "10000000",
"auto": "", "gamma": "",
"blast": "",
"life_product": "",
"voids": "",
"output": "",
"destroy_level": "",
"deg_mass": "",
"H": "",
"He": "",
"Met": "",
"planets": "",
"habitable": "",
"rocky": "",
"gas giant": "",
"asteroids": "",
"count_as": "",
"group_as": "SC",
"event_group": "SC",
"space_bonus": "0.1",
"civ_bonus": "4",
"claim": "C2.3"
}
var amount: float = 0.0
func init_entity(values: Dictionary) -> bool:
id = values.id
is_visible = values.is_visible == "1"
unlock = _parse_and_string(values.unlock)
if "prime" == values.unlock:
is_unlocked = true
cost = _parse_and_string(values.cost)
bind = _parse_and_string(values.bind)
mass = float(values.mass)
@@ -111,10 +76,11 @@ func _parse_or_string(source_line: String) -> Dictionary:
func _parse_and_string(source_line: String) -> Dictionary:
var result = {}
if source_line.contains("&"):
var first_split = source_line.split("&")
for elem in first_split:
var second_split = elem.split(":")
var first_split = source_line.split("&")
for elem in first_split:
var second_split = elem.split(":")
if len(second_split) == 2:
result[second_split[0]] = float(second_split[1])
return result
+36 -6
View File
@@ -5,13 +5,46 @@ var g_datetime: float = 0
var g_speed: int = 1
var g_speed_in_years = 1
var g_entities: Dictionary[String, OwniverseEntity] = {}
var entities: Dictionary[String, OwniverseEntity] = {}
var items_to_update: Dictionary[String, float] = {}
var cumulative_amount: Dictionary[String, float] = {}
#region Production
func produce(item_id: String, amount: int) -> void:
if item_id == "S" or item_id == 'H':
entities[item_id].amount += 1
_process_enitity(item_id, amount)
func automated_production() -> void:
pass
# add to all lists
func _process_enitity(item_id: String, amount: int) -> void:
items_to_update[item_id] = entities[item_id].amount
func _count_cumulative(item_id: String, amount: int) -> void:
if cumulative_amount.has(item_id):
cumulative_amount[item_id] += amount
else:
cumulative_amount[item_id] = amount
#endregion
func init_enitities() -> void:
for entity_id in Global.OwniverseEntities:
var entity = OwniverseEntity.new()
entity.init_entity(Global.OwniverseEntities[entity_id])
g_entities[entity_id] = entity
entities[entity_id] = entity
func add_time_delta(delta) -> float:
var year_delta:float = delta * g_speed_in_years
@@ -21,11 +54,8 @@ func add_time_delta(delta) -> float:
g_datetime += year_delta
return g_datetime
func change_speed(delta: int) -> int:
g_speed = clamp(g_speed + delta, 1, Global.SPEED_LIMIT)
g_speed_in_years = pow(10, g_speed-1)
return g_speed
func hello():
print("ello")
BIN
View File
Binary file not shown.
Binary file not shown.