mines thread
This commit is contained in:
@@ -10,6 +10,11 @@ package engine.gameManager;
|
||||
|
||||
import engine.Enum;
|
||||
import engine.Enum.GameObjectType;
|
||||
import engine.InterestManagement.WorldGrid;
|
||||
import engine.db.archive.DataWarehouse;
|
||||
import engine.db.archive.MineRecord;
|
||||
import engine.net.DispatchMessage;
|
||||
import engine.net.client.msg.chat.ChatSystemMsg;
|
||||
import engine.objects.*;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
@@ -22,9 +27,6 @@ import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Collection;
|
||||
|
||||
import static engine.workthreads.HourlyJobThread.mineWindowClose;
|
||||
import static engine.workthreads.HourlyJobThread.mineWindowOpen;
|
||||
|
||||
/*
|
||||
* This class contains all methods necessary to drive periodic
|
||||
* updates of the game simulation from the main _exec loop.
|
||||
@@ -71,6 +73,8 @@ public enum SimulationManager {
|
||||
return popString;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Update the simulation. *** Important: Whatever you do in here, do it damn
|
||||
* quick!
|
||||
@@ -231,44 +235,4 @@ public enum SimulationManager {
|
||||
_runegatePulseTime = System.currentTimeMillis() + RUNEGATE_PULSE;
|
||||
|
||||
}
|
||||
private void pulseMines(){
|
||||
// if(LocalDateTime.now().getMinute() != 30 && LocalDateTime.now().getMinute() != 0)
|
||||
// return;
|
||||
|
||||
for(Mine mine : Mine.getMines()) {
|
||||
|
||||
Building mineTower = BuildingManager.getBuilding(mine.getBuildingID());
|
||||
|
||||
if(mineTower == null)
|
||||
continue;
|
||||
///if (LocalDateTime.now().getHour() == 1) {
|
||||
// mine.wasClaimed = false;
|
||||
// mine.hasProduced = false;
|
||||
//}
|
||||
|
||||
int minute = 0;
|
||||
if (mine.firstThirty == false)
|
||||
minute = 30;
|
||||
|
||||
LocalDateTime openTime = LocalDateTime.now().withHour(mine.liveTime).withMinute(minute).withSecond(0);
|
||||
LocalDateTime closeTime = openTime.plusMinutes(30);
|
||||
|
||||
//current time is after start time and before close time, open mine window
|
||||
if (!mine.isActive && LocalDateTime.now().isAfter(openTime) && LocalDateTime.now().isBefore(closeTime)) {
|
||||
mineWindowOpen(mine);
|
||||
continue;
|
||||
}
|
||||
if(mine.isActive) {
|
||||
if (LocalDateTime.now().isAfter(closeTime.plusSeconds(10)) && mineTower.getRank() == 0 && mine.lastClaimer == null)
|
||||
closeTime = closeTime.plusMinutes(30); // mine was knocked down and has no claimer, roll over
|
||||
|
||||
if (LocalDateTime.now().isAfter(closeTime) && mineTower.getRank() > 0)
|
||||
mineWindowClose(mine); //mine was never knocked down, close window
|
||||
|
||||
if (LocalDateTime.now().isAfter(closeTime) && mineTower.getRank() < 1 && mine.lastClaimer != null)
|
||||
mineWindowClose(mine); //mine was knocked down and was claimed, close window
|
||||
}
|
||||
}
|
||||
_minePulseTime = System.currentTimeMillis() + CITY_PULSE;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user