/**
*
*/
package com.cwa.nagrand.memory;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* 战士管理器
* @author zero
*/
public enum ArenaManager
{
INSTANCE;
private Map<String, Arena> arenaPool;
ArenaManager()
{
arenaPool = new ConcurrentHashMap<String, Arena>();
}
public Map<String, Arena> getAllArena()
{
return arenaPool;
}
public void addArena(Arena a)
{
arenaPool.put(a.getArenaId(), a);
}
public Warrior getWarrior(String arenaId, String warId)
{
Arena arena = arenaPool.get(arenaId);
if (null == arena)
return null;
return arena.getWarrior(warId);
}
public int getRank(String arenaId, String warId)
{
Arena arena = arenaPool.get(arenaId);
if (null == arena)
return 0;
return arena.getRank(warId);
}
public boolean addWarrior(String arenaId, String warId, int initScore)
{
Arena arena = arenaPool.get(arenaId);
if (arena == null) {
arena = new Arena(arenaId);
arenaPool.put(arenaId, arena);
}
if (arena.addWarrior(warId, initScore)) {
return true;
}
return false;
}
public int changeScore(String arenaId, String warId, int changeValue)
{
Arena arena = arenaPool.get(arenaId);
int rank = arena.changeScore(warId, changeValue);
return rank;
}
}