work work
This commit is contained in:
parent
2fa1acc73b
commit
1ba3772b71
32 changed files with 105 additions and 7 deletions
|
|
@ -5,4 +5,5 @@
|
|||
|
||||
[resource]
|
||||
script = ExtResource("2_qihur")
|
||||
name = "Plague"
|
||||
metadata/_custom_type_script = "uid://ucjmg8grkta8"
|
||||
|
|
|
|||
|
|
@ -5,4 +5,5 @@
|
|||
|
||||
[resource]
|
||||
script = ExtResource("2_tg12d")
|
||||
name = "Time"
|
||||
metadata/_custom_type_script = "uid://ucjmg8grkta8"
|
||||
|
|
|
|||
|
|
@ -5,4 +5,5 @@
|
|||
|
||||
[resource]
|
||||
script = ExtResource("2_h7qij")
|
||||
name = "Beer"
|
||||
metadata/_custom_type_script = "uid://b3tqa2kc2bu0p"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="InanimateCurrency" format=3 uid="uid://by3dayfdpobpt"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cthcf4w1il4h8" path="res://currency/inanimate_currency.gd" id="1_6u8vm"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_vpm3o"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_6u8vm")
|
||||
name = "Blood"
|
||||
metadata/_custom_type_script = "uid://b3tqa2kc2bu0p"
|
||||
|
|
|
|||
|
|
@ -5,4 +5,5 @@
|
|||
|
||||
[resource]
|
||||
script = ExtResource("2_nt5od")
|
||||
name = "Bread"
|
||||
metadata/_custom_type_script = "uid://b3tqa2kc2bu0p"
|
||||
|
|
|
|||
|
|
@ -5,4 +5,5 @@
|
|||
|
||||
[resource]
|
||||
script = ExtResource("2_aao11")
|
||||
name = "Corpse"
|
||||
metadata/_custom_type_script = "uid://b3tqa2kc2bu0p"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="InanimateCurrency" format=3 uid="uid://bnlnq4ucsgfxe"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cthcf4w1il4h8" path="res://currency/inanimate_currency.gd" id="1_i8ogj"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_u4rls"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_i8ogj")
|
||||
name = "Gold"
|
||||
metadata/_custom_type_script = "uid://b3tqa2kc2bu0p"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="InanimateCurrency" format=3 uid="uid://ytteqojj7k1o"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_oss13"]
|
||||
[ext_resource type="Script" uid="uid://cthcf4w1il4h8" path="res://currency/inanimate_currency.gd" id="1_r1hhf"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_r1hhf")
|
||||
name = "Stone"
|
||||
metadata/_custom_type_script = "uid://b3tqa2kc2bu0p"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="InanimateCurrency" format=3 uid="uid://b8b6yr444ecdk"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_6tuon"]
|
||||
[ext_resource type="Script" uid="uid://cthcf4w1il4h8" path="res://currency/inanimate_currency.gd" id="1_s2pc4"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_s2pc4")
|
||||
name = "Water"
|
||||
metadata/_custom_type_script = "uid://b3tqa2kc2bu0p"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="InanimateCurrency" format=3 uid="uid://b7vjuqkog7cxd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_g2gb5"]
|
||||
[ext_resource type="Script" uid="uid://cthcf4w1il4h8" path="res://currency/inanimate_currency.gd" id="1_ilt41"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_ilt41")
|
||||
name = "Wood"
|
||||
metadata/_custom_type_script = "uid://b3tqa2kc2bu0p"
|
||||
|
|
|
|||
|
|
@ -1,11 +1,5 @@
|
|||
extends Resource
|
||||
class_name Production
|
||||
|
||||
enum Type {
|
||||
Produce,
|
||||
Consume,
|
||||
}
|
||||
|
||||
@export var type = Type.Produce
|
||||
@export var currency: Currency
|
||||
@export var amount: int
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://l8osuuxl7exe"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_e7gnr"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_m37xt"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_e7gnr")
|
||||
name = "Archer"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dlxnbyiurne1s"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_cnnt2"]
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_o1w50"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_o1w50")
|
||||
name = "Calvary"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dsohovjbf3s2p"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_10o5k"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_cup2e"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_10o5k")
|
||||
name = "Chicken"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://b5qok0rcalr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_0c5xt"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_607lg"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_0c5xt")
|
||||
name = "Cow"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://clx8tbrad4m7c"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_0dcki"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_qayfp"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_0dcki")
|
||||
name = "Dinosaur"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://b1tgtujqs5lnr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_8u0th"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_ohece"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_8u0th")
|
||||
name = "Doctor"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -5,4 +5,5 @@
|
|||
|
||||
[resource]
|
||||
script = ExtResource("2_j265y")
|
||||
name = "Drunk"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dn0c1pfq04obw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_35xhy"]
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_kipvp"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_kipvp")
|
||||
name = "Farmer"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -5,4 +5,5 @@
|
|||
|
||||
[resource]
|
||||
script = ExtResource("1_y7sat")
|
||||
name = "King Guard"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://8uo3q8rn6qqr"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_8hvx0"]
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_qvvhd"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_qvvhd")
|
||||
name = "Lover"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://sq2lrgnfjugj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_81xhi"]
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_m8i4c"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_m8i4c")
|
||||
name = "Mercenary"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dq70tpr5osjkk"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_egwdx"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_iy37t"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_egwdx")
|
||||
name = "Messenger"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dpaj2dk3qm7ow"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_phc4h"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_yn73g"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_phc4h")
|
||||
name = "Miner"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://rdrcyvuvrp2m"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_c1r5q"]
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_g345f"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_g345f")
|
||||
name = "Pig"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dk3wsnr3ku7ka"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_acsld"]
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_jo5ux"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_jo5ux")
|
||||
name = "Royalty"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://dfj4jwdmff6bu"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_ou6ev"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_wync1"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_ou6ev")
|
||||
name = "Spy"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://chsv8oeajty8j"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_0qymk"]
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_an3bl"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_an3bl")
|
||||
name = "Town Crier"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="SentientCurrency" format=3 uid="uid://6xylw7p78fvf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="1_05kyk"]
|
||||
[ext_resource type="Script" uid="uid://hcvynq5fjypj" path="res://currency/sentient_currency.gd" id="1_tds6s"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_tds6s")
|
||||
name = "Wizard"
|
||||
metadata/_custom_type_script = "uid://hcvynq5fjypj"
|
||||
|
|
|
|||
32
economy.gd
32
economy.gd
|
|
@ -1,6 +1,36 @@
|
|||
extends Node
|
||||
|
||||
signal productions_update(p: Array[Production])
|
||||
signal production_log(producer: Currency, p: Production)
|
||||
@export var currencies: Array[Production]
|
||||
@export var members: Array
|
||||
|
||||
func get_currency(c: Currency) -> Production:
|
||||
for p in currencies:
|
||||
if c == p.currency:
|
||||
return p
|
||||
var p := Production.new()
|
||||
p.currency = c
|
||||
p.amount = 0
|
||||
currencies.append(p)
|
||||
productions_update.emit.call_deferred(currencies)
|
||||
return p
|
||||
|
||||
func sync_currency():
|
||||
#for p in currencies:
|
||||
#if p.amount == 0:
|
||||
#currencies.remove_at()
|
||||
productions_update.emit.call_deferred(currencies)
|
||||
|
||||
|
||||
func produce(producer: Currency, production: Production):
|
||||
production_log.emit.call_deferred(producer, production)
|
||||
|
||||
func simulate():
|
||||
pass
|
||||
productions_update.emit.call_deferred(currencies)
|
||||
|
||||
func _ready() -> void:
|
||||
simulate()
|
||||
for i in range(100):
|
||||
produce(preload("res://currency/sentient/chicken.tres"), currencies[0])
|
||||
produce(preload("res://currency/sentient/chicken.tres"), currencies[2])
|
||||
|
|
|
|||
23
economy.tscn
23
economy.tscn
|
|
@ -1,6 +1,29 @@
|
|||
[gd_scene format=3 uid="uid://dnpioqaes87yb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://i14prh1jocdd" path="res://economy.gd" id="1_csm0v"]
|
||||
[ext_resource type="Script" uid="uid://dddyxbkq0ienn" path="res://currency/production.gd" id="2_tljx8"]
|
||||
[ext_resource type="Resource" uid="uid://dmctedq3pav0t" path="res://currency/inanimate/corpse.tres" id="3_4ctyq"]
|
||||
[ext_resource type="Resource" uid="uid://rdrcyvuvrp2m" path="res://currency/sentient/pig.tres" id="4_d7dul"]
|
||||
[ext_resource type="Resource" uid="uid://dfj4jwdmff6bu" path="res://currency/sentient/spy.tres" id="5_4ctyq"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_jd86c"]
|
||||
script = ExtResource("2_tljx8")
|
||||
currency = ExtResource("3_4ctyq")
|
||||
amount = 10
|
||||
metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_jd7cj"]
|
||||
script = ExtResource("2_tljx8")
|
||||
currency = ExtResource("4_d7dul")
|
||||
amount = 3
|
||||
metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ei3g1"]
|
||||
script = ExtResource("2_tljx8")
|
||||
currency = ExtResource("5_4ctyq")
|
||||
amount = -4
|
||||
metadata/_custom_type_script = "uid://dddyxbkq0ienn"
|
||||
|
||||
[node name="Economy" type="Node" unique_id=1950923383]
|
||||
script = ExtResource("1_csm0v")
|
||||
currencies = Array[ExtResource("2_tljx8")]([SubResource("Resource_jd86c"), SubResource("Resource_jd7cj"), SubResource("Resource_ei3g1")])
|
||||
|
|
|
|||
|
|
@ -10,11 +10,13 @@ config_version=5
|
|||
|
||||
[application]
|
||||
|
||||
run/main_scene="uid://d06w1wtct0mfs"
|
||||
config/features=PackedStringArray("4.7")
|
||||
|
||||
[autoload]
|
||||
|
||||
Dialogic="*uid://ds2q0uclmolvu"
|
||||
Economy="*uid://dnpioqaes87yb"
|
||||
|
||||
[dialogic]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue