summaryrefslogtreecommitdiff
path: root/NET/worlds/network/ObjectMgr.java
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-02-12 22:33:32 -0800
committerFuwn <[email protected]>2026-02-12 22:33:32 -0800
commitc7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9 (patch)
treedf9f48bf128a6c0186a8e91857d6ff30fe0e9f18 /NET/worlds/network/ObjectMgr.java
downloadworldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.tar.xz
worldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.zip
Initial commit
Diffstat (limited to 'NET/worlds/network/ObjectMgr.java')
-rw-r--r--NET/worlds/network/ObjectMgr.java70
1 files changed, 70 insertions, 0 deletions
diff --git a/NET/worlds/network/ObjectMgr.java b/NET/worlds/network/ObjectMgr.java
new file mode 100644
index 0000000..31846c9
--- /dev/null
+++ b/NET/worlds/network/ObjectMgr.java
@@ -0,0 +1,70 @@
+package NET.worlds.network;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+
+class ObjectMgr {
+ private Hashtable<String, NetworkObject> nFlongID = new Hashtable<String, NetworkObject>();
+ private Hashtable<Integer, String> lFshortID = new Hashtable<Integer, String>();
+ private Galaxy _galaxy;
+
+ ObjectMgr(Galaxy galaxy) {
+ this._galaxy = galaxy;
+ }
+
+ void regShortID(int shortID, String longID) {
+ this.lFshortID.put(new Integer(shortID), longID);
+ }
+
+ void regObject(String longID, NetworkObject obj) {
+ this.nFlongID.put(longID, obj);
+ }
+
+ void regObject(ObjID objID, NetworkObject obj) {
+ String longID = this.getLongID(objID);
+ this.nFlongID.put(longID, obj);
+ }
+
+ NetworkObject getObject(ObjID objID) {
+ String longID = this.getLongID(objID);
+ NetworkObject obj = this.nFlongID.get(longID);
+ if (obj == null) {
+ assert this._galaxy != null;
+
+ obj = this._galaxy.getObject(longID);
+ }
+
+ return obj;
+ }
+
+ void delObject(ObjID objID) {
+ String longID = this.getLongID(objID);
+ NetworkObject obj = this.nFlongID.get(longID);
+
+ assert obj != null;
+
+ this.nFlongID.remove(longID);
+ }
+
+ Enumeration<NetworkObject> objects() {
+ return this.nFlongID.elements();
+ }
+
+ void clear() {
+ this.nFlongID.clear();
+ this.nFlongID = new Hashtable<String, NetworkObject>();
+ this.lFshortID.clear();
+ this.lFshortID = new Hashtable<Integer, String>();
+ }
+
+ final String getLongID(ObjID objID) {
+ String longID;
+ if (objID.shortID() != 0) {
+ longID = this.lFshortID.get(new Integer(objID.shortID()));
+ } else {
+ longID = objID.longID();
+ }
+
+ return longID;
+ }
+}