Do not start disabled sieges.

This commit is contained in:
MobiusDevelopment
2022-11-07 22:42:17 +00:00
parent 14cb1e0cff
commit c90b7504d6
29 changed files with 786 additions and 644 deletions

View File

@@ -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()
{