| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/battlemap/struct/bm_character_turn_update.erl')
| -rw-r--r-- | src/battlemap/struct/bm_character_turn_update.erl | 73 | 
1 files changed, 73 insertions, 0 deletions
diff --git a/src/battlemap/struct/bm_character_turn_update.erl b/src/battlemap/struct/bm_character_turn_update.erl new file mode 100644 index 0000000..078075c --- /dev/null +++ b/src/battlemap/struct/bm_character_turn_update.erl @@ -0,0 +1,73 @@ +-module(bm_character_turn_update). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-record +( +   type, +   { +      data :: bm_character_turn_data:type(), +      timeline :: list(any()), +      db :: list(sh_db_query:op()) +   } +). + +-opaque type() :: #type{}. + +-export_type([type/0]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export +( +   [ +      new/1, + +      get_data/1, +      get_timeline/1, +      get_db/1, + +      set_data/2, +      add_to_timeline/2, +      add_to_db/2 +   ] +). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec new (bm_character_turn_data:type()) -> type(). +new (Data) -> +   #type +   { +      data = Data, +      timeline = [], +      db = [] +   }. + +-spec get_data (type()) -> bm_character_turn_data:type(). +get_data (Update) -> Update#type.data. + +-spec get_timeline (type()) -> list(any()). +get_timeline (Update) -> Update#type.timeline. + +-spec get_db (type()) -> list(sh_db_query:op()). +get_db (Update) -> Update#type.db. + +-spec set_data (bm_character_turn_data:type(), type()) -> type(). +set_data (Data, Update) -> +   Update#type{ data = Data}. + +-spec add_to_timeline (bm_turn_result:type(), type()) -> type(). +add_to_timeline (Item, Update) -> +   Update#type{ timeline = [bm_turn_result:encode(Item)|Update#type.timeline] }. + +-spec add_to_db (sh_db_query:op(), type()) -> type(). +add_to_db (Item, Update) -> +   Update#type{ db = [Item|Update#type.db] }.  | 


