Skip to content

Commit

Permalink
Simplify units setup
Browse files Browse the repository at this point in the history
  • Loading branch information
Scony committed Dec 18, 2023
1 parent 1b93999 commit aab3dfb
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
7 changes: 3 additions & 4 deletions source/match/Match.gd
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ func _setup_player_units():
var player_index = player.get_index()
var predefined_units = player.get_children().filter(func(child): return child is Unit)
if not predefined_units.is_empty():
predefined_units.map(func(unit): _setup_unit(unit))
predefined_units.map(func(unit): _setup_unit_groups(unit))
else:
_spawn_player_units(
player, map.find_child("SpawnPoints").get_child(player_index).global_transform
Expand All @@ -144,13 +144,12 @@ func _setup_and_spawn_unit(unit, a_transform, player, mark_structure_under_const
unit.global_transform = a_transform
if unit is Structure and mark_structure_under_construction:
unit.mark_as_under_construction()
_setup_unit_groups(unit)
player.add_child(unit)
_setup_unit(unit)
MatchSignals.unit_spawned.emit(unit)


func _setup_unit(unit):
unit.color = unit.player.color
func _setup_unit_groups(unit):
unit.add_to_group("units")
if unit.player == _get_human_player():
unit.add_to_group("controlled_units")
Expand Down
9 changes: 5 additions & 4 deletions source/match/units/Unit.gd
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@ var sight_range = null
var player:
get:
return get_parent()
var color = null:
set = _set_color
var color:
get:
return player.color
var action = null:
set = _set_action

Expand All @@ -44,6 +45,7 @@ var _action_locked = false
func _ready():
if not _match.is_node_ready():
await _match.ready
_setup_color()
_setup_default_properties_from_constants()
assert(_safety_checks())

Expand Down Expand Up @@ -94,8 +96,7 @@ func _is_movable():
return _get_movement_speed() > 0.0


func _set_color(a_color):
color = a_color
func _setup_color():
var material = player.get_color_material()
Utils.Match.traverse_node_tree_and_replace_materials_matching_albedo(
find_child("Geometry"),
Expand Down

0 comments on commit aab3dfb

Please sign in to comment.