1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-16 03:52:50 +00:00

Change-Id: I0cca627373c68d94025647f802a7fa6b419e0aad

This commit is contained in:
rogiel
2011-04-30 01:51:36 -03:00
parent f1d8e6588f
commit f454e3c35a
74 changed files with 2744 additions and 255 deletions

View File

@@ -0,0 +1,8 @@
package com.l2jserver.model.world.clan;
import com.l2jserver.model.world.Clan;
import com.l2jserver.model.world.event.WorldEvent;
public interface ClanEvent extends WorldEvent {
Clan getClan();
}

View File

@@ -0,0 +1,6 @@
package com.l2jserver.model.world.clan;
import com.l2jserver.model.world.event.WorldListener;
public interface ClanListener extends WorldListener<ClanEvent> {
}

View File

@@ -0,0 +1,76 @@
package com.l2jserver.model.world.clan;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import com.l2jserver.model.id.CharacterID;
import com.l2jserver.model.world.Clan;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.util.factory.CollectionFactory;
/**
* This class handles members inside an clan
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
public class ClanMembers implements Iterable<CharacterID> {
/**
* The parent {@link Clan}
*/
private final Clan clan;
/**
* The list of active members
*/
private final Set<CharacterID> members = CollectionFactory
.newSet(CharacterID.class);
public ClanMembers(Clan clan) {
this.clan = clan;
}
/**
* Effectively add this character as a clan member
*
* @param character
* the character
* @return true if add, false otherwise
*/
public boolean add(L2Character character) {
return members.add(character.getID());
}
/**
* Effectively add this character as a clan member
*
* @param character
* the character
* @return true if add, false otherwise
*/
public boolean remove(L2Character character) {
return members.remove(character.getID());
}
/**
* Load an list of members to this clan
*
* @param members
* the list of members ids
*/
public void load(List<CharacterID> members) {
this.members.addAll(members);
}
/**
* @return the clan
*/
public Clan getClan() {
return clan;
}
@Override
public Iterator<CharacterID> iterator() {
return members.iterator();
}
}