Feature/evolution #1

Merged
K merged 6 commits from feature/evolution into main 2026-08-19 16:20:56 +00:00
Showing only changes of commit d9cae38a11 - Show all commits
+23 -3
View File
@@ -4,6 +4,8 @@ class_name OwniverseEvolution
var entities: Dictionary[String, OwniverseEntity] = {}
var producing_entities: Array[OwniverseEntity] = []
var auto_producing_entities: Array[OwniverseEntity] = []
var auto_production_rest: Dictionary[String, float] = {}
var evolving_entities: Array[OwniverseEntity] = []
var batches: Dictionary[String, Array] = {}
@@ -63,9 +65,23 @@ func process(from_year: float, to_year: float) -> void:
func produce(from_year: float, to_year: float):
for batch_name in batches:
pass
var _time_delta = to_year - from_year
# get entity array for production
for _entity: OwniverseEntity in producing_entities:
var _to_produce: float = 0
var _new_batch_array:= []
for _batch: Dictionary in batches[_entity.id]:
_to_produce += _batch.amount
# production
_to_produce *= _time_delta * _entity.product_per_year_amount
var _auto_production_part: float = 0
if _entity.auto > 0:
_auto_production_part = _entity.auto * _to_produce
# and rest
# energy = wasted vs rest !!
func init_entity(entity: OwniverseEntity) -> void:
entities[entity.id] = entity
@@ -74,6 +90,10 @@ func init_entity(entity: OwniverseEntity) -> void:
if entity.lifespan > 0:
evolving_entities.append(entity)
if entity.auto > 0:
auto_producing_entities.append(entity)
auto_production_rest[entity.id] = 0
batches[entity.id] = []