summaryrefslogtreecommitdiff
path: root/NET/worlds/network/NetworkMulti.java
blob: 0b587fadcbc002dd0da5c41332e352dff32b324e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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);
      }
   }
}