This commit is contained in:
ProgramSnail 2023-08-10 12:18:17 +03:00
parent 5408d75267
commit a795665b54
7 changed files with 462 additions and 366 deletions

View file

@ -28,6 +28,39 @@ func is_current_character_exist():
func spawn_current_player_character(position : Vector3):
player_characters[current_player].append( \
utils.spawn_on_position(character_scene, position))
func try_merge_current_character_with(character : int):
if current_character == character:
return false
if current_player_used_characters.has(current_character) and \
current_player_used_characters.has(character):
return false
if player_characters[current_player][current_character].level != player_characters[current_player][character].level:
return false
if not player_characters[current_player][current_character].upgrade():
return false
player_characters[current_player][current_character].translation = player_characters[current_player][character].translation
var is_active_after_merge = not current_player_used_characters.has(current_character) and \
not current_player_used_characters.has(character)
player_characters[current_player][character].queue_free()
if character + 1 != current_player_characters_count():
player_characters[current_player][character] = player_characters[current_player].back()
if current_character + 1 == current_player_characters_count():
current_character = character
player_characters[current_player].pop_back()
if not is_active_after_merge:
set_next_character()
return true
func destroy_characters_on_position(characters : Array, position : Vector3):
var destroyed_count = 0
@ -131,8 +164,6 @@ func set_next_player():
current_character_obj().active = false
map.player_tiles[current_player] = map.DEFAULT_PLAYER_TILES[current_player]
print(map.player_tiles[current_player])
print(map.DEFAULT_PLAYER_TILES[current_player])
map.remove_active_player_color(current_player)
current_player_used_characters.clear()