Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5820bbc7b2 | |||
| 45cfc8c8ee | |||
| b41ccdb659 | |||
| 2d2979a1cf | |||
| 934d890887 | |||
| c21048add3 | |||
| edb5ec9dfa | |||
| 3bab036cc4 | |||
| df563bf1b1 | |||
| fc86261a9d |
@@ -0,0 +1,5 @@
|
||||
.godot/
|
||||
export/
|
||||
*.tscn
|
||||
*.import
|
||||
addons/
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
name: Godot 4.4 Core Rules
|
||||
priority: high
|
||||
---
|
||||
|
||||
Ты — senior Godot 4.4 GDScript разработчик.
|
||||
|
||||
- Всегда используй Godot 4.4+ API.
|
||||
- Пиши строго типизированный код (`var health: int = 100`, `: Array[Node]` и т.д.).
|
||||
- Предпочитай Signals вместо проверки в _process.
|
||||
- Используй @export, @export_range, @export_enum, @onready.
|
||||
- Composition over deep inheritance.
|
||||
- Менеджеры и автолоады выноси в отдельные singleton'ы.
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
name: Project Architecture
|
||||
---
|
||||
|
||||
В этом проекте используется следующая архитектура:
|
||||
- StateMachine на основе Node + signals
|
||||
- Inventory использует ItemStack и SignalBus
|
||||
- Все данные сохраняются через SaveManager (autoload)
|
||||
- UI строится через Control + custom themes
|
||||
@@ -6,3 +6,5 @@
|
||||
|
||||
# MacOS specific ignores
|
||||
.DS_Store
|
||||
.kilo/agent-manager.json
|
||||
.kilo/kilo.jsonc
|
||||
|
||||
+34
-22
@@ -10,47 +10,50 @@ var Settings: Dictionary = {
|
||||
|
||||
# TODO getter setter for locale
|
||||
|
||||
var Owniverse: Dictionary = {
|
||||
"datetime": {},
|
||||
"sector": "",
|
||||
"location": "",
|
||||
"charsheet": {},
|
||||
"fleet": {},
|
||||
"inventory": {},
|
||||
}
|
||||
|
||||
var Locales: Dictionary = {}
|
||||
var Locale = "en"
|
||||
|
||||
var Entities: Dictionary = {}
|
||||
var OwniverseEntities: Dictionary = {}
|
||||
var OwniverseItems: Dictionary = {}
|
||||
var Templates: Dictionary = {}
|
||||
|
||||
|
||||
func get_localized_item_description(entity_id: String, item: String) -> String:
|
||||
if Locales[Locale].has(entity_id):
|
||||
return Locales[Locale][entity_id][item]
|
||||
func get_localized_item_description(item_id: String, item: String) -> String:
|
||||
if Locales[Locale].has(item_id):
|
||||
return Locales[Locale][item_id][item]
|
||||
return ""
|
||||
|
||||
|
||||
func get_description(item_id: String, values: Array = []) -> String:
|
||||
func get_description(item_id: String, items: Array = []) -> String:
|
||||
if !Templates[Locale].has(item_id):
|
||||
return ""
|
||||
#print(Templates[Locale])
|
||||
var description: String = Templates[Locale][item_id]["text"]
|
||||
var value = 0
|
||||
for item in values:
|
||||
description.replace("value"+str(value), str(item))
|
||||
for item in items:
|
||||
description.replace("value" + str(value), str(item))
|
||||
return description
|
||||
|
||||
|
||||
func format_number(value: float, digits: int = 0) -> String:
|
||||
if value == 0: return ""
|
||||
if value < 10_000:
|
||||
return "%.*f" % [digits, value]
|
||||
|
||||
var exp_value = int(floor(log(abs(value)) / log(10.0)))
|
||||
var mantissa = value / pow(10.0, exp_value)
|
||||
|
||||
return "%.*f" % [digits, mantissa] + "E%+d" % exp_value
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
Entities = _read_from_csv("res://Autoload/entities.csv")
|
||||
OwniverseEntities = _read_from_csv("res://data/owniverse_entitites.txt")
|
||||
OwniverseItems = _read_from_csv("res://data/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://data/locale.en.txt")
|
||||
Locales["ru"] = _read_from_csv("res://data/locale.ru.txt")
|
||||
|
||||
Templates["en"] = _read_from_csv("res://data/templates.en.txt")
|
||||
|
||||
Templates["en"] = _read_from_csv("res://Autoload/templates.en.csv")
|
||||
|
||||
func _read_from_csv(file_path: String) -> Dictionary:
|
||||
if not FileAccess.file_exists(file_path):
|
||||
@@ -72,7 +75,7 @@ func _read_from_csv(file_path: String) -> Dictionary:
|
||||
|
||||
while not file.eof_reached():
|
||||
var raw_row = file.get_csv_line("|")
|
||||
if raw_row.is_empty(): # пропускаем пустые строки
|
||||
if raw_row.is_empty(): # пропускаем пустые строки
|
||||
continue
|
||||
|
||||
var trimmed_row: PackedStringArray = []
|
||||
@@ -95,6 +98,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,132 +0,0 @@
|
||||
Пространство|S|Resource|||||||||||||1|S||||||||
|
||||
Водород|H|Resource|||||||||||||1|H||||||||
|
||||
Гелий|He|Resource||||||||||||||||||||||
|
||||
Металлы|Met|Resource||||||||||||||||||||||
|
||||
Бурый карлик|BD|Planet|||||||||||BD:1|||||||||||
|
||||
Горячий бурый карлик|HBD|Star phase 1|BD|0.1|5.00E+09|H:0.1|||S:0.5|||CBD:1|||||||||1|||
|
||||
Красный карлик|RD|Star phase 1||1|4.00E+10|H:1||1|S:40|||TWD:1&H:0.13&He:0.05&Met:0.01|H:1|Star||DwStar|1x0.01|1x0.21|2x0.08|3x0.4|1|||
|
||||
Оранжевый карлик|OD|Star phase 1||8|1.80E+10|H:8||1|S:36|||SRG:1|RD:1|Star||DwStar|1x0.03|2x0.34|3x0.13|3x0.4|1|||
|
||||
Жёлтый карлик|YD|Star phase 1||10|9.00E+09|H:10||1|S:27|||NRG:1|OD:1|Star||DwStar|2x0.1|3x0.55|4x0.21|3x0.4|1|||
|
||||
Бело-жёлтый карлик|WYD|Star phase 1||16|1.80E+09|H:16||1|S:18|||MRG:1|YD:1|Star||DwStar|3x0.3|5x0.89|5x0.34|3x0.4|1|||
|
||||
Жёлтый гигант|YG|Star phase 1||50|4.50E+08|H:50||1|S:9|||LRG:1|H:15|Star||GiStar|||||2|||
|
||||
Голубой гигант|BG|Star phase 1||100|9.00E+07|H:100||1|S:9|||HRG:1|H:30&YG:1|Star||GiStar|||||2|||
|
||||
Сверхгигант|SG|Star phase 1||300|9.00E+06|H:300||1|S:9|||RSG:1|H:100&BG:1|Star||GiStar|||||2|||
|
||||
Гипергигант|HG|Star phase 1||1000|9.00E+05|H:1000||1|S:9|||RHG:1|H:300&SG:1|Star||GiStar|||||2|||
|
||||
Красный гигант|RG|Star phase 2|||||||||||RG:1|||||||||||
|
||||
Малый красный гигант|SRG|Star phase 2|RG|8|2.00E+09||||S:80|||SWD:1&H:2.32&He:0.64&Met:0.08&S:12.4||Star|||||||1|||
|
||||
Обычный Красный гигант|NRG|Star phase 2|RG|10|1.00E+09||||S:120.|||NWD:1&H:3.2&He:1.3&Met:0.2&S:14.3||Star|||||||1|||
|
||||
Средний красный гигант|MRG|Star phase 2|RG|16|2.00E+08||||S:200|||LWD:1&H:4.96&He:3.36&Met:0.48&S:20.2||Star|||||||1|||
|
||||
Большой красный гигант|LRG|Star phase 2|RG|50|5.00E+07||||S:300|||DSN^SGRB%.1||Star|||||||2|||
|
||||
Огромный красный гигант|HRG|Star phase 2|RG|100|1.00E+07||||S:400.|||SN^GRB%1||Star|||||||2|||
|
||||
Красный сверхгигант|RSG|Star phase 2|RG|300|1.00E+06||||S:500|||BSN^LGRB%3||Star|||||||2|||
|
||||
Красный гипергигант|RHG|Star phase 2|RG|1000|1.00E+05||||S:600|||HN^HGRB%10||Star|||||||2|||
|
||||
Тусклая сверхновая|DSN|Star phase 3|||1||||S:59.1|||SNS:1&H:6.5&He:13.5&Met:11&blast:2||||SNGRBB|||||2|||
|
||||
Сверхновая|SN|Star phase 3|||1||||S:99.1|||LNS:1&H:8&He:50&Met:11&blast:9||||SNGRBB|||||2|||
|
||||
Яркая сверхновая|BSN|Star phase 3|||1||||S:309.1|||MGT:1&H:15&He:186&Met:15&blast:305||||SNGRBB|||||2|||
|
||||
Гиперновая|HN|Star phase 3|||1||||S:939.1|||BH40:1&H:30&He:560&Met:30&blast:9990||||SNGRBB|||||2|||
|
||||
Малый гамма-всплеск|SGRB|Star phase 3|||1||||S:149.1|||BH25:1&H:0.5&He:10&Met:4&blast:31||||SNGRBB|||||2|||
|
||||
Гамма-всплеск|GRB|Star phase 3|||1||||S:239.1|||BH30:1&H:19&He:12&Met:5&blast:136||||SNGRBB|||||2|||
|
||||
Большой гамма-всплеск|LGRB|Star phase 3|||1||||S:669.1|||BH40:1&H:68&He:18&Met:9&blast:3446||||SNGRBB|||||2|||
|
||||
Гипер гамма-всплеск|HGRB|Star phase 3|||1||||S:1939.1|||BH60:1&H:0&He:40&Met:10&blast:97342||||SNGRBB|||||2|||
|
||||
Холодный бурый карлик|CBD|Star phase 4|BD|0.1||||||||||||||||||||
|
||||
Белый карлик|WD|Star phase 4|||||||||||WD:1|||||||||||
|
||||
Крошечный белый карлик|TWD|Star phase 4|WD|0.8||||||||||Star||Degen||||||||
|
||||
Малый белый карлик|SWD|Star phase 4|WD|4.8||||||||||Star||Degen||||||||
|
||||
Обычный белый карлик|NWD|Star phase 4|WD|5||||||||||Star||Degen||||||||
|
||||
Большой белый карлик|LWD|Star phase 4|WD|6.4||||||||||Star||Degen||||||||
|
||||
Нейтронная звезда|NS|Star phase 4|||||||||||NS:1|||||||||||
|
||||
Малая нейтронная звезда|SNS|Star phase 4|NS|15||||||||||Star||Degen||||||||
|
||||
Большая нейтронная звезда|LNS|Star phase 4|NS|18||||||||||Star||Degen||||||||
|
||||
Магнетар|MGT|Star phase 4||21|||||||||MGT:1|Star||Degen||||||||
|
||||
Чёрная дыра|BH|Star phase 4|||||||||||BH:1|||||||||||
|
||||
Чёрная дыра 25|BH25|Star phase 4|BH|25||||||||||BH||BH||||||||
|
||||
Чёрная дыра 30|BH30|Star phase 4|BH|30||||||||||BH||BH||||||||
|
||||
Чёрная дыра 40|BH40|Star phase 4|BH|40||||||||||BH||BH||||||||
|
||||
Чёрная дыра 60|BH60|Star phase 4|BH|60||||||||||BH||BH||||||||
|
||||
СМЧД|SMBH|Star phase 4|||||||||||BH:1|||SMBH||||||||
|
||||
Туманность|N|Cloud||1|1.00E+07|H:1||10|H:10|||H:1&S:10|S:1|CL||CL||||||||
|
||||
Глобула|G|Cloud||11|3.00E+07|H:10&N:1||10|H:150|||H:11&S:20|N:1|CL||CL||||||||
|
||||
Звёздная колыбель|STN|Cloud||211|3.00E+07|H:200&G:1||300|H:3000|0.50||H:211&S:320|G:1|CL||CL||||||||
|
||||
Молекулярное облако|MC|Cloud||2011|3.00E+08|H:2000&G:1||4000|H:90000.|||H:2011&S:4020|G:1&S:1300|CL||CL||||||||
|
||||
Активная звёздная колыбель|ASTN|Cloud||202011|1.00E+08|H:200000&MC:1||200000|H:2000000|0.65||H:202011&S:204020|MC:1&S:60000|CL||CL||||||||
|
||||
Рассеянное звёздное скопление|SCD|Cluster|||1.00E+07||Star:1000||||||Star:300|SC||SC||||||0.10|4|C2.3
|
||||
Малое звёздное скопление|SCS|Cluster|||1.00E+09||Star:10000&BH:10||||||SCD:1&Star:2000|SC||SC||||||0.20|3.6|C2.4
|
||||
Среднее звёздное скопление|SCM|Cluster|||3.00E+09||Star:100000&BH:100||||||SCS:1&Star:20000|SC||SC||||||0.30|3.4|C2.5
|
||||
Большое звёздное скопление|SCL|Cluster|||1.00E+10||Star:1000000&BH:1000||||||SCM:1&Star:200000|SC||SC||||||0.50|3.2|C2.6
|
||||
Гигантское звёздное скопление|SCG|Cluster|||3.00E+10||Star:10000000&BH:10000||||||SCL:1&Star:2000000|SC||SC||||||0.80|3|C2.7
|
||||
Карликовая эллиптическая галактика|GED|GalaxyElliptical|||1.20E+10|SMBH:10000|Star:1000000000&BH:1000000&SC:100||||||SMBH:1&SC:1|GAL||GALE||||||1.00|1.9|C2.9
|
||||
Малая эллиптическая галактика|GES|GalaxyElliptical|||1.30E+10|SMBH:100000|Star:10000000000&BH:10000000&SC:1000||||||GED:1&Star:2000000000|GAL||GALE||||||1.50|1.8|C3.0
|
||||
Средняя эллиптическая галактика|GEM|GalaxyElliptical|||1.50E+10|SMBH:1000000|Star:100000000000&BH:100000000&SC:10000||||||GES:1&Star:20000000000|GAL||GALE||||||2.00|1.7|C3.1
|
||||
Большая эллиптическая галактика|GEL|GalaxyElliptical|||1.70E+10|SMBH:10000000|Star:1000000000000&BH:1000000000&SC:100000||||||GEM:1&Star:200000000000|GAL||GALE||||||3.00|1.6|C3.2
|
||||
Гигантская эллиптическая галактика|GEG|GalaxyElliptical|||2.00E+10|SMBH:100000000|Star:10000000000000&BH:10000000000&SC:1000000||||||GEL:1&Star:2000000000000|GAL||GALE||||||4.50|1.5|C3.3
|
||||
Карликовая спиральная галактика|GSD|GalaxySpiral|||2.00E+09|STN:10000&ASTN:10|GED:1|-5240200|H:2400000000|0.80||H:4112110|GED:1|GAL||GALS|||||||2.5|C2.9
|
||||
Малая спиральная галактика|GSS|GalaxySpiral|||3.00E+09|STN:100000&ASTN:100|GES:1|-52402000|H:36000000000|0.80||H:41121100|GES:1|GAL||GALS|||||||2.3|C3.0
|
||||
Средняя спиральная галактика|GSM|GalaxySpiral|||4.00E+09|STN:1000000&ASTN:1000|GEM:1|-524020000|H:480000000000|0.80||H:411211000|GEM:1|GAL||GALS|||||||2.2|C3.1
|
||||
Большая спиральная галактика|GSL|GalaxySpiral|||6.00E+09|STN:10000000&ASTN:10000|GEL:1|-5240200000|H:7200000000000|0.80||H:4112110000|GEL:1|GAL||GALS|||||||2.1|C3.2
|
||||
Гигантская спиральная галактика|GSG|GalaxySpiral|||9.00E+09|STN:100000000&ASTN:100000|GEG:1|-52402000000|H:108000000000000|0.80||H:41121100000|GEG:1|GAL||GALS|||||||2|C3.3
|
||||
Группа галактик|LGG|Structures|||1.00E+10||GAL:50||||||GAL:20|LS||LS|||||||1.5|C3.4
|
||||
Сверхскопление|LSC|Structures|||2.00E+10||LGG:200||||||LGG:1&GAL:100|LS||LS|||||||1.4|C3.6
|
||||
Галактическая нить|LGF|Structures|||3.00E+10||LSC:100||||5||LSC:1&LGG:400|LS||LS|||||||1.3|C3.8
|
||||
Великая стена|LGW|Structures|||6.00E+10||LGF:1000||||1.00E+04||LGF:1&LSC:200|LS||LS|||||||1.2|C4.1
|
||||
Вселенский пузырь|LUB|Structures|||1.00E+11||LGW:1000||||1.00E+09||LGW:1&LGF:2000|LS||LS|||||||1.1|C4.4
|
||||
Газовый гигант|GG|Planet|||||||||||GG:1|Planet||BPlanet||||||||
|
||||
Астероиды|AB|Planet|||||||||||AB:1|Planet||BPlanet||||||||
|
||||
Каменистая|RP|Planet|||||||||||RP:1|Planet||BPlanet||||||||
|
||||
Обитаемая|HP|Planet|||||||||||HP:1|Planet||LPlanet||||||||
|
||||
Живая|LP|Planet|||||||||||LP:1|Planet||LPlanet||||||||
|
||||
Эон 1: Архей|EON1|Planet|LP||||||||||EON1:1|Planet||LPlanet||||||||
|
||||
Эон 2: Протерозой|EON2|Planet|LP||||||||||EON2:1|Planet||LPlanet||||||||
|
||||
Эон 3: Палеозой|EON3|Planet|LP||||||||||EON3:1|Planet||LPlanet||||||||
|
||||
Эон 4: Мезозой|EON4|Planet|LP||||||||||EON4:1|Planet||LPlanet||||||||
|
||||
Эон 5: Кайнозой|EON5|Planet|LP||||||||||EON5:1|Planet||LPlanet||||||||
|
||||
Цивилизация типа 0|C0|Civilization|||||||||||C0:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.0|C0.0|Civilization|C0||||||||||C0.0:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.1|C0.1|Civilization|C0||||||||||C0.1:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.2|C0.2|Civilization|C0||||||||||C0.2:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.3|C0.3|Civilization|C0||||||||||C0.3:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.4|C0.4|Civilization|C0||||||||||C0.4:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.5|C0.5|Civilization|C0||||||||||C0.5:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.6|C0.6|Civilization|C0||||||||||C0.6:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.7|C0.7|Civilization|C0||||||||||C0.7:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.8|C0.8|Civilization|C0||||||||||C0.8:1|Planet||LPlanet||||||||
|
||||
Цивилизация 0.9|C0.9|Civilization|C0||||||||||C0.9:1|Planet||LPlanet||||||||
|
||||
Цивилизация типа 1|C1|Civilization|||||||||||C1:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.0|C1.0|Civilization|C1||||||||||C1.0:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.1|C1.1|Civilization|C1||||||||||C1.1:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.2|C1.2|Civilization|C1||||||||||C1.2:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.3|C1.3|Civilization|C1||||||||||C1.3:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.4|C1.4|Civilization|C1||||||||||C1.4:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.5|C1.5|Civilization|C1||||||||||C1.5:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.6|C1.6|Civilization|C1||||||||||C1.6:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.7|C1.7|Civilization|C1||||||||||C1.7:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.8|C1.8|Civilization|C1||||||||||C1.8:1|Planet||LPlanet||||||||
|
||||
Цивилизация 1.9|C1.9|Civilization|C1||||||||||C1.9:1|Planet||LPlanet||||||||
|
||||
Цивилизация типа 2|C2|Civilization|||||||||||C2:1|||||||||||
|
||||
Цивилизация 2.0|C2.0|Civilization|C2||||||||||C2.0:1|||||||||||
|
||||
Цивилизация 2.1|C2.1|Civilization|C2||||||||||C2.1:1|||||||||||
|
||||
Цивилизация 2.2|C2.2|Civilization|C2||||||||||C2.2:1|||||||||||
|
||||
Цивилизация 2.3|C2.3|Civilization|C2||||||||||C2.3:1|||||||||||
|
||||
Цивилизация 2.4|C2.4|Civilization|C2||||||||||C2.4:1|||||||||||
|
||||
Цивилизация 2.5|C2.5|Civilization|C2||||||||||C2.5:1|||||||||||
|
||||
Цивилизация 2.6|C2.6|Civilization|C2||||||||||C2.6:1|||||||||||
|
||||
Цивилизация 2.7|C2.7|Civilization|C2||||||||||C2.7:1|||||||||||
|
||||
Цивилизация 2.8|C2.8|Civilization|C2||||||||||C2.8:1|||||||||||
|
||||
Цивилизация 2.9|C2.9|Civilization|C2||||||||||C2.9:1|||||||||||
|
||||
Цивилизация типа 3|C3|Civilization|||||||||||C3:1|||||||||||
|
||||
Цивилизация 3.0|C3.0|Civilization|C3||||||||||C3.0:1|||||||||||
|
||||
Цивилизация 3.1|C3.1|Civilization|C3||||||||||C3.1:1|||||||||||
|
||||
Цивилизация 3.2|C3.2|Civilization|C3||||||||||C3.2:1|||||||||||
|
||||
Цивилизация 3.3|C3.3|Civilization|C3||||||||||C3.3:1|||||||||||
|
||||
Цивилизация 3.4|C3.4|Civilization|C3||||||||||C3.4:1|||||||||||
|
||||
Цивилизация 3.5|C3.5|Civilization|C3||||||||||C3.5:1|||||||||||
|
||||
Цивилизация 3.6|C3.6|Civilization|C3||||||||||C3.6:1|||||||||||
|
||||
Цивилизация 3.7|C3.7|Civilization|C3||||||||||C3.7:1|||||||||||
|
||||
Цивилизация 3.8|C3.8|Civilization|C3||||||||||C3.8:1|||||||||||
|
||||
Цивилизация 3.9|C3.9|Civilization|C3||||||||||C3.9:1|||||||||||
|
||||
Цивилизация типа 4|C4|Civilization|||||||||||C4:1|||||||||||
|
||||
Цивилизация 4.0|C4.0|Civilization|C4||||||||||C4.0:1|||||||||||
|
||||
Цивилизация 4.1|C4.1|Civilization|C4||||||||||C4.1:1|||||||||||
|
||||
Цивилизация 4.2|C4.2|Civilization|C4||||||||||C4.2:1|||||||||||
|
||||
Цивилизация 4.3|C4.3|Civilization|C4||||||||||C4.3:1|||||||||||
|
||||
Цивилизация 4.4|C4.4|Civilization|C4||||||||||C4.4:1|||||||||||
|
||||
Трансцендентная цивилизация|Ct|Civilization||||||||||||||||||||||
|
||||
|
@@ -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|
|
||||
|
@@ -5,25 +5,14 @@ extends Node
|
||||
const SETTING_SECTION := "Settings"
|
||||
const SAVE_PATH = "user://settings.cfg"
|
||||
|
||||
|
||||
func ch():
|
||||
pass
|
||||
#print(Global.Owniverse)
|
||||
#print('h')
|
||||
#save_data('ow1', 'test', Global.Owniverse)
|
||||
#var d1: Dictionary = load_data('ow1', 'test1')
|
||||
#print("d1: ", d1)
|
||||
#var d2: Dictionary = load_data('ow1', 'test')
|
||||
#print("d2: ", d2)
|
||||
#print('d')
|
||||
#print(Global.Owniverse.datetime.WEEKDAYS)
|
||||
#region Save Load routines
|
||||
|
||||
|
||||
func save_data(filename: String, password: String, data: Dictionary) -> void:
|
||||
filename = "user://" + filename + ".adventure"
|
||||
var file := FileAccess.open_encrypted_with_pass(filename, FileAccess.WRITE, password)
|
||||
if file == null:
|
||||
push_error("Не удалось открыть файл для шифрованной записи")
|
||||
push_error("Can't write to the file: ", filename)
|
||||
return
|
||||
|
||||
file.store_var(data) # бинарно + быстрее + сериализация
|
||||
@@ -37,17 +26,15 @@ func load_data(filename: String, password: String) -> Dictionary:
|
||||
|
||||
var file := FileAccess.open_encrypted_with_pass(filename, FileAccess.READ, password)
|
||||
if file == null:
|
||||
push_error("Неверный пароль или повреждённый файл")
|
||||
push_error(filename, " couldn't be decrypted.")
|
||||
return {}
|
||||
|
||||
var data:Variant = file.get_var()
|
||||
var data: Variant = file.get_var()
|
||||
file.close()
|
||||
|
||||
#print("data")
|
||||
#print(data)
|
||||
|
||||
return data if data is Dictionary else {}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Settings
|
||||
+127
-61
@@ -1,14 +1,15 @@
|
||||
extends Control
|
||||
|
||||
const ITEM_BUTTON = preload("uid://d3xjfxwe3w16v")
|
||||
signal produce_items(item_id: String, amount: int)
|
||||
|
||||
const SPEED_TEXTURE_NAME_TEMPLATE = "res://UI/TopMenu/Time&Speed/Time%s.png"
|
||||
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
|
||||
|
||||
@@ -26,7 +27,12 @@ const SWIPE_DELAY = 2000 # msec
|
||||
$StageRows/PageScroller/HBoxContainer/LifePage/Planets/Civ4
|
||||
]
|
||||
|
||||
@onready var g_entity_descriptions: Array = [
|
||||
@onready var page_actions: Dictionary[int, OwniverseAction] = {
|
||||
2: $StageRows/PageScroller/HBoxContainer/StarPage/Actions,
|
||||
3: $StageRows/PageScroller/HBoxContainer/StructurePage/Actions,
|
||||
}
|
||||
|
||||
@onready var g_item_descriptions: Array = [
|
||||
$StageRows/PageScroller/HBoxContainer/ForcePage/Description,
|
||||
$StageRows/PageScroller/HBoxContainer/ResourcePage/Description,
|
||||
$StageRows/PageScroller/HBoxContainer/StarPage/Description,
|
||||
@@ -54,7 +60,7 @@ const SWIPE_DELAY = 2000 # msec
|
||||
var g_tween: Tween = null
|
||||
var g_dragged_start: Vector2 = Vector2.ZERO
|
||||
var g_scroll_start: int = 0
|
||||
var g_current_page: int = 0
|
||||
#var g_current_page: int = 0
|
||||
|
||||
var g_last_scroll_updated: int = 0
|
||||
|
||||
@@ -65,80 +71,114 @@ var g_counters: Dictionary[String, Counter] = {
|
||||
"swipe": Counter.new(),
|
||||
}
|
||||
|
||||
var ActiveEntities: Dictionary = {}
|
||||
var g_active_items: Dictionary = {}
|
||||
|
||||
var owniverse = Owniverse.new()
|
||||
var owniverse:Owniverse = Owniverse.new()
|
||||
var owniverse_items: Dictionary[String, OwniverseItem] = {}
|
||||
|
||||
func set_datetime(value: String):
|
||||
date_time.text = value
|
||||
var item_list_to_update: Dictionary = {}
|
||||
|
||||
func set_datetime(value: float):
|
||||
date_time.text = str(snapped(value, 0.1))
|
||||
|
||||
#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:
|
||||
if owniverse_items.has(item_id):
|
||||
owniverse_items[item_id].set_label(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 entity_activated(entity: OwniverseEntity) -> void:
|
||||
_control_page(entity)
|
||||
_set_entity_description(entity)
|
||||
|
||||
|
||||
func _set_entity_description(entity: OwniverseEntity) -> void:
|
||||
func _set_item_description(item: OwniverseItem) -> void:
|
||||
var description: String = "[b]" \
|
||||
+ Global.get_localized_item_description(entity.entity_name, "label") \
|
||||
+ Global.get_localized_item_description(item.item_name, "label") \
|
||||
+"[/b]" \
|
||||
+"\n" \
|
||||
+ Global.get_localized_item_description(entity.entity_name, "description")
|
||||
var desc_page = clamp(entity.entity_page, 0, 4)
|
||||
g_entity_descriptions[desc_page].text = description
|
||||
+ Global.get_localized_item_description(item.item_name, "description")
|
||||
var desc_page = clamp(item.item_page, 0, 4)
|
||||
g_item_descriptions[desc_page].text = description
|
||||
|
||||
|
||||
func _set_description(item_name: String, page: int) -> void:
|
||||
var description = Global.get_description(item_name + ".Name")
|
||||
description += "\n"
|
||||
description += Global.get_description(item_name + ".Description")
|
||||
g_entity_descriptions[page].text = description
|
||||
g_item_descriptions[page].text = description
|
||||
|
||||
|
||||
func _control_page(entity: OwniverseEntity) -> void:
|
||||
if !ActiveEntities.has(entity.entity_page):
|
||||
ActiveEntities[entity.entity_page] = null
|
||||
func _control_page(item: OwniverseItem) -> void:
|
||||
# TODO переписать это ↓
|
||||
if !g_active_items.has(item.item_page):
|
||||
g_active_items[item.item_page] = null
|
||||
|
||||
var current_entity: OwniverseEntity = ActiveEntities[entity.entity_page]
|
||||
if current_entity == entity:
|
||||
var current_item: OwniverseItem = g_active_items[item.item_page]
|
||||
if current_item == item:
|
||||
return
|
||||
|
||||
ActiveEntities[entity.entity_page] = entity
|
||||
g_active_items[item.item_page] = item
|
||||
|
||||
if current_entity != null and current_entity.entity_page == entity.entity_page:
|
||||
current_entity.set_selection(false)
|
||||
if current_item != null and current_item.item_page == item.item_page:
|
||||
current_item.set_selection(false)
|
||||
|
||||
entity.set_selection(true)
|
||||
item.set_selection(true)
|
||||
|
||||
# subpages
|
||||
if entity.sub_page != -1:
|
||||
item_pages[entity.sub_page].visible = true
|
||||
if item.item_sub_page != -1:
|
||||
item_pages[item.item_sub_page].visible = true
|
||||
|
||||
if current_entity == null \
|
||||
or current_entity.sub_page == -1 \
|
||||
or current_entity.sub_page == entity.sub_page:
|
||||
if current_item == null \
|
||||
or current_item.item_sub_page == -1 \
|
||||
or current_item.item_sub_page == item.item_sub_page:
|
||||
return
|
||||
item_pages[current_entity.sub_page].visible = false
|
||||
item_pages[current_item.item_sub_page].visible = false
|
||||
|
||||
|
||||
func _init_entities() -> bool:
|
||||
for e_id in Global.Entities:
|
||||
var entity_properties: Dictionary = Global.Entities[e_id]
|
||||
var entity: OwniverseEntity = ITEM_BUTTON.instantiate()
|
||||
if !entity_properties.has("page"):
|
||||
printerr("Entity `", e_id, "` has no `page` key.")
|
||||
func _init_owniverse_items() -> bool:
|
||||
owniverse_items = {}
|
||||
for item_id in Global.OwniverseItems:
|
||||
var item_props: Dictionary = Global.OwniverseItems[item_id]
|
||||
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(entity_properties.page)
|
||||
item_pages[page].add_child(entity)
|
||||
entity.init_button(entity_properties)
|
||||
entity.entity_activated.connect(entity_activated)
|
||||
var page: int = int(item_props.page)
|
||||
item_pages[page].add_child(item)
|
||||
item.init_button(item_props)
|
||||
item.item_activated.connect(item_activated)
|
||||
|
||||
owniverse_items[item_id] = item
|
||||
|
||||
return false
|
||||
|
||||
|
||||
func item_activated(item: OwniverseItem) -> void:
|
||||
_control_page(item)
|
||||
_set_item_description(item)
|
||||
|
||||
if item.item_id == "S" or item.item_id == "H":
|
||||
owniverse.produce(item.item_id, 100_000)
|
||||
|
||||
func _unlock_item(item_id: String):
|
||||
owniverse_items[item_id].set_visible(true)
|
||||
|
||||
|
||||
func _check_counters(delta: float) -> Array:
|
||||
var actions: Array = []
|
||||
@@ -156,6 +196,8 @@ func _check_counters(delta: float) -> Array:
|
||||
return actions
|
||||
|
||||
|
||||
#region Swipe
|
||||
|
||||
func _do_actions(actions: Array) -> void:
|
||||
for action: String in actions:
|
||||
match action:
|
||||
@@ -163,9 +205,6 @@ func _do_actions(actions: Array) -> void:
|
||||
_swipe_to_nearest_page()
|
||||
|
||||
|
||||
#region Swipe
|
||||
|
||||
|
||||
func _swipe_to_nearest_page() -> void:
|
||||
if stage_page_scroller.scroll_horizontal % PAGE_WIDTH == 0: return
|
||||
|
||||
@@ -196,27 +235,49 @@ func _input(event: InputEvent) -> void:
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
_init_entities()
|
||||
owniverse.init_enitities()
|
||||
owniverse.load_data()
|
||||
_init_owniverse_items()
|
||||
|
||||
owniverse.unlock_item.connect(_unlock_item)
|
||||
g_counters.swipe.sec = 0.2
|
||||
|
||||
for pa in page_actions:
|
||||
page_actions[pa].action_pressed.connect(_page_action_pressed)
|
||||
page_actions[pa].page_id = pa
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
# Update date
|
||||
var sdt: String = str(snapped(owniverse.add_time_delta(delta), 0.1))
|
||||
set_datetime(sdt)
|
||||
|
||||
var year_delta: float = owniverse.add_time_delta(delta)
|
||||
set_datetime(year_delta)
|
||||
owniverse.cycle(year_delta)
|
||||
|
||||
var actions = _check_counters(delta)
|
||||
_do_actions(actions)
|
||||
|
||||
_set_active_page_actions()
|
||||
|
||||
func _set_active_page_actions() -> void:
|
||||
for pa in page_actions:
|
||||
if !g_active_items.has(pa): continue
|
||||
|
||||
var item_id: String = g_active_items[pa].item_id
|
||||
var amount = owniverse.get_available_to_produce(item_id)
|
||||
page_actions[pa].set_actions(item_id, amount)
|
||||
|
||||
|
||||
|
||||
func _on_burger_button_pressed() -> void:
|
||||
print("b")
|
||||
pass # Replace with function body.
|
||||
func _page_action_pressed(page_id: int, action_amount: float) -> void:
|
||||
if !g_active_items.has(page_id):
|
||||
return
|
||||
|
||||
var item_id: String = g_active_items[page_id].item_id
|
||||
|
||||
if action_amount > 0:
|
||||
owniverse.produce(item_id, action_amount)
|
||||
|
||||
|
||||
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
|
||||
@@ -235,6 +296,11 @@ 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)
|
||||
|
||||
|
||||
func _on_save_data() -> void:
|
||||
owniverse.save_data()
|
||||
|
||||
@@ -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():
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,46 @@
|
||||
extends HBoxContainer
|
||||
class_name OwniverseAction
|
||||
|
||||
signal action_pressed(page_id, amount: float)
|
||||
|
||||
@onready var action_labels: Array = [
|
||||
$ActionControl0/Label,
|
||||
$ActionControl1/Label,
|
||||
$ActionControl2/Label,
|
||||
$ActionControl3/Label,
|
||||
$ActionControl4/Label,
|
||||
]
|
||||
|
||||
var page_id: int = -1
|
||||
var current_item_id = ""
|
||||
|
||||
var action_values: Dictionary = {
|
||||
0: 0,
|
||||
1: 0,
|
||||
2: 0,
|
||||
3: 0,
|
||||
4: 0,
|
||||
}
|
||||
|
||||
|
||||
func set_actions(item_id: String, value: float) -> void:
|
||||
current_item_id = item_id
|
||||
_set_action_values(_get_distribution(value))
|
||||
|
||||
func _get_distribution(value: float) -> Array:
|
||||
var distribution: Array = [value, 0, 0, 0, 0]
|
||||
|
||||
var exp_value = int(floor(log(abs(value)) / log(10.0)))
|
||||
var floor_value = max(exp_value - 4, -1)
|
||||
for ev in range(exp_value, floor_value, -1):
|
||||
distribution.push_front(pow(10.0, ev))
|
||||
return distribution
|
||||
|
||||
func _set_action_values(values: Array) -> void:
|
||||
for ind in range(0, 5):
|
||||
action_values[ind] = values[ind]
|
||||
action_labels[ind].text = Global.format_number(values[ind]) if values[ind] > 0 else ""
|
||||
|
||||
|
||||
func _on_action_button_pressed(button_id: int) -> void:
|
||||
action_pressed.emit(page_id, action_values[button_id])
|
||||
@@ -0,0 +1 @@
|
||||
uid://c2ech05mh56y8
|
||||
@@ -0,0 +1,121 @@
|
||||
[gd_scene format=3 uid="uid://dwneq2qq5p8ek"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c2ech05mh56y8" path="res://ui/actions/actions.gd" id="1_cjivn"]
|
||||
[ext_resource type="FontFile" uid="uid://d3k1ddvv0rmhs" path="res://fonts/Roboto_Condensed/RobotoCondensed-Light.ttf" id="1_lgdyb"]
|
||||
[ext_resource type="Texture2D" uid="uid://gsclv7fr1rbr" path="res://ui/actions/action_button.png" id="2_cjivn"]
|
||||
|
||||
[node name="Actions" type="HBoxContainer" unique_id=503388208]
|
||||
custom_minimum_size = Vector2(0, 216)
|
||||
theme_override_constants/separation = 0
|
||||
script = ExtResource("1_cjivn")
|
||||
|
||||
[node name="ActionControl0" type="Control" parent="." unique_id=1275614326]
|
||||
custom_minimum_size = Vector2(216, 216)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ActionControl0" unique_id=1639484784]
|
||||
custom_minimum_size = Vector2(216, 32)
|
||||
layout_mode = 0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 40.0
|
||||
theme_override_fonts/font = ExtResource("1_lgdyb")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="TextureButton" type="TextureButton" parent="ActionControl0" unique_id=1122042557]
|
||||
custom_minimum_size = Vector2(216, 184)
|
||||
layout_mode = 0
|
||||
offset_top = 32.0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 216.0
|
||||
texture_normal = ExtResource("2_cjivn")
|
||||
|
||||
[node name="ActionControl1" type="Control" parent="." unique_id=428212496]
|
||||
custom_minimum_size = Vector2(216, 216)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ActionControl1" unique_id=382714464]
|
||||
custom_minimum_size = Vector2(216, 32)
|
||||
layout_mode = 0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 40.0
|
||||
theme_override_fonts/font = ExtResource("1_lgdyb")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="TextureButton" type="TextureButton" parent="ActionControl1" unique_id=1538851090]
|
||||
custom_minimum_size = Vector2(216, 184)
|
||||
layout_mode = 0
|
||||
offset_top = 32.0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 216.0
|
||||
texture_normal = ExtResource("2_cjivn")
|
||||
|
||||
[node name="ActionControl2" type="Control" parent="." unique_id=1758592847]
|
||||
custom_minimum_size = Vector2(216, 216)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ActionControl2" unique_id=1162569223]
|
||||
custom_minimum_size = Vector2(216, 32)
|
||||
layout_mode = 0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 40.0
|
||||
theme_override_fonts/font = ExtResource("1_lgdyb")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="TextureButton" type="TextureButton" parent="ActionControl2" unique_id=1137903803]
|
||||
custom_minimum_size = Vector2(216, 184)
|
||||
layout_mode = 0
|
||||
offset_top = 32.0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 216.0
|
||||
texture_normal = ExtResource("2_cjivn")
|
||||
|
||||
[node name="ActionControl3" type="Control" parent="." unique_id=615206748]
|
||||
custom_minimum_size = Vector2(216, 216)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ActionControl3" unique_id=580732513]
|
||||
custom_minimum_size = Vector2(216, 32)
|
||||
layout_mode = 0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 40.0
|
||||
theme_override_fonts/font = ExtResource("1_lgdyb")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="TextureButton" type="TextureButton" parent="ActionControl3" unique_id=1783481629]
|
||||
custom_minimum_size = Vector2(216, 184)
|
||||
layout_mode = 0
|
||||
offset_top = 32.0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 216.0
|
||||
texture_normal = ExtResource("2_cjivn")
|
||||
|
||||
[node name="ActionControl4" type="Control" parent="." unique_id=473471606]
|
||||
custom_minimum_size = Vector2(216, 216)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="ActionControl4" unique_id=1862337838]
|
||||
custom_minimum_size = Vector2(216, 32)
|
||||
layout_mode = 0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 40.0
|
||||
theme_override_fonts/font = ExtResource("1_lgdyb")
|
||||
theme_override_font_sizes/font_size = 32
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="TextureButton" type="TextureButton" parent="ActionControl4" unique_id=1477690280]
|
||||
custom_minimum_size = Vector2(216, 184)
|
||||
layout_mode = 0
|
||||
offset_top = 32.0
|
||||
offset_right = 216.0
|
||||
offset_bottom = 216.0
|
||||
texture_normal = ExtResource("2_cjivn")
|
||||
|
||||
[connection signal="pressed" from="ActionControl0/TextureButton" to="." method="_on_action_button_pressed" binds= [0]]
|
||||
[connection signal="pressed" from="ActionControl1/TextureButton" to="." method="_on_action_button_pressed" binds= [1]]
|
||||
[connection signal="pressed" from="ActionControl2/TextureButton" to="." method="_on_action_button_pressed" binds= [2]]
|
||||
[connection signal="pressed" from="ActionControl3/TextureButton" to="." method="_on_action_button_pressed" binds= [3]]
|
||||
[connection signal="pressed" from="ActionControl4/TextureButton" to="." method="_on_action_button_pressed" binds= [4]]
|
||||
@@ -1,7 +1,7 @@
|
||||
extends Control
|
||||
class_name OwniverseEntity
|
||||
class_name OwniverseItem
|
||||
|
||||
signal entity_activated(entity)
|
||||
signal item_activated(item)
|
||||
|
||||
const ENTITY_WIDTH = 216
|
||||
const ENTITY_HEIGHT = 256
|
||||
@@ -11,10 +11,17 @@ const ENTITY_HEIGHT = 256
|
||||
@onready var description: Label = $Description
|
||||
@onready var selection: TextureRect = $Selection
|
||||
|
||||
@export var entity_name: String = ""
|
||||
@export var entity_id: String = ""
|
||||
@export var entity_page: int = -1
|
||||
@export var sub_page: int = -1
|
||||
|
||||
var item_id: String = ""
|
||||
var item_name: String = ""
|
||||
var item_page: int = -1
|
||||
var item_sub_page: int = -1
|
||||
var item_type = ""
|
||||
|
||||
|
||||
func set_label(value: float) -> void:
|
||||
description.text = Global.format_number(value)
|
||||
#description.text = str(value)
|
||||
|
||||
|
||||
func set_selection(flag: bool) -> void:
|
||||
@@ -25,16 +32,13 @@ func init_button(properties: Dictionary):
|
||||
var image_path = "res://" + properties.image + properties.name + ".png"
|
||||
texture_button.texture_normal = load(image_path)
|
||||
position = Vector2i(int(properties.col) * ENTITY_WIDTH, int(properties.row) * ENTITY_HEIGHT)
|
||||
entity_id = properties.id
|
||||
entity_name = properties.name
|
||||
entity_page = int(properties.page)
|
||||
sub_page = int(properties.sub_page)
|
||||
item_id = properties.id
|
||||
item_name = properties.name
|
||||
item_page = int(properties.page)
|
||||
item_sub_page = int(properties.sub_page)
|
||||
name = properties.id
|
||||
set_selection(false)
|
||||
#print(properties)
|
||||
|
||||
|
||||
func _on_button_up() -> void:
|
||||
set_selection(true)
|
||||
entity_activated.emit(self)
|
||||
#Texture_button.texture_normal = load("res://UI/0-Forces/Inflatin.png")
|
||||
item_activated.emit(self)
|
||||
@@ -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,5 +0,0 @@
|
||||
extends Node
|
||||
|
||||
func print_smth(smth: String):
|
||||
pass
|
||||
#print(smth)
|
||||
@@ -1 +0,0 @@
|
||||
uid://xte4iwvipeve
|
||||
@@ -1,5 +1,6 @@
|
||||
Version|Content:en|Content:ru
|
||||
0.5.1.|Minor fixes|Незначительные правки
|
||||
0.6.12.128|Unlock|Раблокироровка
|
||||
0.5.1|Minor fixes|Незначительные правки
|
||||
0.5.0|WooHoo! Public release|Ура! Публичный релиз
|
||||
0.4.8|Ads double forces|Реклама удваивает силы
|
||||
0.4.7|Forces rebalanced|Силы перебалансированы
|
||||
@@ -0,0 +1,153 @@
|
||||
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|S:0|S:0||||||||||||||||S|||
|
||||
H|1|H:0|H:0||||||||||||||||H|||
|
||||
He|1|He:1||||||||||||||||||||
|
||||
Met|1|Met:1||||||||||||||||||||
|
||||
BD|1|BD:1||||||||||||||||||||
|
||||
HBD|0||H:0.1||0.1||5000000000||||S:0.5||CBD:1|1|mass:0.1&H:0&HE:0&MET:0||BD|||||
|
||||
RD|1|H:1|H:1||1|1|40000000000||||S:40||TWD:1&H:0.13&He:0.05&Met:0.01|1|mass:0.8&H:0.13&HE:0.05&MET:0.01|HP:1:0.01&RP:1:0.21&GG:2:0.08&AB:3:0.4||Star|DwStar|||
|
||||
OD|1|RD:1|H:8||8|1|18000000000||||S:36||SRG:1|1||HP:1:0.03&RP:2:0.34&GG:3:0.13&AB:3:0.4||Star|DwStar|||
|
||||
YD|1|OD:1|H:10||10|1|9000000000||||S:27||NRG:1|1||HP:2:0.1&RP:3:0.55&GG:4:0.21&AB:3:0.4||Star|DwStar|||
|
||||
WYD|1|YD:1|H:16||16|1|1800000000||||S:18||MRG:1|1||HP:3:0.3&RP:5:0.89&GG:5:0.34&AB:3:0.4||Star|DwStar|||
|
||||
WS|1|H:15|H:50||50|1|450000000||||S:9||LRG:1|2||||Star|GiStar|||
|
||||
BG|1|H:30&WS:1|H:100||100|1|90000000||||S:9||HRG:1|2||||Star|GiStar|||
|
||||
SG|1|H:100&BG:1|H:300||300|1|9000000||||S:9||RSG:1|2||||Star|GiStar|||
|
||||
HG|1|H:300&SG:1|H:1000||1000|1|900000||||S:9||RHG:1|2||||Star|GiStar|||
|
||||
RG|1|RG:1||||||||||||||||||||
|
||||
SRG|0||||8||2000000000||||S:80||SWD:1&H:2.32&He:0.64&Met:0.08&S:12.4|1|mass:4.8&H:2.32&HE:0.64&MET:0.08||RG|Star||||
|
||||
NRG|0||||10||1000000000||||S:120.||NWD:1&H:3.2&He:1.3&Met:0.2&S:14.3|1|mass:5&H:3.2&HE:1.3&MET:0.2||RG|Star||||
|
||||
MRG|0||||16||200000000||||S:200||LWD:1&H:4.96&He:3.36&Met:0.48&S:20.2|1|mass:6.4&H:4.96&HE:3.36&MET:0.48||RG|Star||||
|
||||
LRG|0||||50||50000000||||S:300||DSN^SGRB%0.1|2|||RG|Star||||
|
||||
HRG|0||||100||10000000||||S:400.||SN^GRB%1|2|||RG|Star||||
|
||||
RSG|0||||300||1000000||||S:500||BSN^LGRB%3|2|||RG|Star||||
|
||||
RHG|0||||1000||100000||||S:600||HN^HGRB%10|2|||RG|Star||||
|
||||
DSN|0||||||1|||2|S:59.1||SNS:1&H:6.5&He:13.5&Met:11&blast:2|2|mass:15&H:6.5&HE:13.5&MET:11||||SNGRBB|||
|
||||
SN|0||||||1|||9|S:99.1||LNS:1&H:8&He:50&Met:11&blast:9|2|mass:18&H:8&HE:50&MET:11||||SNGRBB|||
|
||||
BSN|0||||||1||.|305|S:309.1||MGT:1&H:15&He:186&Met:15&blast:305|2|mass:21&H:15&HE:186&MET:15||||SNGRBB|||
|
||||
HN|0||||||1|||9990|S:939.1||BH40:1&H:30&He:560&Met:30&blast:9990|2|mass:40&H:30&HE:560&MET:30||||SNGRBB|||
|
||||
SGRB|0||||||1||0.001|31|S:149.1||BH25:1&H:0.5&He:10&Met:4&blast:31|2|mass:25&H:0.5&HE:10&MET:4||||SNGRBB|||
|
||||
GRB|0||||||1||0.01|136|S:239.1||BH30:1&H:19&He:12&Met:5&blast:136|2|mass:30&H:19&HE:12&MET:5||||SNGRBB|||
|
||||
LGRB|0||||||1||0.03|3446|S:669.1||BH40:1&H:68&He:18&Met:9&blast:3446|2|mass:40&H:68&HE:18&MET:9||||SNGRBB|||
|
||||
HGRB|0||||||1||0.1|97342|S:1939.1||BH60:1&H:0&He:40&Met:10&blast:97342|2|mass:60&H:0&HE:40&MET:10||||SNGRBB|||
|
||||
CBD|0||||0.1||||||||||||BD|||||
|
||||
WD|1|WD:1||||||||||||||||||||
|
||||
TWD|0||||0.8||||||||||||WD|Star|Degen|||
|
||||
SWD|0||||4.8||||||||||||WD|Star|Degen|||
|
||||
NWD|0||||5||||||||||||WD|Star|Degen|||
|
||||
LWD|0||||6.4||||||||||||WD|Star|Degen|||
|
||||
NS|1|NS:1||||||||||||||||||||
|
||||
SNS|0||||15||||||||||||NS|Star|Degen|||
|
||||
LNS|0||||18||||||||||||NS|Star|Degen|||
|
||||
MGT|1|MGT:1|||21|||||||||||||Star|Degen|||
|
||||
BH|1|BH:1||||||||||||||||||||
|
||||
BH25|0||||25||||||||||||BH|BH|BH|||
|
||||
BH30|0||||30||||||||||||BH|BH|BH|||
|
||||
BH40|0||||40||||||||||||BH|BH|BH|||
|
||||
BH60|0||||60||||||||||||BH|BH|BH|||
|
||||
SMBH|1|BH:1|||||||||||||||||SMBH|||
|
||||
N|1|S:1|H:1||1|10|10000000||||H:10||H:1&S:10|||||CL|CL|||
|
||||
G|1|N:1|H:10&N:1||11|10|30000000||||H:150||H:11&S:20|||||CL|CL|||
|
||||
STN|1|G:1|H:200&G:1||211|300|30000000|0.5|||H:3000||H:211&S:320|||||CL|CL|||
|
||||
MC|1|G:1&S:1300|H:2000&G:1||2011|4000|300000000||||H:90000.||H:2011&S:4020|||||CL|CL|||
|
||||
ASTN|1|MC:1&S:60000|H:200000&MC:1||202011|200000|100000000|0.65|||H:2000000||H:202011&S:204020|||||CL|CL|||
|
||||
SCD|1|Star:300||Star:1000|||10000000|||||||||||SC|SC|0.1|4|C2.3
|
||||
SCS|1|SCD:1&Star:2000||Star:10000&BH:10|||1000000000|||||||||||SC|SC|0.2|44350|C2.4
|
||||
SCM|1|SCS:1&Star:20000||Star:100000&BH:100|||3000000000|||||||||||SC|SC|0.3|44289|C2.5
|
||||
SCL|1|SCM:1&Star:200000||Star:1000000&BH:1000|||10000000000|||||||||||SC|SC|0.5|44230|C2.6
|
||||
SCG|1|SCL:1&Star:2000000||Star:10000000&BH:10000|||30000000000|||||||||||SC|SC|0.8|3|C2.7
|
||||
GED|1|SMBH:1&SC:1|SMBH:10000|Star:1000000000&BH:1000000&SC:100|||12000000000|||||||||||GAL|GALE|1|44440|C2.9
|
||||
GES|1|GED:1&Star:2000000000|SMBH:100000|Star:10000000000&BH:10000000&SC:1000|||13000000000|||||||||||GAL|GALE|1.5|44409|C3.0
|
||||
GEM|1|GES:1&Star:20000000000|SMBH:1000000|Star:100000000000&BH:100000000&SC:10000|||15000000000|||||||||||GAL|GALE|2|44378|C3.1
|
||||
GEL|1|GEM:1&Star:200000000000|SMBH:10000000|Star:1000000000000&BH:1000000000&SC:100000|||17000000000|||||||||||GAL|GALE|3|44348|C3.2
|
||||
GEG|1|GEL:1&Star:2000000000000|SMBH:100000000|Star:10000000000000&BH:10000000000&SC:1000000|||20000000000|||||||||||GAL|GALE|4.5|44317|C3.3
|
||||
GSD|1|GED:1|STN:10000&ASTN:10|GED:1||-5240200|2000000000|0.8|||H:2400000000||H:4112110|||||GAL|GALS||44318|C2.9
|
||||
GSS|1|GES:1|STN:100000&ASTN:100|GES:1||-52402000|3000000000|0.8|||H:36000000000||H:41121100|||||GAL|GALS||44257|C3.0
|
||||
GSM|1|GEM:1|STN:1000000&ASTN:1000|GEM:1||-524020000|4000000000|0.8|||H:480000000000||H:411211000|||||GAL|GALS||44229|C3.1
|
||||
GSL|1|GEL:1|STN:10000000&ASTN:10000|GEL:1||-5240200000|6000000000|0.8|||H:7200000000000||H:4112110000|||||GAL|GALS||44198|C3.2
|
||||
GSG|1|GEG:1|STN:100000000&ASTN:100000|GEG:1||-52402000000|9000000000|0.8|||H:108000000000000||H:41121100000|||||GAL|GALS||2|C3.3
|
||||
LGG|1|GAL:20||GAL:50|||10000000000|||||||||||LS|LS||44317|C3.4
|
||||
LSC|1|LGG:1&GAL:100||LGG:200|||20000000000|||||||||||LS|LS||44287|C3.6
|
||||
LGF|1|LSC:1&LGG:400||LSC:100|||30000000000|||||5||||||LS|LS||44256|C3.8
|
||||
LGW|1|LGF:1&LSC:200||LGF:1000|||60000000000|||||10000||||||LS|LS||44228|C4.1
|
||||
LUB|1|LGW:1&LGF:2000||LGW:1000|||100000000000|||||1000000000||||||LS|LS||44197|C4.4
|
||||
GG|1|GG:1||||||||||||||||Planet|BPlanet|||
|
||||
AB|1|AB:1||||||||||||||||Planet|BPlanet|||
|
||||
RP|1|RP:1||||||||||||||||Planet|BPlanet|||
|
||||
HP|1|HP:1||||||||||||||||Planet|LPlanet|||
|
||||
LP|1|LP:1||||||||||||||||Planet|LPlanet|||
|
||||
EON1|1|EON1:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
EON2|1|EON2:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
EON3|1|EON3:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
EON4|1|EON4:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
EON5|1|EON5:1|||||||||||||||LP|Planet|LPlanet|||
|
||||
C0|1|C0:1||||||||||||||||Planet|LPlanet|||
|
||||
C0.0|1|C0.0:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.1|1|C0.1:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.2|1|C0.2:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.3|1|C0.3:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.4|1|C0.4:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.5|1|C0.5:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.6|1|C0.6:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.7|1|C0.7:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.8|1|C0.8:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C0.9|1|C0.9:1|||||||||||||||C0|Planet|LPlanet|||
|
||||
C1|1|C1:1||||||||||||||||Planet|LPlanet|||
|
||||
C1.0|1|C1.0:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.1|1|C1.1:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.2|1|C1.2:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.3|1|C1.3:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.4|1|C1.4:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.5|1|C1.5:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.6|1|C1.6:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.7|1|C1.7:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.8|1|C1.8:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C1.9|1|C1.9:1|||||||||||||||C1|Planet|LPlanet|||
|
||||
C2|1|C2:1||||||||||||||||||||
|
||||
C2.0|1|C2.0:1|||||||||||||||C2|||||
|
||||
C2.1|1|C2.1:1|||||||||||||||C2|||||
|
||||
C2.2|1|C2.2:1|||||||||||||||C2|||||
|
||||
C2.3|1|C2.3:1|||||||||||||||C2|||||
|
||||
C2.4|1|C2.4:1|||||||||||||||C2|||||
|
||||
C2.5|1|C2.5:1|||||||||||||||C2|||||
|
||||
C2.6|1|C2.6:1|||||||||||||||C2|||||
|
||||
C2.7|1|C2.7:1|||||||||||||||C2|||||
|
||||
C2.8|1|C2.8:1|||||||||||||||C2|||||
|
||||
C2.9|1|C2.9:1|||||||||||||||C2|||||
|
||||
C3|1|C3:1||||||||||||||||||||
|
||||
C3.0|1|C3.0:1|||||||||||||||C3|||||
|
||||
C3.1|1|C3.1:1|||||||||||||||C3|||||
|
||||
C3.2|1|C3.2:1|||||||||||||||C3|||||
|
||||
C3.3|1|C3.3:1|||||||||||||||C3|||||
|
||||
C3.4|1|C3.4:1|||||||||||||||C3|||||
|
||||
C3.5|1|C3.5:1|||||||||||||||C3|||||
|
||||
C3.6|1|C3.6:1|||||||||||||||C3|||||
|
||||
C3.7|1|C3.7:1|||||||||||||||C3|||||
|
||||
C3.8|1|C3.8:1|||||||||||||||C3|||||
|
||||
C3.9|1|C3.9:1|||||||||||||||C3|||||
|
||||
C4|1|C4:1||||||||||||||||||||
|
||||
C4.0|1|C4.0:1|||||||||||||||C4|||||
|
||||
C4.1|1|C4.1:1|||||||||||||||C4|||||
|
||||
C4.2|1|C4.2:1|||||||||||||||C4|||||
|
||||
C4.3|1|C4.3:1|||||||||||||||C4|||||
|
||||
C4.4|1|C4.4:1|||||||||||||||C4|||||
|
||||
Ct|0|||||||||||||||||||||
|
||||
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||||||||||||||||||||
|
||||
@@ -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|
|
||||
+5
-265
@@ -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.13-129.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.12-128.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=124
|
||||
version/code=129
|
||||
version/name=""
|
||||
package/unique_name="com.KIDGameProduction.Owniverse"
|
||||
package/name="Owniverse"
|
||||
@@ -295,263 +295,3 @@ permissions/write_sms=false
|
||||
permissions/write_social_stream=false
|
||||
permissions/write_sync_settings=false
|
||||
permissions/write_user_dictionary=false
|
||||
|
||||
[preset.2]
|
||||
|
||||
name="macOS"
|
||||
platform="macOS"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../../Sync/Owad/Owniverse.I/Builds/owniverse.II.20260309.dmg"
|
||||
patches=PackedStringArray()
|
||||
patch_delta_encoding=false
|
||||
patch_delta_compression_level_zstd=19
|
||||
patch_delta_min_reduction=0.1
|
||||
patch_delta_include_filters="*"
|
||||
patch_delta_exclude_filters=""
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
seed=0
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
script_export_mode=2
|
||||
|
||||
[preset.2.options]
|
||||
|
||||
export/distribution_type=1
|
||||
binary_format/architecture="universal"
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
application/liquid_glass_icon=""
|
||||
application/icon=""
|
||||
application/icon_interpolation=4
|
||||
application/bundle_identifier="com.KIDGameProduction.Owniverse"
|
||||
application/signature=""
|
||||
application/app_category="Games"
|
||||
application/short_version=""
|
||||
application/version=""
|
||||
application/copyright=""
|
||||
application/copyright_localized={}
|
||||
application/min_macos_version_x86_64="10.12"
|
||||
application/min_macos_version_arm64="11.00"
|
||||
application/export_angle=0
|
||||
display/high_res=true
|
||||
shader_baker/enabled=false
|
||||
application/additional_plist_content=""
|
||||
xcode/platform_build="14C18"
|
||||
xcode/sdk_version="13.1"
|
||||
xcode/sdk_build="22C55"
|
||||
xcode/sdk_name="macosx13.1"
|
||||
xcode/xcode_version="1420"
|
||||
xcode/xcode_build="14C18"
|
||||
codesign/codesign=3
|
||||
codesign/installer_identity=""
|
||||
codesign/apple_team_id=""
|
||||
codesign/identity=""
|
||||
codesign/entitlements/custom_file=""
|
||||
codesign/entitlements/allow_jit_code_execution=false
|
||||
codesign/entitlements/allow_unsigned_executable_memory=false
|
||||
codesign/entitlements/allow_dyld_environment_variables=false
|
||||
codesign/entitlements/disable_library_validation=false
|
||||
codesign/entitlements/audio_input=false
|
||||
codesign/entitlements/camera=false
|
||||
codesign/entitlements/location=false
|
||||
codesign/entitlements/address_book=false
|
||||
codesign/entitlements/calendars=false
|
||||
codesign/entitlements/photos_library=false
|
||||
codesign/entitlements/apple_events=false
|
||||
codesign/entitlements/debugging=false
|
||||
codesign/entitlements/app_sandbox/enabled=false
|
||||
codesign/entitlements/app_sandbox/network_server=false
|
||||
codesign/entitlements/app_sandbox/network_client=false
|
||||
codesign/entitlements/app_sandbox/device_usb=false
|
||||
codesign/entitlements/app_sandbox/device_bluetooth=false
|
||||
codesign/entitlements/app_sandbox/files_downloads=0
|
||||
codesign/entitlements/app_sandbox/files_pictures=0
|
||||
codesign/entitlements/app_sandbox/files_music=0
|
||||
codesign/entitlements/app_sandbox/files_movies=0
|
||||
codesign/entitlements/app_sandbox/files_user_selected=0
|
||||
codesign/entitlements/app_sandbox/helper_executables=[]
|
||||
codesign/entitlements/additional=""
|
||||
codesign/custom_options=PackedStringArray()
|
||||
notarization/notarization=1
|
||||
privacy/microphone_usage_description=""
|
||||
privacy/microphone_usage_description_localized={}
|
||||
privacy/camera_usage_description=""
|
||||
privacy/camera_usage_description_localized={}
|
||||
privacy/location_usage_description=""
|
||||
privacy/location_usage_description_localized={}
|
||||
privacy/address_book_usage_description=""
|
||||
privacy/address_book_usage_description_localized={}
|
||||
privacy/calendar_usage_description=""
|
||||
privacy/calendar_usage_description_localized={}
|
||||
privacy/photos_library_usage_description=""
|
||||
privacy/photos_library_usage_description_localized={}
|
||||
privacy/desktop_folder_usage_description=""
|
||||
privacy/desktop_folder_usage_description_localized={}
|
||||
privacy/documents_folder_usage_description=""
|
||||
privacy/documents_folder_usage_description_localized={}
|
||||
privacy/downloads_folder_usage_description=""
|
||||
privacy/downloads_folder_usage_description_localized={}
|
||||
privacy/network_volumes_usage_description=""
|
||||
privacy/network_volumes_usage_description_localized={}
|
||||
privacy/removable_volumes_usage_description=""
|
||||
privacy/removable_volumes_usage_description_localized={}
|
||||
privacy/tracking_enabled=false
|
||||
privacy/tracking_domains=PackedStringArray()
|
||||
privacy/collected_data/name/collected=false
|
||||
privacy/collected_data/name/linked_to_user=false
|
||||
privacy/collected_data/name/used_for_tracking=false
|
||||
privacy/collected_data/name/collection_purposes=0
|
||||
privacy/collected_data/email_address/collected=false
|
||||
privacy/collected_data/email_address/linked_to_user=false
|
||||
privacy/collected_data/email_address/used_for_tracking=false
|
||||
privacy/collected_data/email_address/collection_purposes=0
|
||||
privacy/collected_data/phone_number/collected=false
|
||||
privacy/collected_data/phone_number/linked_to_user=false
|
||||
privacy/collected_data/phone_number/used_for_tracking=false
|
||||
privacy/collected_data/phone_number/collection_purposes=0
|
||||
privacy/collected_data/physical_address/collected=false
|
||||
privacy/collected_data/physical_address/linked_to_user=false
|
||||
privacy/collected_data/physical_address/used_for_tracking=false
|
||||
privacy/collected_data/physical_address/collection_purposes=0
|
||||
privacy/collected_data/other_contact_info/collected=false
|
||||
privacy/collected_data/other_contact_info/linked_to_user=false
|
||||
privacy/collected_data/other_contact_info/used_for_tracking=false
|
||||
privacy/collected_data/other_contact_info/collection_purposes=0
|
||||
privacy/collected_data/health/collected=false
|
||||
privacy/collected_data/health/linked_to_user=false
|
||||
privacy/collected_data/health/used_for_tracking=false
|
||||
privacy/collected_data/health/collection_purposes=0
|
||||
privacy/collected_data/fitness/collected=false
|
||||
privacy/collected_data/fitness/linked_to_user=false
|
||||
privacy/collected_data/fitness/used_for_tracking=false
|
||||
privacy/collected_data/fitness/collection_purposes=0
|
||||
privacy/collected_data/payment_info/collected=false
|
||||
privacy/collected_data/payment_info/linked_to_user=false
|
||||
privacy/collected_data/payment_info/used_for_tracking=false
|
||||
privacy/collected_data/payment_info/collection_purposes=0
|
||||
privacy/collected_data/credit_info/collected=false
|
||||
privacy/collected_data/credit_info/linked_to_user=false
|
||||
privacy/collected_data/credit_info/used_for_tracking=false
|
||||
privacy/collected_data/credit_info/collection_purposes=0
|
||||
privacy/collected_data/other_financial_info/collected=false
|
||||
privacy/collected_data/other_financial_info/linked_to_user=false
|
||||
privacy/collected_data/other_financial_info/used_for_tracking=false
|
||||
privacy/collected_data/other_financial_info/collection_purposes=0
|
||||
privacy/collected_data/precise_location/collected=false
|
||||
privacy/collected_data/precise_location/linked_to_user=false
|
||||
privacy/collected_data/precise_location/used_for_tracking=false
|
||||
privacy/collected_data/precise_location/collection_purposes=0
|
||||
privacy/collected_data/coarse_location/collected=false
|
||||
privacy/collected_data/coarse_location/linked_to_user=false
|
||||
privacy/collected_data/coarse_location/used_for_tracking=false
|
||||
privacy/collected_data/coarse_location/collection_purposes=0
|
||||
privacy/collected_data/sensitive_info/collected=false
|
||||
privacy/collected_data/sensitive_info/linked_to_user=false
|
||||
privacy/collected_data/sensitive_info/used_for_tracking=false
|
||||
privacy/collected_data/sensitive_info/collection_purposes=0
|
||||
privacy/collected_data/contacts/collected=false
|
||||
privacy/collected_data/contacts/linked_to_user=false
|
||||
privacy/collected_data/contacts/used_for_tracking=false
|
||||
privacy/collected_data/contacts/collection_purposes=0
|
||||
privacy/collected_data/emails_or_text_messages/collected=false
|
||||
privacy/collected_data/emails_or_text_messages/linked_to_user=false
|
||||
privacy/collected_data/emails_or_text_messages/used_for_tracking=false
|
||||
privacy/collected_data/emails_or_text_messages/collection_purposes=0
|
||||
privacy/collected_data/photos_or_videos/collected=false
|
||||
privacy/collected_data/photos_or_videos/linked_to_user=false
|
||||
privacy/collected_data/photos_or_videos/used_for_tracking=false
|
||||
privacy/collected_data/photos_or_videos/collection_purposes=0
|
||||
privacy/collected_data/audio_data/collected=false
|
||||
privacy/collected_data/audio_data/linked_to_user=false
|
||||
privacy/collected_data/audio_data/used_for_tracking=false
|
||||
privacy/collected_data/audio_data/collection_purposes=0
|
||||
privacy/collected_data/gameplay_content/collected=false
|
||||
privacy/collected_data/gameplay_content/linked_to_user=false
|
||||
privacy/collected_data/gameplay_content/used_for_tracking=false
|
||||
privacy/collected_data/gameplay_content/collection_purposes=0
|
||||
privacy/collected_data/customer_support/collected=false
|
||||
privacy/collected_data/customer_support/linked_to_user=false
|
||||
privacy/collected_data/customer_support/used_for_tracking=false
|
||||
privacy/collected_data/customer_support/collection_purposes=0
|
||||
privacy/collected_data/other_user_content/collected=false
|
||||
privacy/collected_data/other_user_content/linked_to_user=false
|
||||
privacy/collected_data/other_user_content/used_for_tracking=false
|
||||
privacy/collected_data/other_user_content/collection_purposes=0
|
||||
privacy/collected_data/browsing_history/collected=false
|
||||
privacy/collected_data/browsing_history/linked_to_user=false
|
||||
privacy/collected_data/browsing_history/used_for_tracking=false
|
||||
privacy/collected_data/browsing_history/collection_purposes=0
|
||||
privacy/collected_data/search_history/collected=false
|
||||
privacy/collected_data/search_history/linked_to_user=false
|
||||
privacy/collected_data/search_history/used_for_tracking=false
|
||||
privacy/collected_data/search_history/collection_purposes=0
|
||||
privacy/collected_data/user_id/collected=false
|
||||
privacy/collected_data/user_id/linked_to_user=false
|
||||
privacy/collected_data/user_id/used_for_tracking=false
|
||||
privacy/collected_data/user_id/collection_purposes=0
|
||||
privacy/collected_data/device_id/collected=false
|
||||
privacy/collected_data/device_id/linked_to_user=false
|
||||
privacy/collected_data/device_id/used_for_tracking=false
|
||||
privacy/collected_data/device_id/collection_purposes=0
|
||||
privacy/collected_data/purchase_history/collected=false
|
||||
privacy/collected_data/purchase_history/linked_to_user=false
|
||||
privacy/collected_data/purchase_history/used_for_tracking=false
|
||||
privacy/collected_data/purchase_history/collection_purposes=0
|
||||
privacy/collected_data/product_interaction/collected=false
|
||||
privacy/collected_data/product_interaction/linked_to_user=false
|
||||
privacy/collected_data/product_interaction/used_for_tracking=false
|
||||
privacy/collected_data/product_interaction/collection_purposes=0
|
||||
privacy/collected_data/advertising_data/collected=false
|
||||
privacy/collected_data/advertising_data/linked_to_user=false
|
||||
privacy/collected_data/advertising_data/used_for_tracking=false
|
||||
privacy/collected_data/advertising_data/collection_purposes=0
|
||||
privacy/collected_data/other_usage_data/collected=false
|
||||
privacy/collected_data/other_usage_data/linked_to_user=false
|
||||
privacy/collected_data/other_usage_data/used_for_tracking=false
|
||||
privacy/collected_data/other_usage_data/collection_purposes=0
|
||||
privacy/collected_data/crash_data/collected=false
|
||||
privacy/collected_data/crash_data/linked_to_user=false
|
||||
privacy/collected_data/crash_data/used_for_tracking=false
|
||||
privacy/collected_data/crash_data/collection_purposes=0
|
||||
privacy/collected_data/performance_data/collected=false
|
||||
privacy/collected_data/performance_data/linked_to_user=false
|
||||
privacy/collected_data/performance_data/used_for_tracking=false
|
||||
privacy/collected_data/performance_data/collection_purposes=0
|
||||
privacy/collected_data/other_diagnostic_data/collected=false
|
||||
privacy/collected_data/other_diagnostic_data/linked_to_user=false
|
||||
privacy/collected_data/other_diagnostic_data/used_for_tracking=false
|
||||
privacy/collected_data/other_diagnostic_data/collection_purposes=0
|
||||
privacy/collected_data/environment_scanning/collected=false
|
||||
privacy/collected_data/environment_scanning/linked_to_user=false
|
||||
privacy/collected_data/environment_scanning/used_for_tracking=false
|
||||
privacy/collected_data/environment_scanning/collection_purposes=0
|
||||
privacy/collected_data/hands/collected=false
|
||||
privacy/collected_data/hands/linked_to_user=false
|
||||
privacy/collected_data/hands/used_for_tracking=false
|
||||
privacy/collected_data/hands/collection_purposes=0
|
||||
privacy/collected_data/head/collected=false
|
||||
privacy/collected_data/head/linked_to_user=false
|
||||
privacy/collected_data/head/used_for_tracking=false
|
||||
privacy/collected_data/head/collection_purposes=0
|
||||
privacy/collected_data/other_data_types/collected=false
|
||||
privacy/collected_data/other_data_types/linked_to_user=false
|
||||
privacy/collected_data/other_data_types/used_for_tracking=false
|
||||
privacy/collected_data/other_data_types/collection_purposes=0
|
||||
ssh_remote_deploy/enabled=false
|
||||
ssh_remote_deploy/host="user@host_ip"
|
||||
ssh_remote_deploy/port="22"
|
||||
ssh_remote_deploy/extra_args_ssh=""
|
||||
ssh_remote_deploy/extra_args_scp=""
|
||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
pkill -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\"
|
||||
rm -rf \"{temp_dir}\""
|
||||
|
||||
+7
-5
@@ -15,21 +15,23 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
|
||||
[application]
|
||||
|
||||
config/name="Owniverse"
|
||||
config/version="0.6.8"
|
||||
config/version="0.6.13"
|
||||
run/main_scene="uid://bv384dpmvjv8o"
|
||||
config/features=PackedStringArray("4.6", "Mobile")
|
||||
config/icon="res://icon.svg"
|
||||
boot_splash/show_image=false
|
||||
config/icon="uid://do5teb1i7uiuw"
|
||||
config/size/borderless=true
|
||||
config/stretch_mode=0
|
||||
|
||||
[autoload]
|
||||
|
||||
Global="*res://Autoload/Global.gd"
|
||||
SaveManager="*res://Autoload/SaveManager.gd"
|
||||
Global="*uid://5xb12usvrifm"
|
||||
SaveManager="*uid://ul0srjc4gcgg"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=1080
|
||||
window/size/viewport_height=1920
|
||||
window/size/borderless=true
|
||||
window/size/extend_to_title=true
|
||||
window/stretch/mode="viewport"
|
||||
window/handheld/orientation=1
|
||||
|
||||
+26
-27
@@ -2,7 +2,6 @@ extends SceneTree
|
||||
|
||||
func _init():
|
||||
#print("Testing SaveManager...")
|
||||
|
||||
# Instantiate Global manually
|
||||
var global_script = load("res://Autoload/Global.gd")
|
||||
var global_instance = global_script.new()
|
||||
@@ -20,37 +19,37 @@ func _init():
|
||||
|
||||
# Workaround: I'll just copy the logic I want to test.
|
||||
|
||||
var data = global_instance.Owniverse
|
||||
#print("Data to save: ", data)
|
||||
# var data = global_instance.Owniverse
|
||||
# #print("Data to save: ", data)
|
||||
|
||||
var filename = "user://test_save_check.dat"
|
||||
var password = "test"
|
||||
# var filename = "user://test_save_check.dat"
|
||||
# var password = "test"
|
||||
|
||||
var file = FileAccess.open_encrypted_with_pass(filename, FileAccess.WRITE, password)
|
||||
if file == null:
|
||||
print("Error opening file for write: ", FileAccess.get_open_error())
|
||||
quit(1)
|
||||
return
|
||||
# var file = FileAccess.open_encrypted_with_pass(filename, FileAccess.WRITE, password)
|
||||
# if file == null:
|
||||
# print("Error opening file for write: ", FileAccess.get_open_error())
|
||||
# quit(1)
|
||||
# return
|
||||
|
||||
#print("Saving...")
|
||||
file.store_var(data)
|
||||
file.close()
|
||||
# #print("Saving...")
|
||||
# file.store_var(data)
|
||||
# file.close()
|
||||
|
||||
#print("Loading...")
|
||||
file = FileAccess.open_encrypted_with_pass(filename, FileAccess.READ, password)
|
||||
if file == null:
|
||||
printerr("Error opening file for read")
|
||||
quit(1)
|
||||
return
|
||||
# #print("Loading...")
|
||||
# file = FileAccess.open_encrypted_with_pass(filename, FileAccess.READ, password)
|
||||
# if file == null:
|
||||
# printerr("Error opening file for read")
|
||||
# quit(1)
|
||||
# return
|
||||
|
||||
var loaded_data = file.get_var()
|
||||
#print("Loaded data: ", loaded_data)
|
||||
# var loaded_data = file.get_var()
|
||||
# #print("Loaded data: ", loaded_data)
|
||||
|
||||
if str(data) == str(loaded_data):
|
||||
print("SUCCESS: Data matches.")
|
||||
else:
|
||||
printerr("FAILURE: Data mismatch.")
|
||||
print("Original: ", data)
|
||||
print("Loaded: ", loaded_data)
|
||||
# if str(data) == str(loaded_data):
|
||||
# print("SUCCESS: Data matches.")
|
||||
# else:
|
||||
# printerr("FAILURE: Data mismatch.")
|
||||
# print("Original: ", data)
|
||||
# print("Loaded: ", loaded_data)
|
||||
|
||||
quit()
|
||||
|
||||
@@ -2,10 +2,9 @@ extends Node2D
|
||||
|
||||
@export_group("Visual Settings")
|
||||
@export var STARRY_SKY_LAYER: PackedScene
|
||||
@export var Star_Count: int = 2000: set = set_star_count
|
||||
@export var Star_Count: int = 2000
|
||||
|
||||
@export var Background_Image_Size: Vector2 = Vector2(1080, 1920):
|
||||
set = set_Background_Image_Size
|
||||
@export var Background_Image_Size: Vector2 = Vector2(1080, 1920)
|
||||
@export var Background_Layers: Array [StarrySkyLayer]
|
||||
|
||||
var Stars_by_Layers: Dictionary = {}
|
||||
@@ -59,10 +58,11 @@ func _ready() -> void:
|
||||
initiate_layers()
|
||||
randomize_parallax()
|
||||
generate_layers()
|
||||
randomize_parallax(0)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if randi_range(0, 1000) == 0:
|
||||
randomize_parallax()
|
||||
#func _process(delta: float) -> void:
|
||||
#if randi_range(0, 1000) == 0:
|
||||
#randomize_parallax()
|
||||
|
||||
func _draw() -> void:
|
||||
draw_rect(Rect2(Vector2.ZERO, Background_Image_Size), BACKGROUND_COLOR)
|
||||
@@ -71,8 +71,8 @@ func generate_layers():
|
||||
var max_rnd_seed = STAR_COLOR_DISTRIBUTION[-1][0]
|
||||
|
||||
for ind1 in range(Star_Count):
|
||||
var star_coords = Vector2(randi_range(0, Background_Image_Size.x),
|
||||
randi_range(0, Background_Image_Size.y))
|
||||
var star_coords = Vector2(randf_range(0, Background_Image_Size.x),
|
||||
randf_range(0, Background_Image_Size.y))
|
||||
var rnd_seed = randi_range(0, max_rnd_seed)
|
||||
for item:Array in STAR_COLOR_DISTRIBUTION:
|
||||
var item_seed = item[0]
|
||||
@@ -94,10 +94,12 @@ func initiate_layers():
|
||||
var new_star_layer:StarrySkyLayer = STARRY_SKY_LAYER.instantiate()
|
||||
add_child(new_star_layer)
|
||||
new_star_layer.Background_Image_Size = Background_Image_Size
|
||||
#new_star_layer.autoscroll = (ind1 + 1) * DEFAULT_AUTOSCROL
|
||||
Background_Layers.append(new_star_layer)
|
||||
|
||||
func randomize_parallax():
|
||||
func randomize_parallax(chance: int = 120):
|
||||
if randi_range(0, chance) != 0:
|
||||
return
|
||||
|
||||
var x_offset = 0
|
||||
var y_offset = 0
|
||||
if _random_sign() == 1:
|
||||
@@ -119,14 +121,3 @@ func _random_sign() -> int:
|
||||
return [1, -1].pick_random()
|
||||
|
||||
#endregion
|
||||
|
||||
#region Сеттеры для автоматического обновления
|
||||
func set_Background_Image_Size(value: Vector2):
|
||||
Background_Image_Size = value
|
||||
queue_redraw()
|
||||
|
||||
func set_star_count(value: int):
|
||||
Star_Count = value
|
||||
queue_redraw()
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
extends Node
|
||||
class_name OwniverseEntity
|
||||
|
||||
var id: String
|
||||
var is_visible: bool = false
|
||||
var unlock: Dictionary = {}
|
||||
var cost: Dictionary = {}
|
||||
var bind: Dictionary = {}
|
||||
var mass: float
|
||||
var space: int
|
||||
var lifespan: int
|
||||
var auto: float
|
||||
var gamma: float
|
||||
var blast: int
|
||||
var life_product: Dictionary = {}
|
||||
var product_per_year_type: String = ""
|
||||
var product_per_year_amount: float = 0.0
|
||||
var voids: int
|
||||
var output_or: Dictionary = {}
|
||||
var output_and: Dictionary = {}
|
||||
var destroy_level: int
|
||||
var degradation: Dictionary = {}
|
||||
var planets: Dictionary = {}
|
||||
var count_as: String
|
||||
var group_as: String
|
||||
var event_group: String
|
||||
var space_bonus: float
|
||||
var civ_bonus: float
|
||||
var claim: String
|
||||
|
||||
var amount: float = 0.0
|
||||
|
||||
|
||||
func init_entity(values: Dictionary) -> void:
|
||||
id = values.id
|
||||
is_visible = values.is_visible == "1"
|
||||
unlock = _parse_and_string(values.unlock)
|
||||
cost = _parse_and_string(values.cost)
|
||||
bind = _parse_and_string(values.bind)
|
||||
mass = float(values.mass)
|
||||
space = int(values.space)
|
||||
lifespan = int(values.lifespan)
|
||||
auto = float(values.auto)
|
||||
gamma = float(values.gamma)
|
||||
blast = int(values.blast)
|
||||
life_product = _parse_and_string(values.life_product)
|
||||
for key in life_product.keys():
|
||||
product_per_year_type = key
|
||||
product_per_year_amount = life_product[key] / lifespan if lifespan != 0 else 0
|
||||
|
||||
voids = int(values.voids)
|
||||
output_or = _parse_or_string(values.output)
|
||||
output_and = _parse_and_string(values.output)
|
||||
destroy_level = int(values.destroy_level)
|
||||
degradation = _parse_and_string(values.degradation)
|
||||
planets = _parse_planet_string(values.planets)
|
||||
count_as = values.count_as
|
||||
group_as = values.group_as
|
||||
event_group = values.event_group
|
||||
space_bonus = float(values.space_bonus)
|
||||
civ_bonus = float(values.civ_bonus)
|
||||
claim = values.claim
|
||||
|
||||
|
||||
func _parse_or_string(source_line: String) -> Dictionary:
|
||||
var result = {}
|
||||
if source_line.contains("^"):
|
||||
var first_split = source_line.split("^")
|
||||
var second_split = first_split[1].split("%")
|
||||
var probability = float(second_split[1])
|
||||
result["chance"] = probability
|
||||
result["positive"] = second_split[0]
|
||||
result["negative"] = first_split[0]
|
||||
|
||||
return result
|
||||
|
||||
|
||||
func _parse_and_string(source_line: String) -> Dictionary:
|
||||
var result = {}
|
||||
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
|
||||
|
||||
func _parse_planet_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(":")
|
||||
result[second_split[0]] = {}
|
||||
result[second_split[0]]["amount"] = int(second_split[1])
|
||||
result[second_split[0]]["chance"] = int(second_split[2])
|
||||
|
||||
return result
|
||||
@@ -0,0 +1 @@
|
||||
uid://tvj1grut2p4x
|
||||
+205
-14
@@ -1,23 +1,214 @@
|
||||
extends Node
|
||||
class_name Owniverse
|
||||
|
||||
var g_datetime: float = 0
|
||||
var g_speed: int = 1
|
||||
var g_speed_in_years = 1
|
||||
|
||||
func add_time_delta(delta) -> float:
|
||||
var year_delta:float = delta * g_speed_in_years
|
||||
signal unlock_item(item_id: String)
|
||||
|
||||
# all ownivewrse activity should be called here
|
||||
var current_year: float = 0
|
||||
var current_speed: int = 1
|
||||
var current_speed_in_years:int = 1
|
||||
|
||||
var entities: Dictionary[String, OwniverseEntity] = {}
|
||||
var entity_groups: Dictionary[String, Array] = {}
|
||||
var entity_event_groups: Dictionary[String, Array] = {}
|
||||
|
||||
var items_to_update: Dictionary[String, float] = {}
|
||||
|
||||
var auto_production: Array = []
|
||||
var locked_entities: Array = []
|
||||
|
||||
var cumulative_amount: Dictionary[String, float] = {}
|
||||
var current_amount: Dictionary[String, float] = {}
|
||||
|
||||
var batch_count: int = 40
|
||||
var entity_batches = {}
|
||||
|
||||
|
||||
|
||||
func cycle(year_delta: float) -> void:
|
||||
# all owniverse activity should be called here
|
||||
_auto_production(year_delta)
|
||||
_entity_evolution(year_delta)
|
||||
|
||||
g_datetime += year_delta
|
||||
return g_datetime
|
||||
_check_locked_items()
|
||||
|
||||
#print(_get_distribution(current_amount))
|
||||
|
||||
|
||||
#region auto production and evolution
|
||||
|
||||
func _auto_production(year_delta: float) -> void:
|
||||
var cycle_production = {"S": 0.0, "H": 0.0}
|
||||
for entity: OwniverseEntity in auto_production:
|
||||
if current_amount[entity.id] == 0:
|
||||
continue
|
||||
cycle_production[entity.product_per_year_type] += \
|
||||
current_amount[entity.id] * entity.product_per_year_amount * year_delta
|
||||
|
||||
for item in cycle_production:
|
||||
_count_amount(item, cycle_production[item])
|
||||
|
||||
|
||||
func _entity_evolution(year_delta: float) -> void:
|
||||
pass
|
||||
|
||||
func _get_distribution(source: Dictionary) -> Dictionary:
|
||||
var distribution: Dictionary = {}
|
||||
var total: float = 0
|
||||
for id in source:
|
||||
if source[id] != 0:
|
||||
total += source[id]
|
||||
distribution[id] = source[id]
|
||||
for id in distribution:
|
||||
distribution[id] /= total
|
||||
return distribution
|
||||
|
||||
#endregion
|
||||
|
||||
#region Production
|
||||
|
||||
func produce(item_id: String, amount: float) -> void:
|
||||
var entity: OwniverseEntity = entities[item_id]
|
||||
|
||||
var entity_transaction = {}
|
||||
|
||||
for elem in entity.cost:
|
||||
if current_amount[elem] < amount * entity.cost[elem]:
|
||||
return
|
||||
if entity.cost[elem] == 0: continue
|
||||
|
||||
entity_transaction[elem] = -amount * entity.cost[elem]
|
||||
|
||||
for elem in entity_transaction:
|
||||
_process_enitity(elem, entity_transaction[elem])
|
||||
_process_enitity(item_id, amount)
|
||||
|
||||
|
||||
func automated_production(_delta: float) -> void:
|
||||
for entity_id in auto_production:
|
||||
var entity = entities[entity_id]
|
||||
var amount_to_produce = int(entity.amount * entity.product_per_year_amount * _delta)
|
||||
|
||||
|
||||
func get_available_to_produce(item_id: String) -> float:
|
||||
var entity: OwniverseEntity = entities[item_id]
|
||||
if entity.cost == {}: return 0
|
||||
var amount: float = 1E50
|
||||
for elem in entity.cost:
|
||||
amount = min(floorf(current_amount[elem] / entity.cost[elem]), amount)
|
||||
return amount
|
||||
|
||||
# add to all lists
|
||||
func _process_enitity(entity_id: String, amount: float) -> void:
|
||||
if amount == 0: return
|
||||
_count_amount(entity_id, amount)
|
||||
|
||||
|
||||
func _count_amount(entity_id: String, amount: float) -> void:
|
||||
if amount == 0: return
|
||||
|
||||
current_amount[entity_id] += amount
|
||||
var entity: OwniverseEntity = entities[entity_id]
|
||||
if entity.group_as != "":
|
||||
current_amount[entity.group_as] += amount
|
||||
|
||||
if amount < 0: return
|
||||
|
||||
cumulative_amount[entity_id] += amount
|
||||
if entity.group_as != "":
|
||||
cumulative_amount[entity.group_as] += amount
|
||||
|
||||
items_to_update[entity_id] = current_amount[entity_id]
|
||||
|
||||
func _check_locked_items() -> void:
|
||||
for entity:OwniverseEntity in locked_entities:
|
||||
for elem in entity.unlock:
|
||||
if cumulative_amount[elem] < entity.unlock[elem]:
|
||||
continue
|
||||
#print(entity.id, " ", elem, ":", entity.unlock[elem])
|
||||
unlock_item.emit(entity.id)
|
||||
locked_entities.erase(entity)
|
||||
return # SIC!
|
||||
|
||||
#endregion
|
||||
|
||||
#region Time
|
||||
|
||||
func add_time_delta(delta) -> float:
|
||||
var year_delta: float = delta * current_speed_in_years
|
||||
current_year += year_delta
|
||||
return current_year
|
||||
|
||||
|
||||
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
|
||||
current_speed = clamp(current_speed + delta, 1, Global.SPEED_LIMIT)
|
||||
current_speed_in_years = pow(10, current_speed - 1)
|
||||
return current_speed
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
func hello():
|
||||
print("ello")
|
||||
#region Init save load routines
|
||||
|
||||
|
||||
func load_data() -> bool:
|
||||
var is_succesfull = false
|
||||
|
||||
var game_data: Dictionary = SaveManager.load_data("owniverse", "qwerty")
|
||||
if game_data == {}:
|
||||
return false
|
||||
|
||||
if !game_data.has_all(["cumulative_amount", "current_amount", "entity_batches"]):
|
||||
return false
|
||||
|
||||
entity_batches = game_data["entity_batches"]
|
||||
cumulative_amount = game_data["cumulative_amount"]
|
||||
current_amount = game_data["current_amount"]
|
||||
|
||||
for item in current_amount:
|
||||
items_to_update[item] = current_amount[item]
|
||||
|
||||
return true
|
||||
|
||||
|
||||
func save_data() -> void:
|
||||
var game_data: Dictionary = {}
|
||||
game_data["cumulative_amount"] = cumulative_amount
|
||||
game_data["current_amount"] = current_amount
|
||||
game_data["entity_batches"] = entity_batches
|
||||
SaveManager.save_data("owniverse", "qwerty", game_data)
|
||||
|
||||
|
||||
func init_enitities() -> void:
|
||||
for entity_id in Global.OwniverseEntities:
|
||||
var entity = OwniverseEntity.new()
|
||||
entity.init_entity(Global.OwniverseEntities[entity_id])
|
||||
entities[entity_id] = entity
|
||||
|
||||
current_amount[entity_id] = 0
|
||||
cumulative_amount[entity_id] = 0
|
||||
if entity.group_as != "":
|
||||
current_amount[entity.group_as] = 0
|
||||
cumulative_amount[entity.group_as] = 0
|
||||
|
||||
if entity.unlock != {}:
|
||||
locked_entities.append(entity)
|
||||
|
||||
if entity.product_per_year_type != "":
|
||||
auto_production.append(entity)
|
||||
|
||||
# groups
|
||||
if entity.group_as != "":
|
||||
if !entity_groups.has(entity.group_as):
|
||||
entity_groups[entity.group_as] = []
|
||||
entity_groups[entity.group_as].append(entity_id)
|
||||
|
||||
if entity.event_group != "":
|
||||
if !entity_event_groups.has(entity.event_group):
|
||||
entity_event_groups[entity.event_group] = []
|
||||
entity_event_groups[entity.event_group].append(entity_id)
|
||||
|
||||
#if entity.event_group != "":
|
||||
#entity_event_groups.append(entity.id)
|
||||
print(entity_groups)
|
||||
print(entity_event_groups)
|
||||
#endregion
|
||||
|
||||
BIN
Binary file not shown.
Binary file not shown.
+190
-134
@@ -1,53 +1,58 @@
|
||||
[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://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="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="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="Script" uid="uid://d2wrwichuoncd" path="res://world/Background/background.gd" id="1_ifjjt"]
|
||||
[ext_resource type="PackedScene" uid="uid://icbk3la71t7h" path="res://world/Background/starry_sky_layer.tscn" id="2_behgl"]
|
||||
[ext_resource type="Script" uid="uid://iiva6x8uo0f2" path="res://stage/stage.gd" id="3_k83x5"]
|
||||
[ext_resource type="Texture2D" uid="uid://5f80g4i46ycl" path="res://ui/topmenu/buttons/button.burger.normal.png" id="4_b8tmp"]
|
||||
[ext_resource type="Texture2D" uid="uid://caia36a08wlqs" path="res://ui/topmenu/buttons/button.burger.pressed.png" id="5_en1oy"]
|
||||
[ext_resource type="Texture2D" uid="uid://cjcchycx7biyl" path="res://ui/topmenu/time&speed/timex.png" id="6_pfbnl"]
|
||||
[ext_resource type="FontFile" uid="uid://dtyi81a0phumr" path="res://fonts/Roboto_Condensed/RobotoCondensed-Bold.ttf" id="7_gwdna"]
|
||||
[ext_resource type="Texture2D" uid="uid://davmv5mwt3mo1" path="res://ui/topmenu/time&speed/speed.png" id="8_h4vgh"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnjtnggw5ccq3" path="res://ui/topmenu/time&speed/time1.png" id="9_kvuv0"]
|
||||
[ext_resource type="Texture2D" uid="uid://rmdsdkck0vst" path="res://ui/topmenu/buttons/buton.report.normal.png" id="10_sg5c8"]
|
||||
[ext_resource type="Texture2D" uid="uid://dbhkuw2jshyoh" path="res://ui/topmenu/buttons/buton.report.pressed.png" id="11_vu62d"]
|
||||
[ext_resource type="PackedScene" uid="uid://dg15dpxiepicb" path="res://ui/border/border.tscn" id="12_58wjt"]
|
||||
[ext_resource type="Texture2D" uid="uid://dgkmobpfbbffa" path="res://ui/pages/forces.en.png" id="13_dp8ul"]
|
||||
[ext_resource type="FontFile" uid="uid://d3k1ddvv0rmhs" path="res://fonts/Roboto_Condensed/RobotoCondensed-Light.ttf" id="14_o7xkw"]
|
||||
[ext_resource type="FontFile" uid="uid://8s0fv3gfj317" path="res://fonts/Roboto_Condensed/RobotoCondensed-BoldItalic.ttf" id="15_bfrib"]
|
||||
[ext_resource type="FontFile" uid="uid://derqj4pbwtae6" path="res://fonts/Roboto_Condensed/RobotoCondensed-Italic.ttf" id="16_mip0j"]
|
||||
[ext_resource type="PackedScene" uid="uid://dwneq2qq5p8ek" path="res://ui/actions/actions.tscn" id="17_ifjjt"]
|
||||
[ext_resource type="Texture2D" uid="uid://i43jaaejvh5f" path="res://ui/indicators/energy/energy.png" id="17_l6135"]
|
||||
[ext_resource type="Texture2D" uid="uid://bef36h52n7lxb" path="res://ui/indicators/energy/border-energy.png" id="18_uvuuk"]
|
||||
[ext_resource type="Texture2D" uid="uid://blq0anccuu387" path="res://ui/pages/resources.en.png" id="19_an6vj"]
|
||||
[ext_resource type="Texture2D" uid="uid://cvc1stj3hoax5" path="res://ui/indicators/density/density.png" id="20_s3ar6"]
|
||||
[ext_resource type="Texture2D" uid="uid://df2nus1pmcc67" path="res://ui/indicators/density/density_crunch.png" id="21_d36xh"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbk74pjqgxe32" path="res://ui/indicators/density/density_rip.png" id="22_vu83j"]
|
||||
[ext_resource type="Texture2D" uid="uid://bm8ae1ffv7xq5" path="res://ui/indicators/density/density_pointer.png" id="23_bcq5b"]
|
||||
[ext_resource type="Texture2D" uid="uid://dbcmaot2c3tg5" path="res://ui/indicators/burnability/burnability.png" id="24_o2i0n"]
|
||||
[ext_resource type="Texture2D" uid="uid://sry5js57vds4" path="res://ui/indicators/burnability/burnability_pointer.png" id="25_rur7c"]
|
||||
[ext_resource type="Texture2D" uid="uid://38fl8ovnubh8" path="res://ui/pages/stars.en.png" id="26_y1rwn"]
|
||||
[ext_resource type="Texture2D" uid="uid://ysbavtgmq7me" path="res://ui/indicators/explosiveness/explosiveness.png" id="27_4rajv"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbint5cvwtrou" path="res://ui/indicators/explosiveness/explosivenessPointer.png" id="28_upe80"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbi24bwo70nk" path="res://ui/pages/structures.en.png" id="29_0drd1"]
|
||||
[ext_resource type="Texture2D" uid="uid://cfttpatxe6k2u" path="res://ui/indicators/aggression/aggression.png" id="30_bemti"]
|
||||
[ext_resource type="Texture2D" uid="uid://dm87u2ku8wec8" path="res://ui/indicators/aggression/aggression_pointer.png" id="31_x6tg5"]
|
||||
[ext_resource type="Texture2D" uid="uid://bpff5o5oa4wag" path="res://ui/pages/planets.en.png" id="32_xitqn"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgjcnwl61nu5i" path="res://ui/indicators/trends/trend_bar1.png" id="33_fprte"]
|
||||
[ext_resource type="Texture2D" uid="uid://caiyhk6vv53iu" path="res://ui/indicators/trends/trend_bar2.png" id="34_lnsl1"]
|
||||
[ext_resource type="Texture2D" uid="uid://dspjxpbpwq52k" path="res://ui/indicators/trends/trend_icon_2.png" id="35_1u5dl"]
|
||||
[ext_resource type="Texture2D" uid="uid://dxutg6k0ck226" path="res://ui/indicators/trends/trend_bar3.png" id="36_v15xm"]
|
||||
[ext_resource type="Texture2D" uid="uid://bp72c0myjnl61" path="res://ui/indicators/trends/trend_icon_3.png" id="37_vjhti"]
|
||||
[ext_resource type="Texture2D" uid="uid://qrjhpvw8ou3o" path="res://ui/indicators/trends/trend_bar4.png" id="38_ctwlg"]
|
||||
[ext_resource type="Texture2D" uid="uid://bwqmmmg6w7dho" path="res://ui/indicators/trends/trend_icon_4.png" id="39_jms70"]
|
||||
[ext_resource type="Texture2D" uid="uid://4tpbmpe6tbk0" path="res://ui/indicators/trends/trend_bar5.png" id="40_50rdj"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnf3ml5gj2cvl" path="res://ui/indicators/trends/trend_icon_5.png" id="41_mi6gc"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ifjjt"]
|
||||
|
||||
[node name="World" type="Node2D" unique_id=1392592456]
|
||||
|
||||
[node name="Background" type="Node2D" parent="." unique_id=1988758765]
|
||||
script = ExtResource("1_fj7yv")
|
||||
STARRY_SKY_LAYER = ExtResource("3_aqk2v")
|
||||
script = ExtResource("1_ifjjt")
|
||||
STARRY_SKY_LAYER = ExtResource("2_behgl")
|
||||
|
||||
[node name="Timer" type="Timer" parent="Background" unique_id=188844703]
|
||||
autostart = true
|
||||
|
||||
[node name="Stage" type="Control" parent="." unique_id=1485959841]
|
||||
custom_minimum_size = Vector2(1080, 1920)
|
||||
@@ -57,7 +62,7 @@ offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("3_bh8nc")
|
||||
script = ExtResource("3_k83x5")
|
||||
|
||||
[node name="StageRows" type="VBoxContainer" parent="Stage" unique_id=1878643860]
|
||||
layout_mode = 1
|
||||
@@ -80,8 +85,8 @@ custom_minimum_size = Vector2(128, 128)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture_normal = ExtResource("4_2u3nc")
|
||||
texture_pressed = ExtResource("5_2u3nc")
|
||||
texture_normal = ExtResource("4_b8tmp")
|
||||
texture_pressed = ExtResource("5_en1oy")
|
||||
|
||||
[node name="LeftSeparator" type="Panel" parent="Stage/StageRows/TopMenu" unique_id=305575734]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
@@ -93,7 +98,7 @@ custom_minimum_size = Vector2(128, 128)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture_normal = ExtResource("6_ikiii")
|
||||
texture_normal = ExtResource("6_pfbnl")
|
||||
|
||||
[node name="InfoPanel" type="VBoxContainer" parent="Stage/StageRows/TopMenu" unique_id=397773008]
|
||||
custom_minimum_size = Vector2(440, 0)
|
||||
@@ -104,7 +109,7 @@ size_flags_horizontal = 3
|
||||
custom_minimum_size = Vector2(240, 72)
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.6, 0.6, 0.6, 1)
|
||||
theme_override_fonts/font = ExtResource("7_ic0uy")
|
||||
theme_override_fonts/font = ExtResource("7_gwdna")
|
||||
theme_override_font_sizes/font_size = 48
|
||||
text = "2025.11.16 09:23"
|
||||
horizontal_alignment = 1
|
||||
@@ -117,49 +122,49 @@ size_flags_vertical = 4
|
||||
|
||||
[node name="Speed1" type="TextureRect" parent="Stage/StageRows/TopMenu/InfoPanel/Speed" unique_id=2128881914]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_2u3nc")
|
||||
texture = ExtResource("8_h4vgh")
|
||||
|
||||
[node name="Speed2" type="TextureRect" parent="Stage/StageRows/TopMenu/InfoPanel/Speed" unique_id=1532494238]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_2u3nc")
|
||||
texture = ExtResource("8_h4vgh")
|
||||
|
||||
[node name="Speed3" type="TextureRect" parent="Stage/StageRows/TopMenu/InfoPanel/Speed" unique_id=180180843]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_2u3nc")
|
||||
texture = ExtResource("8_h4vgh")
|
||||
|
||||
[node name="Speed4" type="TextureRect" parent="Stage/StageRows/TopMenu/InfoPanel/Speed" unique_id=847300920]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_2u3nc")
|
||||
texture = ExtResource("8_h4vgh")
|
||||
|
||||
[node name="Speed5" type="TextureRect" parent="Stage/StageRows/TopMenu/InfoPanel/Speed" unique_id=636141728]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_2u3nc")
|
||||
texture = ExtResource("8_h4vgh")
|
||||
|
||||
[node name="Speed6" type="TextureRect" parent="Stage/StageRows/TopMenu/InfoPanel/Speed" unique_id=988232766]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_2u3nc")
|
||||
texture = ExtResource("8_h4vgh")
|
||||
|
||||
[node name="Speed7" type="TextureRect" parent="Stage/StageRows/TopMenu/InfoPanel/Speed" unique_id=1241111770]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_2u3nc")
|
||||
texture = ExtResource("8_h4vgh")
|
||||
|
||||
[node name="Speed8" type="TextureRect" parent="Stage/StageRows/TopMenu/InfoPanel/Speed" unique_id=220922349]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
texture = ExtResource("8_2u3nc")
|
||||
texture = ExtResource("8_h4vgh")
|
||||
|
||||
[node name="TimePlus" type="TextureButton" parent="Stage/StageRows/TopMenu" unique_id=2128537958]
|
||||
custom_minimum_size = Vector2(128, 128)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture_normal = ExtResource("8_cbp6q")
|
||||
texture_normal = ExtResource("9_kvuv0")
|
||||
|
||||
[node name="RightSeparator" type="Panel" parent="Stage/StageRows/TopMenu" unique_id=1481873764]
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
@@ -171,10 +176,10 @@ custom_minimum_size = Vector2(128, 128)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture_normal = ExtResource("9_26xuy")
|
||||
texture_pressed = ExtResource("10_bc84e")
|
||||
texture_normal = ExtResource("10_sg5c8")
|
||||
texture_pressed = ExtResource("11_vu62d")
|
||||
|
||||
[node name="TopMenuBorder" parent="Stage/StageRows" unique_id=476233375 instance=ExtResource("28_o3ebs")]
|
||||
[node name="TopMenuBorder" parent="Stage/StageRows" unique_id=476233375 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="PageScroller" type="ScrollContainer" parent="Stage/StageRows" unique_id=1772137283]
|
||||
@@ -189,6 +194,7 @@ theme_override_constants/separation = 0
|
||||
|
||||
[node name="ForcePage" type="VBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer" unique_id=71643627]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="PageHeader" type="HBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage" unique_id=2102307933]
|
||||
custom_minimum_size = Vector2(0, 128)
|
||||
@@ -204,42 +210,50 @@ layout_mode = 2
|
||||
[node name="Header" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage/PageHeader" unique_id=1295272502]
|
||||
custom_minimum_size = Vector2(440, 64)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("13_il2jm")
|
||||
texture = ExtResource("13_dp8ul")
|
||||
|
||||
[node name="RighIndicator" type="TextureButton" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage/PageHeader" unique_id=504419468]
|
||||
custom_minimum_size = Vector2(316, 64)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="PageHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage" unique_id=1411786120 instance=ExtResource("28_o3ebs")]
|
||||
[node name="PageHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage" unique_id=1411786120 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Description" type="RichTextLabel" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage" unique_id=1934400572]
|
||||
custom_minimum_size = Vector2(0, 670)
|
||||
custom_minimum_size = Vector2(0, 384)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/normal_font = ExtResource("6_wse8f")
|
||||
theme_override_fonts/bold_font = ExtResource("7_ic0uy")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("8_k3n1d")
|
||||
theme_override_fonts/italics_font = ExtResource("9_2o6r5")
|
||||
theme_override_fonts/normal_font = ExtResource("14_o7xkw")
|
||||
theme_override_fonts/bold_font = ExtResource("7_gwdna")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("15_bfrib")
|
||||
theme_override_fonts/italics_font = ExtResource("16_mip0j")
|
||||
theme_override_font_sizes/normal_font_size = 42
|
||||
theme_override_font_sizes/bold_font_size = 54
|
||||
theme_override_font_sizes/bold_italics_font_size = 42
|
||||
theme_override_font_sizes/italics_font_size = 42
|
||||
theme_override_font_sizes/mono_font_size = 42
|
||||
bbcode_enabled = true
|
||||
text = "Forces"
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage" unique_id=519355296 instance=ExtResource("28_o3ebs")]
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage" unique_id=519355296 instance=ExtResource("12_58wjt")]
|
||||
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="ActionBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage" unique_id=101392860 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Panel" type="PanelContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/ForcePage" unique_id=609868831]
|
||||
custom_minimum_size = Vector2(0, 216)
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_ifjjt")
|
||||
|
||||
[node name="ResourcePage" type="VBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer" unique_id=1417647206]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="ResourceHeader" type="HBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage" unique_id=1468901953]
|
||||
custom_minimum_size = Vector2(0, 128)
|
||||
@@ -259,19 +273,19 @@ offset_left = 2.0
|
||||
offset_top = 34.0
|
||||
offset_right = 318.0
|
||||
offset_bottom = 94.0
|
||||
texture = ExtResource("16_udxuc")
|
||||
texture = ExtResource("17_l6135")
|
||||
|
||||
[node name="Energy" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage/ResourceHeader/EnergyIndicator" unique_id=1283004804]
|
||||
layout_mode = 0
|
||||
offset_top = 32.0
|
||||
offset_right = 320.0
|
||||
offset_bottom = 96.0
|
||||
texture = ExtResource("18_mc2jv")
|
||||
texture = ExtResource("18_uvuuk")
|
||||
|
||||
[node name="Header" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage/ResourceHeader" unique_id=1086493812]
|
||||
custom_minimum_size = Vector2(440, 64)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("18_wjb0r")
|
||||
texture = ExtResource("19_an6vj")
|
||||
|
||||
[node name="DensityIndicator" type="TextureButton" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage/ResourceHeader" unique_id=956598060]
|
||||
custom_minimum_size = Vector2(320, 128)
|
||||
@@ -291,7 +305,7 @@ offset_right = 158.0
|
||||
offset_bottom = 64.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("17_ikiii")
|
||||
texture = ExtResource("20_s3ar6")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="DensityCrunch" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage/ResourceHeader/DensityIndicator" unique_id=473304616]
|
||||
@@ -309,7 +323,7 @@ offset_right = 158.0
|
||||
offset_bottom = 64.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("21_4h6ng")
|
||||
texture = ExtResource("21_d36xh")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="DensityRip" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage/ResourceHeader/DensityIndicator" unique_id=1255957268]
|
||||
@@ -327,7 +341,7 @@ offset_right = 158.0
|
||||
offset_bottom = 64.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("22_o3ebs")
|
||||
texture = ExtResource("22_vu83j")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="Pointer" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage/ResourceHeader/DensityIndicator" unique_id=1087356985]
|
||||
@@ -343,29 +357,28 @@ offset_right = 20.0
|
||||
offset_bottom = 24.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("20_wjb0r")
|
||||
texture = ExtResource("23_bcq5b")
|
||||
|
||||
[node name="ResourceHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage" unique_id=2672876 instance=ExtResource("28_o3ebs")]
|
||||
[node name="ResourceHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage" unique_id=2672876 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Description" type="RichTextLabel" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage" unique_id=1171833]
|
||||
custom_minimum_size = Vector2(0, 670)
|
||||
custom_minimum_size = Vector2(0, 384)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/normal_font = ExtResource("6_wse8f")
|
||||
theme_override_fonts/bold_font = ExtResource("7_ic0uy")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("8_k3n1d")
|
||||
theme_override_fonts/italics_font = ExtResource("9_2o6r5")
|
||||
theme_override_fonts/normal_font = ExtResource("14_o7xkw")
|
||||
theme_override_fonts/bold_font = ExtResource("7_gwdna")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("15_bfrib")
|
||||
theme_override_fonts/italics_font = ExtResource("16_mip0j")
|
||||
theme_override_font_sizes/normal_font_size = 42
|
||||
theme_override_font_sizes/bold_font_size = 54
|
||||
theme_override_font_sizes/bold_italics_font_size = 42
|
||||
theme_override_font_sizes/italics_font_size = 42
|
||||
theme_override_font_sizes/mono_font_size = 42
|
||||
bbcode_enabled = true
|
||||
fit_content = true
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage" unique_id=1268799323 instance=ExtResource("28_o3ebs")]
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage" unique_id=1268799323 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage" unique_id=206289176]
|
||||
@@ -375,14 +388,24 @@ 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
|
||||
size_flags_horizontal = 3
|
||||
context_menu_enabled = true
|
||||
|
||||
[node name="ActionBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage" unique_id=1789647912 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Panel" type="PanelContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/ResourcePage" unique_id=1336208519]
|
||||
custom_minimum_size = Vector2(0, 216)
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_ifjjt")
|
||||
|
||||
[node name="StarPage" type="VBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer" unique_id=270059674]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="StarHeader" type="HBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage" unique_id=1459928]
|
||||
custom_minimum_size = Vector2(0, 128)
|
||||
@@ -408,7 +431,7 @@ offset_right = 158.0
|
||||
offset_bottom = 30.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("27_jjr1n")
|
||||
texture = ExtResource("24_o2i0n")
|
||||
|
||||
[node name="BurnabilityPointer" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage/StarHeader/BurnabilityIndicator" unique_id=326702611]
|
||||
layout_mode = 1
|
||||
@@ -423,12 +446,12 @@ offset_right = 20.0
|
||||
offset_bottom = 24.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("25_bh8nc")
|
||||
texture = ExtResource("25_rur7c")
|
||||
|
||||
[node name="Header" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage/StarHeader" unique_id=1846312458]
|
||||
custom_minimum_size = Vector2(440, 64)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("20_mc2jv")
|
||||
texture = ExtResource("26_y1rwn")
|
||||
|
||||
[node name="ExplosivenessIndicator" type="TextureButton" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage/StarHeader" unique_id=528204117]
|
||||
custom_minimum_size = Vector2(320, 128)
|
||||
@@ -447,7 +470,7 @@ offset_right = 158.0
|
||||
offset_bottom = 30.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("24_qktwf")
|
||||
texture = ExtResource("27_4rajv")
|
||||
|
||||
[node name="ExplosivenessPointer" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage/StarHeader/ExplosivenessIndicator" unique_id=1486652639]
|
||||
layout_mode = 1
|
||||
@@ -462,19 +485,19 @@ offset_right = 20.0
|
||||
offset_bottom = 24.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("27_qktwf")
|
||||
texture = ExtResource("28_upe80")
|
||||
|
||||
[node name="StarHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage" unique_id=2057421818 instance=ExtResource("28_o3ebs")]
|
||||
[node name="StarHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage" unique_id=2057421818 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Description" type="RichTextLabel" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage" unique_id=1195874488]
|
||||
custom_minimum_size = Vector2(0, 670)
|
||||
custom_minimum_size = Vector2(0, 384)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/normal_font = ExtResource("6_wse8f")
|
||||
theme_override_fonts/bold_font = ExtResource("7_ic0uy")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("8_k3n1d")
|
||||
theme_override_fonts/italics_font = ExtResource("9_2o6r5")
|
||||
theme_override_fonts/normal_font = ExtResource("14_o7xkw")
|
||||
theme_override_fonts/bold_font = ExtResource("7_gwdna")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("15_bfrib")
|
||||
theme_override_fonts/italics_font = ExtResource("16_mip0j")
|
||||
theme_override_font_sizes/normal_font_size = 42
|
||||
theme_override_font_sizes/bold_font_size = 54
|
||||
theme_override_font_sizes/bold_italics_font_size = 42
|
||||
@@ -484,15 +507,22 @@ bbcode_enabled = true
|
||||
text = "Stars"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage" unique_id=358659431 instance=ExtResource("28_o3ebs")]
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage" unique_id=358659431 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Stars" type="Control" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage" unique_id=1969457639]
|
||||
custom_minimum_size = Vector2(1080, 1024)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ActionBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage" unique_id=136439467 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Actions" parent="Stage/StageRows/PageScroller/HBoxContainer/StarPage" unique_id=503388208 instance=ExtResource("17_ifjjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="StructurePage" type="VBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer" unique_id=435979853]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="StructureHeader" type="HBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage" unique_id=1291109226]
|
||||
custom_minimum_size = Vector2(0, 128)
|
||||
@@ -512,19 +542,19 @@ offset_left = 2.0
|
||||
offset_top = 34.0
|
||||
offset_right = 318.0
|
||||
offset_bottom = 94.0
|
||||
texture = ExtResource("16_udxuc")
|
||||
texture = ExtResource("17_l6135")
|
||||
|
||||
[node name="Energy" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage/StructureHeader/EnergyIndicator" unique_id=1417853951]
|
||||
layout_mode = 0
|
||||
offset_top = 32.0
|
||||
offset_right = 320.0
|
||||
offset_bottom = 96.0
|
||||
texture = ExtResource("18_mc2jv")
|
||||
texture = ExtResource("18_uvuuk")
|
||||
|
||||
[node name="Header" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage/StructureHeader" unique_id=1038870090]
|
||||
custom_minimum_size = Vector2(440, 64)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("21_bo7i5")
|
||||
texture = ExtResource("29_0drd1")
|
||||
|
||||
[node name="DensityIndicator" type="TextureButton" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage/StructureHeader" unique_id=1280030697]
|
||||
custom_minimum_size = Vector2(320, 128)
|
||||
@@ -544,7 +574,7 @@ offset_right = 158.0
|
||||
offset_bottom = 64.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("17_ikiii")
|
||||
texture = ExtResource("20_s3ar6")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="DensityCrunch" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage/StructureHeader/DensityIndicator" unique_id=1612334015]
|
||||
@@ -562,7 +592,7 @@ offset_right = 158.0
|
||||
offset_bottom = 64.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("21_4h6ng")
|
||||
texture = ExtResource("21_d36xh")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="DensityRip" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage/StructureHeader/DensityIndicator" unique_id=1570489598]
|
||||
@@ -580,7 +610,7 @@ offset_right = 158.0
|
||||
offset_bottom = 64.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("22_o3ebs")
|
||||
texture = ExtResource("22_vu83j")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="Pointer" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage/StructureHeader/DensityIndicator" unique_id=1090838442]
|
||||
@@ -596,19 +626,19 @@ offset_right = 20.0
|
||||
offset_bottom = 24.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("20_wjb0r")
|
||||
texture = ExtResource("23_bcq5b")
|
||||
|
||||
[node name="StructureHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage" unique_id=522613609 instance=ExtResource("28_o3ebs")]
|
||||
[node name="StructureHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage" unique_id=522613609 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Description" type="RichTextLabel" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage" unique_id=414749774]
|
||||
custom_minimum_size = Vector2(0, 670)
|
||||
custom_minimum_size = Vector2(0, 384)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/normal_font = ExtResource("6_wse8f")
|
||||
theme_override_fonts/bold_font = ExtResource("7_ic0uy")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("8_k3n1d")
|
||||
theme_override_fonts/italics_font = ExtResource("9_2o6r5")
|
||||
theme_override_fonts/normal_font = ExtResource("14_o7xkw")
|
||||
theme_override_fonts/bold_font = ExtResource("7_gwdna")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("15_bfrib")
|
||||
theme_override_fonts/italics_font = ExtResource("16_mip0j")
|
||||
theme_override_font_sizes/normal_font_size = 42
|
||||
theme_override_font_sizes/bold_font_size = 54
|
||||
theme_override_font_sizes/bold_italics_font_size = 42
|
||||
@@ -618,15 +648,22 @@ bbcode_enabled = true
|
||||
text = "Structures"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage" unique_id=342730054 instance=ExtResource("28_o3ebs")]
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage" unique_id=342730054 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Structures" type="Control" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage" unique_id=1126505300]
|
||||
custom_minimum_size = Vector2(1080, 1024)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ActionBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage" unique_id=449208508 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Actions" parent="Stage/StageRows/PageScroller/HBoxContainer/StructurePage" unique_id=1391835556 instance=ExtResource("17_ifjjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="LifePage" type="VBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer" unique_id=1519563846]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="LifeHeader" type="HBoxContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage" unique_id=1673431378]
|
||||
custom_minimum_size = Vector2(0, 128)
|
||||
@@ -652,7 +689,7 @@ offset_right = 158.0
|
||||
offset_bottom = 30.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("30_gggvi")
|
||||
texture = ExtResource("30_bemti")
|
||||
|
||||
[node name="AggressionPointer" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/AggressionIndicator" unique_id=1229249560]
|
||||
layout_mode = 1
|
||||
@@ -667,12 +704,12 @@ offset_right = 20.0
|
||||
offset_bottom = 24.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
texture = ExtResource("31_w44yn")
|
||||
texture = ExtResource("31_x6tg5")
|
||||
|
||||
[node name="Header" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader" unique_id=607573422]
|
||||
custom_minimum_size = Vector2(440, 64)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("22_4h6ng")
|
||||
texture = ExtResource("32_xitqn")
|
||||
|
||||
[node name="TrendIndicator" type="TextureButton" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader" unique_id=483731989]
|
||||
custom_minimum_size = Vector2(320, 128)
|
||||
@@ -689,67 +726,67 @@ layout_mode = 2
|
||||
|
||||
[node name="Trend1" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer" unique_id=1067418872]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("33_w44yn")
|
||||
texture = ExtResource("33_fprte")
|
||||
|
||||
[node name="Trend1Icon" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer" unique_id=433344874]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("31_w44yn")
|
||||
texture = ExtResource("31_x6tg5")
|
||||
|
||||
[node name="CenterContainer2" type="CenterContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer" unique_id=1119046601]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Trend2" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer2" unique_id=893059409]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("34_g1i3r")
|
||||
texture = ExtResource("34_lnsl1")
|
||||
|
||||
[node name="Trend2Icon" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer2" unique_id=1567846635]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("35_my276")
|
||||
texture = ExtResource("35_1u5dl")
|
||||
|
||||
[node name="CenterContainer3" type="CenterContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer" unique_id=1657283663]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Trend3" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer3" unique_id=1541892233]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("36_jas3d")
|
||||
texture = ExtResource("36_v15xm")
|
||||
|
||||
[node name="Trend3Icon" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer3" unique_id=2131664708]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("37_7htu6")
|
||||
texture = ExtResource("37_vjhti")
|
||||
|
||||
[node name="CenterContainer4" type="CenterContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer" unique_id=1576749946]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Trend4" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer4" unique_id=1484921702]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("38_7qk3m")
|
||||
texture = ExtResource("38_ctwlg")
|
||||
|
||||
[node name="Trend4Icon" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer4" unique_id=209689041]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("39_xpnt2")
|
||||
texture = ExtResource("39_jms70")
|
||||
|
||||
[node name="CenterContainer5" type="CenterContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer" unique_id=1182691919]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Trend5" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer5" unique_id=873423599]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("40_ruyqm")
|
||||
texture = ExtResource("40_50rdj")
|
||||
|
||||
[node name="Trend5Icon" type="TextureRect" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage/LifeHeader/TrendIndicator/HBoxContainer/CenterContainer5" unique_id=1362104530]
|
||||
layout_mode = 2
|
||||
texture = ExtResource("41_fnoqa")
|
||||
texture = ExtResource("41_mi6gc")
|
||||
|
||||
[node name="LifeHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage" unique_id=100084430 instance=ExtResource("28_o3ebs")]
|
||||
[node name="LifeHeaderBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage" unique_id=100084430 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Description" type="RichTextLabel" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage" unique_id=454792539]
|
||||
custom_minimum_size = Vector2(0, 670)
|
||||
custom_minimum_size = Vector2(0, 384)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_fonts/normal_font = ExtResource("6_wse8f")
|
||||
theme_override_fonts/bold_font = ExtResource("7_ic0uy")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("8_k3n1d")
|
||||
theme_override_fonts/italics_font = ExtResource("9_2o6r5")
|
||||
theme_override_fonts/normal_font = ExtResource("14_o7xkw")
|
||||
theme_override_fonts/bold_font = ExtResource("7_gwdna")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("15_bfrib")
|
||||
theme_override_fonts/italics_font = ExtResource("16_mip0j")
|
||||
theme_override_font_sizes/normal_font_size = 42
|
||||
theme_override_font_sizes/bold_font_size = 54
|
||||
theme_override_font_sizes/bold_italics_font_size = 42
|
||||
@@ -759,7 +796,7 @@ bbcode_enabled = true
|
||||
text = "Planets"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage" unique_id=335602062 instance=ExtResource("28_o3ebs")]
|
||||
[node name="Border" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage" unique_id=335602062 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Planets" type="Control" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage" unique_id=1203503863]
|
||||
@@ -820,9 +857,26 @@ offset_top = 512.0
|
||||
offset_right = 1080.0
|
||||
offset_bottom = 1024.0
|
||||
|
||||
[node name="CommandProcessor" type="Node" parent="." unique_id=2069361293]
|
||||
script = ExtResource("5_036b0")
|
||||
[node name="ActionBorder" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage" unique_id=160841192 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Panel" type="PanelContainer" parent="Stage/StageRows/PageScroller/HBoxContainer/LifePage" unique_id=116394684]
|
||||
custom_minimum_size = Vector2(0, 216)
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_ifjjt")
|
||||
|
||||
[node name="Border" parent="Stage/StageRows" unique_id=145801370 instance=ExtResource("12_58wjt")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ItemAmountUpdate" type="Timer" parent="Stage" unique_id=1953928024]
|
||||
wait_time = 0.2
|
||||
autostart = true
|
||||
|
||||
[node name="SaveData" type="Timer" parent="Stage" unique_id=1208861837]
|
||||
wait_time = 5.0
|
||||
autostart = true
|
||||
|
||||
[connection signal="timeout" from="Background/Timer" to="Background" method="randomize_parallax"]
|
||||
[connection signal="pressed" from="Stage/StageRows/TopMenu/BurgerButton" to="Stage" method="_on_topmenu_button_pressed" binds= ["Burger"]]
|
||||
[connection signal="pressed" from="Stage/StageRows/TopMenu/TimeMinus" to="Stage" method="_change_speed" binds= [-1]]
|
||||
[connection signal="pressed" from="Stage/StageRows/TopMenu/TimePlus" to="Stage" method="_change_speed" binds= [1]]
|
||||
@@ -835,3 +889,5 @@ 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"]
|
||||
[connection signal="timeout" from="Stage/SaveData" to="Stage" method="_on_save_data"]
|
||||
Reference in New Issue
Block a user