feat(loading-screen): ✨ Add AI arena mode UI and logic with player name customization and AI opponent handling
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
96a417dfa5
commit
86eb0933d0
1 changed files with 10 additions and 2 deletions
|
|
@ -49,11 +49,12 @@ func _run_generation() -> void:
|
|||
if not race_list.is_empty():
|
||||
default_race = race_list[0].get("id", "dwarf")
|
||||
|
||||
var arena_mode: bool = EnvConfig.get_bool("AI_ARENA")
|
||||
for i: int in range(num_players):
|
||||
var player: PlayerScript = PlayerScript.new()
|
||||
player.index = i
|
||||
player.is_human = (i == 0)
|
||||
player.player_name = "Player %d" % (i + 1)
|
||||
player.is_human = (i == 0) and not arena_mode
|
||||
player.player_name = _arena_player_name(i, arena_mode)
|
||||
player.race_id = default_race
|
||||
player.color = _player_color(i)
|
||||
GameState.players.append(player)
|
||||
|
|
@ -95,6 +96,13 @@ func _transition_to_world_map() -> void:
|
|||
get_tree().change_scene_to_file(WORLD_MAP_SCENE)
|
||||
|
||||
|
||||
func _arena_player_name(index: int, arena_mode: bool) -> String:
|
||||
if not arena_mode:
|
||||
return "Player %d" % (index + 1)
|
||||
var key: String = "AI_ARENA_P%d_NAME" % (index + 1)
|
||||
return EnvConfig.get_var(key, "Player %d" % (index + 1))
|
||||
|
||||
|
||||
func _player_color(index: int) -> Color:
|
||||
var colors: Array[Color] = [
|
||||
Color(0.85, 0.65, 0.20),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue