summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/battlemap/struct/bm_player.erl')
-rw-r--r-- | src/battlemap/struct/bm_player.erl | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/src/battlemap/struct/bm_player.erl b/src/battlemap/struct/bm_player.erl index 9be2a95..6e5338d 100644 --- a/src/battlemap/struct/bm_player.erl +++ b/src/battlemap/struct/bm_player.erl @@ -11,7 +11,9 @@ { ix :: non_neg_integer(), id :: id(), - timeline :: list(any()) + character_ix :: non_neg_integer(), + timeline :: list(any()), + is_active :: boolean() } ). @@ -26,18 +28,24 @@ [ get_id/1, get_index/1, + get_character_index/1, get_timeline/1, + + get_is_active/1, + set_is_active/2, + add_to_timeline/2, reset_timeline/1, - get_timeline_field/0 + get_timeline_field/0, + get_is_active_field/0 ] ). -export ( [ - new/2 + new/3 ] ). @@ -54,9 +62,18 @@ get_id (Player) -> Player#player.id. -spec get_index (type()) -> non_neg_integer(). get_index (Player) -> Player#player.ix. +-spec get_character_index (type()) -> non_neg_integer(). +get_character_index (Player) -> Player#player.character_ix. + -spec get_timeline (type()) -> list(any()). get_timeline (Player) -> Player#player.timeline. +-spec get_is_active (type()) -> boolean(). +get_is_active (Player) -> Player#player.is_active. + +-spec set_is_active (boolean(), type()) -> type(). +set_is_active (Val, Player) -> Player#player{ is_active = Val }. + -spec add_to_timeline (list(any()), type()) -> type(). add_to_timeline (NewEvents, Player) -> OldTimeline = Player#player.timeline, @@ -69,14 +86,19 @@ add_to_timeline (NewEvents, Player) -> -spec reset_timeline (type()) -> type(). reset_timeline (Player) -> Player#player{ timeline = [] }. --spec new (non_neg_integer(), id()) -> type(). -new (IX, ID) -> +-spec new (non_neg_integer(), non_neg_integer(), id()) -> type(). +new (IX, CharacterIX, ID) -> #player { ix = IX, + character_ix = CharacterIX, id = ID, + is_active = true, timeline = [] }. -spec get_timeline_field () -> non_neg_integer(). get_timeline_field () -> #player.timeline. + +-spec get_is_active_field () -> non_neg_integer(). +get_is_active_field () -> #player.is_active. |