mirror of
https://github.com/Rogiel/l2jserver2
synced 2025-12-16 03:52:50 +00:00
Change-Id: I0cca627373c68d94025647f802a7fa6b419e0aad
This commit is contained in:
@@ -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();
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.l2jserver.model.world.clan;
|
||||
|
||||
import com.l2jserver.model.world.event.WorldListener;
|
||||
|
||||
public interface ClanListener extends WorldListener<ClanEvent> {
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user