city.isDestroyed

This commit is contained in:
2024-08-25 17:11:01 -04:00
parent 20c032fa4d
commit 668b61b734
+9 -3
View File
@@ -41,6 +41,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.ReentrantReadWriteLock;
public class City extends AbstractWorldObject {
@@ -80,6 +81,7 @@ public class City extends AbstractWorldObject {
private String hash;
public Warehouse warehouse;
public Realm realm;
public AtomicBoolean isDestroyed = new AtomicBoolean(false);
/**
* ResultSet Constructor
@@ -1102,10 +1104,14 @@ public class City extends AbstractWorldObject {
public final void destroy() {
Thread destroyCityThread = new Thread(new DestroyCityThread(this));
if (this.isDestroyed.compareAndSet(false, true)) {
destroyCityThread.setName("destroyCity:" + this.getParent().zoneName);
destroyCityThread.start();
Thread destroyCityThread = new Thread(new DestroyCityThread(this));
destroyCityThread.setName("destroyCity:" + this.getParent().zoneName);
destroyCityThread.start();
} else
Logger.error("Attempt to destroy destroyed city");
}
public final void transfer(AbstractCharacter newOwner) {