refactor
This commit is contained in:
@@ -34,6 +34,10 @@ var randomize_spawn: bool = true # Default enabled
|
||||
var enable_cycle_timer: bool = false # Default disabled
|
||||
signal enable_cycle_timer_changed(enabled: bool)
|
||||
|
||||
# Scarcity setting
|
||||
var scarcity_mode: String = "Normal" # Normal, Aggressive, Chaos
|
||||
signal scarcity_mode_changed(mode: String)
|
||||
|
||||
# Character and area selection
|
||||
var available_characters: Array[String] = ["Bob", "Gatot", "Masbro", "Oldpop"]
|
||||
var available_areas: Array[String] = ["Desert", "Forest", "City", "Factory"]
|
||||
@@ -203,6 +207,26 @@ func sync_enable_cycle_timer(enabled: bool) -> void:
|
||||
func get_enable_cycle_timer() -> bool:
|
||||
return enable_cycle_timer
|
||||
|
||||
# =============================================================================
|
||||
# Scarcity Mode
|
||||
# =============================================================================
|
||||
|
||||
func set_scarcity_mode(mode: String) -> void:
|
||||
"""Host sets scarcity mode. Syncs to clients."""
|
||||
scarcity_mode = mode
|
||||
if is_host:
|
||||
rpc("sync_scarcity_mode", mode)
|
||||
|
||||
@rpc("authority", "call_local", "reliable")
|
||||
func sync_scarcity_mode(mode: String) -> void:
|
||||
scarcity_mode = mode
|
||||
# Update ScarcityModel immediately
|
||||
ScarcityModel.set_mode(mode)
|
||||
emit_signal("scarcity_mode_changed", mode)
|
||||
|
||||
func get_scarcity_mode() -> String:
|
||||
return scarcity_mode
|
||||
|
||||
# =============================================================================
|
||||
# Character Selection
|
||||
# =============================================================================
|
||||
@@ -297,6 +321,8 @@ func start_game() -> void:
|
||||
rpc("sync_match_duration", match_duration)
|
||||
# Sync timer setting
|
||||
rpc("sync_enable_cycle_timer", enable_cycle_timer)
|
||||
# Sync scarcity mode
|
||||
rpc("sync_scarcity_mode", scarcity_mode)
|
||||
|
||||
# Notify all clients to start
|
||||
rpc("_on_game_starting")
|
||||
|
||||
Reference in New Issue
Block a user