summaryrefslogtreecommitdiff
path: root/NET/worlds/network/NetworkMulti.java
diff options
context:
space:
mode:
Diffstat (limited to 'NET/worlds/network/NetworkMulti.java')
-rw-r--r--NET/worlds/network/NetworkMulti.java106
1 files changed, 106 insertions, 0 deletions
diff --git a/NET/worlds/network/NetworkMulti.java b/NET/worlds/network/NetworkMulti.java
new file mode 100644
index 0000000..0b587fa
--- /dev/null
+++ b/NET/worlds/network/NetworkMulti.java
@@ -0,0 +1,106 @@
+package NET.worlds.network;
+
+import java.util.Enumeration;
+import java.util.Vector;
+
+public class NetworkMulti implements NetworkObject {
+ String _longID;
+ Vector<NetworkObject> _list;
+ Galaxy _galaxy;
+
+ public NetworkMulti(String longID, Galaxy g) {
+ this._longID = longID;
+ this._list = new Vector<NetworkObject>();
+ this._galaxy = g;
+ this.register();
+ }
+
+ public NetworkMulti(String longID, NetworkMulti oldObj, Galaxy g) {
+ this._longID = longID;
+ this._list = oldObj.getList();
+ this._galaxy = g;
+ this.register();
+ }
+
+ Vector<NetworkObject> getList() {
+ return this._list;
+ }
+
+ @Override
+ public String getLongID() {
+ return this._longID;
+ }
+
+ @Override
+ public WorldServer getServer() {
+ assert false;
+
+ return null;
+ }
+
+ public Enumeration<NetworkObject> elements() {
+ return this._list.elements();
+ }
+
+ void addObject(NetworkObject obj) {
+ this._list.addElement(obj);
+ }
+
+ void delObject(NetworkObject obj) {
+ boolean exists = this._list.removeElement(obj);
+ if (!exists) {
+ System.out.println("Error - network object doesn't exist.");
+ System.out.println(" obj = " + obj);
+ System.out.println(" longID = " + this._longID);
+ System.out.println(" galaxy = " + this._galaxy);
+ System.out.println(" size(list) = " + this._list.size());
+ }
+
+ assert exists;
+ }
+
+ @Override
+ public void property(OldPropertyList propList) {
+ for (int i = this._list.size() - 1; i >= 0; i--) {
+ NetworkObject obj = this._list.elementAt(i);
+ obj.property(propList);
+ }
+ }
+
+ @Override
+ public void propertyUpdate(PropertyList propList) {
+ for (int i = this._list.size() - 1; i >= 0; i--) {
+ NetworkObject obj = this._list.elementAt(i);
+ obj.propertyUpdate(propList);
+ }
+ }
+
+ @Override
+ public void register() {
+ this._galaxy.regObject(this._longID, this);
+ }
+
+ @Override
+ public void galaxyDisconnected() {
+ for (int i = this._list.size() - 1; i >= 0; i--) {
+ NetworkObject obj = this._list.elementAt(i);
+ obj.galaxyDisconnected();
+ }
+ }
+
+ @Override
+ public void reacquireServer(WorldServer oldServ) {
+ for (int i = this._list.size() - 1; i >= 0; i--) {
+ NetworkObject obj = this._list.elementAt(i);
+ obj.reacquireServer(oldServ);
+ }
+ }
+
+ @Override
+ public void changeChannel(Galaxy g, String oldChannel, String newChannel) {
+ for (int i = this._list.size() - 1; i >= 0; i--) {
+ NetworkObject obj = this._list.elementAt(i);
+ obj.changeChannel(g, oldChannel, newChannel);
+ }
+ }
+}