package net.alcuria.umbracraft.party; import net.alcuria.umbracraft.Game; import com.badlogic.gdx.utils.Array; /** A representation of the player's current party. * @author Andrew Keturi */ public class Party { private final Array<PartyMember> members = new Array<PartyMember>(); /** Adds a {@link PartyMember} to the party * @param member a {@link PartyMember} */ public void addMember(PartyMember member) { members.add(member); } /** Clears out the party */ public void clear() { members.clear(); } /** @param i an index into the party * @return the given {@link PartyMember} */ public PartyMember get(int i) { if (i < 0 || i >= members.size) { throw new ArrayIndexOutOfBoundsException("No party member at index " + i); } return members.get(i); } /** @return all party members */ public Array<PartyMember> getMembers() { return members; } /** Sets the default (starting) party as defined in the DB */ public void loadDefault() { for (String hero : Game.db().config().startingParty) { addMember(new PartyMember(hero)); } } /** @return the size of the party */ public int size() { return members.size; } }