summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/character/struct/chr_roster.erl')
-rw-r--r-- | src/character/struct/chr_roster.erl | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/src/character/struct/chr_roster.erl b/src/character/struct/chr_roster.erl deleted file mode 100644 index 99a82fc..0000000 --- a/src/character/struct/chr_roster.erl +++ /dev/null @@ -1,127 +0,0 @@ --module(chr_roster). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --type id() :: binary(). - --record -( - roster, - { - id :: id(), - owner :: binary(), - characters :: array:array(chr_character:type()) - } -). - --opaque type() :: #roster{}. - --export_type([type/0, id/0]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%% Accessors --export -( - [ - get_id/1, - get_owner/1, - get_characters/1, - get_character/2, - - set_characters/2, - set_character/3, - - add_character/2, - remove_character/2 - ] -). - --export -( - [ - get_characters_field/0 - ] -). - --export -( - [ - new/2 - ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%% Accessors --spec get_id (type()) -> id(). -get_id (Roster) -> Roster#roster.id. - --spec get_owner (type()) -> binary(). -get_owner (Roster) -> Roster#roster.owner. - --spec get_characters (type()) -> array:array(chr_character:type()). -get_characters (Roster) -> Roster#roster.characters. - --spec get_character (non_neg_integer(), type()) -> chr_character:type(). -get_character (IX, Roster) -> array:get(IX, Roster#roster.characters). - --spec set_characters (array:array(chr_character:type()), type()) -> type(). -set_characters (Characters, Roster) -> Roster#roster{ characters = Characters }. - --spec set_character - ( - non_neg_integer(), - chr_character:type(), - type() - ) - -> type(). -set_character (IX, Character, Roster) -> - Roster#roster - { - characters = array:set(IX, Character, Roster#roster.characters) - }. - --spec add_character (chr_character:type(), type()) -> type(). -add_character (Character, Roster) -> - CurrentCharacters = Roster#roster.characters, - CurrentSize = array:size(CurrentCharacters), - - Roster#roster - { - characters = array:set(CurrentSize, Character, CurrentCharacters) - }. - --spec remove_character (non_neg_integer(), type()) -> type(). -remove_character (IX, Roster) -> - CurrentCharacters = Roster#roster.characters, - CurrentSize = array:size(CurrentCharacters), - NewSize = (CurrentSize - 1), - LastCharacter = array:get(NewSize, CurrentCharacters), - - S0Characters = array:set(IX, LastCharacter, CurrentCharacters), - S1Characters = array:resize(NewSize, S0Characters), - - Roster#roster - { - characters = S1Characters - }. - --spec get_characters_field () -> non_neg_integer(). -get_characters_field () -> #roster.characters. - --spec new (binary(), binary()) -> type(). -new (ID, Owner) -> - #roster - { - id = ID, - owner = Owner, - characters = array:new() - }. |