Do not start disabled sieges.
This commit is contained in:
parent
14cb1e0cff
commit
c90b7504d6
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -84,6 +84,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -225,28 +252,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -81,6 +81,34 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
private final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
private SiegeGuardManager _siegeGuardManager;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
_siegeGuardManager = new SiegeGuardManager(getCastle());
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -222,30 +250,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
private final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
private SiegeGuardManager _siegeGuardManager;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
_siegeGuardManager = new SiegeGuardManager(getCastle());
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -82,6 +82,34 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
private final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
private SiegeGuardManager _siegeGuardManager;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
_siegeGuardManager = new SiegeGuardManager(getCastle());
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -223,30 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
private final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
private SiegeGuardManager _siegeGuardManager;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
_siegeGuardManager = new SiegeGuardManager(getCastle());
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -82,6 +82,34 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
private final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
private SiegeGuardManager _siegeGuardManager;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
_siegeGuardManager = new SiegeGuardManager(getCastle());
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -223,30 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
private final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
private SiegeGuardManager _siegeGuardManager;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
_siegeGuardManager = new SiegeGuardManager(getCastle());
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
@ -83,6 +83,33 @@ public class Siege implements Siegable
|
||||
|
||||
private int _controlTowerCount;
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
|
||||
final SiegeScheduleDate schedule = SiegeScheduleData.getInstance().getScheduleDateForCastleId(_castle.getResidenceId());
|
||||
if ((schedule != null) && schedule.siegeEnabled())
|
||||
{
|
||||
startAutoTask();
|
||||
}
|
||||
}
|
||||
|
||||
public class ScheduleEndSiegeTask implements Runnable
|
||||
{
|
||||
private final Castle _castleInst;
|
||||
@ -224,28 +251,6 @@ public class Siege implements Siegable
|
||||
}
|
||||
}
|
||||
|
||||
// must support Concurrent Modifications
|
||||
private final Collection<SiegeClan> _attackerClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderClans = ConcurrentHashMap.newKeySet();
|
||||
private final Collection<SiegeClan> _defenderWaitingClans = ConcurrentHashMap.newKeySet();
|
||||
|
||||
// Castle setting
|
||||
private final List<ControlTower> _controlTowers = new ArrayList<>();
|
||||
private final List<FlameTower> _flameTowers = new ArrayList<>();
|
||||
final Castle _castle;
|
||||
boolean _isInProgress = false;
|
||||
private boolean _isNormalSide = true; // true = Atk is Atk, false = Atk is Def
|
||||
protected boolean _isRegistrationOver = false;
|
||||
protected Calendar _siegeEndDate;
|
||||
protected ScheduledFuture<?> _scheduledStartSiegeTask = null;
|
||||
protected int _firstOwnerClanId = -1;
|
||||
|
||||
public Siege(Castle castle)
|
||||
{
|
||||
_castle = castle;
|
||||
startAutoTask();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSiege()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user