Разделить частоту обновления часов и расчёта симуляции
Счётчик времени UI обновляется до 10 Гц по запрошенному времени, а тяжёлые циклы по-прежнему запускаются с адаптивным интервалом и обрабатывают весь накопленный промежуток. Обновить тесты и описание модели.
This commit is contained in:
+9
-4
@@ -98,6 +98,7 @@ var g_active_items: Dictionary = {}
|
||||
var pending_page: int = -1
|
||||
var active_actions_dirty: bool = true
|
||||
var active_actions_elapsed: float = 0.0
|
||||
var clock_display_elapsed: float = 0.0
|
||||
var interface_sounds_enabled: bool = false
|
||||
|
||||
var owniverse:Owniverse = Owniverse.new()
|
||||
@@ -389,7 +390,7 @@ func create_new_universe() -> void:
|
||||
func _refresh_universe_ui() -> void:
|
||||
owniverse.presentation.refresh(owniverse.state, owniverse.catalog)
|
||||
_change_speed(0)
|
||||
set_datetime(owniverse.state.time.year)
|
||||
set_datetime(owniverse.display_clock().year)
|
||||
set_owniverse_item_value()
|
||||
_unlock_items()
|
||||
if world_indicators != null: world_indicators.update(owniverse)
|
||||
@@ -397,6 +398,10 @@ func _refresh_universe_ui() -> void:
|
||||
func _process(delta: float) -> void:
|
||||
|
||||
owniverse.evolute_frame(delta, get_tree())
|
||||
clock_display_elapsed += delta
|
||||
if clock_display_elapsed >= 0.1:
|
||||
clock_display_elapsed = fmod(clock_display_elapsed, 0.1)
|
||||
set_datetime(owniverse.display_clock().year)
|
||||
indicator_elapsed += delta
|
||||
if indicator_elapsed >= 0.1 and indicator_revision != owniverse.presentation.revision:
|
||||
indicator_elapsed = 0.0
|
||||
@@ -404,9 +409,9 @@ func _process(delta: float) -> void:
|
||||
indicator_revision = owniverse.presentation.revision
|
||||
_update_descriptions(delta)
|
||||
if not owniverse.presentation.pending_amounts.is_empty(): set_owniverse_item_value()
|
||||
if displayed_year == null or E.ne(displayed_year, owniverse.state.time.year):
|
||||
set_datetime(owniverse.state.time.year)
|
||||
displayed_year = owniverse.state.time.year
|
||||
var committed_year: Variant = owniverse.state.time.year
|
||||
if displayed_year == null or E.ne(displayed_year, committed_year):
|
||||
displayed_year = committed_year
|
||||
|
||||
#owniverse.cycle(delta)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user