From c21e6a963fc36005b1afd5e983049a17aff92aca Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Mon, 29 Apr 2019 15:18:02 +0200 Subject: ... --- src/battle/struct/btl_battle.erl | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'src/battle/struct/btl_battle.erl') diff --git a/src/battle/struct/btl_battle.erl b/src/battle/struct/btl_battle.erl index 01ab65b..aedd8da 100644 --- a/src/battle/struct/btl_battle.erl +++ b/src/battle/struct/btl_battle.erl @@ -56,6 +56,9 @@ ataxia_set_character/3, ataxia_set_character/4, + add_character/2, + ataxia_add_character/2, + set_players/2, ataxia_set_players/2, ataxia_set_players/3, @@ -64,6 +67,9 @@ ataxia_set_player/3, ataxia_set_player/4, + add_player/2, + ataxia_add_player/2, + set_current_player_turn/2, ataxia_set_current_player_turn/2, ataxia_set_current_player_turn/3, @@ -243,6 +249,27 @@ set_character (IX, Character, Battle) -> characters = orddict:store(IX, Character, Battle#battle.characters) }. +-spec add_character + ( + btl_character:unresolved(), + type() + ) + -> {non_neg_integer(), type()}. +add_character (Character, Battle) -> + IX = orddict:size(Battle#battle.characters), + {IX, set_character(IX, Character, Battle)}. + +-spec ataxia_add_character + ( + btl_character:unresolved(), + type() + ) + -> {non_neg_integer(), type(), ataxic:basic()}. +ataxia_add_character (Character, Battle) -> + IX = orddict:size(Battle#battle.characters), + {S0Battle, AtaxicUpdate} = ataxia_set_character(IX, Character, Battle), + {IX, S0Battle, AtaxicUpdate}. + -spec ataxia_set_character ( non_neg_integer(), @@ -373,6 +400,22 @@ ataxia_set_player (IX, Player, PlayerUpdate, Battle) -> ) }. +-spec add_player (btl_player:type(), type()) -> {non_neg_integer(), type()}. +add_player (Player, Battle) -> + IX = orddict:size(Battle#battle.players), + {IX, set_player(IX, Player, Battle)}. + +-spec ataxia_add_player + ( + btl_player:type(), + type() + ) + -> {non_neg_integer(), type(), ataxic:basic()}. +ataxia_add_player (Player, Battle) -> + IX = orddict:size(Battle#battle.players), + {S0Battle, AtaxicUpdate} = ataxia_set_player(IX, Player, Battle), + {IX, S0Battle, AtaxicUpdate}. + -spec set_current_player_turn (btl_player_turn:type(), type()) -> type(). set_current_player_turn (PlayerTurn, Battle) -> Battle#battle -- cgit v1.2.3-70-g09d2