summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/character/struct/chr_roster.erl')
-rw-r--r--src/character/struct/chr_roster.erl127
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()
- }.