TurnBasedMinecraftMod/src/main/java/com/seodisparate/TurnBasedMinecraft/common/BattleUpdater.java

45 lines
1.1 KiB
Java
Raw Normal View History

package com.seodisparate.TurnBasedMinecraft.common;
2018-09-06 08:08:36 +00:00
import java.util.ArrayDeque;
import java.util.Queue;
public class BattleUpdater implements Runnable
{
private BattleManager manager;
private boolean isRunning;
public BattleUpdater(BattleManager manager)
{
this.manager = manager;
isRunning = true;
}
@Override
public void run()
{
2018-09-06 08:08:36 +00:00
Queue<Integer> endedQueue = new ArrayDeque<Integer>();
Integer ended;
while(isRunning)
{
for(Battle e : manager.battleMap.values())
{
2018-09-06 08:08:36 +00:00
if(e.update())
{
endedQueue.add(e.getId());
}
}
ended = endedQueue.poll();
while(ended != null)
{
manager.battleMap.remove(ended);
ended = endedQueue.poll();
}
try { Thread.sleep(250); } catch (Exception e) { /* ignored */ }
}
}
public void setIsRunning(boolean isRunning)
{
this.isRunning = isRunning;
}
}