| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/battle/struct/btl_character_turn_data.erl')
| -rw-r--r-- | src/battle/struct/btl_character_turn_data.erl | 24 | 
1 files changed, 23 insertions, 1 deletions
| diff --git a/src/battle/struct/btl_character_turn_data.erl b/src/battle/struct/btl_character_turn_data.erl index 64df29f..6742d1c 100644 --- a/src/battle/struct/btl_character_turn_data.erl +++ b/src/battle/struct/btl_character_turn_data.erl @@ -10,6 +10,7 @@        dirty :: boolean(),        battle :: btl_battle:type(),        character :: btl_character:type(), +      character_current_data :: btl_character_current_data:type(),        character_ix :: non_neg_integer()     }  ). @@ -29,10 +30,12 @@        get_battle_is_dirty/1,        get_battle/1,        get_character/1, +      get_character_current_data/1,        get_character_ix/1,        set_battle/2, -      set_character/2 +      set_character/2, +      refresh_character_current_data/1     ]  ). @@ -54,12 +57,15 @@  -spec new (btl_battle:type(), non_neg_integer()) -> type().  new (Battle, CharacterIX) ->     Character = btl_battle:get_character(CharacterIX, Battle), +   Map = btl_battle:get_map(Battle), +   CharacterCurrentData = btl_character_current_data:new(Character, Map),     #type     {        dirty = false,        battle = Battle,        character = Character, +      character_current_data = CharacterCurrentData,        character_ix = CharacterIX     }. @@ -72,6 +78,9 @@ get_battle (Data) -> Data#type.battle.  -spec get_character (type()) -> btl_character:type().  get_character (Data) -> Data#type.character. +-spec get_character_current_data (type()) -> btl_character_current_data:type(). +get_character_current_data (Data) -> Data#type.character_current_data. +  -spec get_character_ix (type()) -> non_neg_integer().  get_character_ix (Data) -> Data#type.character_ix. @@ -87,6 +96,19 @@ set_character (Character, Data) ->        character = Character     }. +-spec refresh_character_current_data (type()) -> type(). +refresh_character_current_data (Data) -> +   Battle = Data#type.battle, +   Character = Data#type.character, +   Map = btl_battle:get_map(Battle), +   CharacterCurrentData = btl_character_current_data:new(Character, Map), + +   Data#type +   { +      character_current_data = CharacterCurrentData +   }. + +  -spec clean_battle (type()) -> type().  clean_battle (Data) ->     Data#type | 


