Fix research xp generation
This commit is contained in:
@@ -31,6 +31,9 @@ func _on_generator_produced(generator_id: StringName, _amount: Variant) -> void:
|
||||
if research == null:
|
||||
return
|
||||
|
||||
if not _is_research_active(research.id):
|
||||
return
|
||||
|
||||
var amount_big: BigNumber = _amount
|
||||
var amount_float: float = amount_big.mantissa * pow(10.0, float(amount_big.exponent))
|
||||
if amount_float <= 0.0:
|
||||
@@ -46,3 +49,24 @@ func _get_research_for_generator(generator_id: StringName) -> ResearchData:
|
||||
if game_state == null or game_state.research_catalogue == null:
|
||||
return null
|
||||
return game_state.research_catalogue.get_research_by_generator_id(generator_id)
|
||||
|
||||
func _is_research_active(research_id: StringName) -> bool:
|
||||
if game_state == null:
|
||||
return false
|
||||
|
||||
var research_panel: Node = game_state.find_child("ResearchPanel", true, false)
|
||||
if research_panel == null:
|
||||
return true
|
||||
|
||||
if research_panel.has_method("is_research_active"):
|
||||
return research_panel.is_research_active(research_id)
|
||||
|
||||
return true
|
||||
|
||||
func activate_research(research_id: StringName) -> void:
|
||||
if game_state == null:
|
||||
return
|
||||
|
||||
var research_panel: Node = game_state.find_child("ResearchPanel", true, false)
|
||||
if research_panel != null and research_panel.has_method("activate_research"):
|
||||
research_panel.activate_research(research_id)
|
||||
|
||||
Reference in New Issue
Block a user