summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/ObjectPropertyAdder.java
blob: 3d9c13a683c7f46fda5c9d506b6b5178bec52b09 (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
package NET.worlds.scape;

import NET.worlds.console.PolledDialog;

public class ObjectPropertyAdder extends PropAdder {
   SuperRoot root;
   Class clas;

   private ObjectPropertyAdder(VectorProperty property, SuperRoot r, Class clas) {
      super(property);
      this.root = r;
      this.clas = clas;
   }

   @Override
   public boolean hasAddDialog() {
      return true;
   }

   @Override
   public PolledDialog add(EditTile parent, String title) {
      return new ObjectAdderDialog(parent, title, this.property, this.root, this.clas);
   }

   public static VectorProperty make(VectorProperty property, SuperRoot r, Class clas) {
      return property.setAdder(new ObjectPropertyAdder(property, r, clas));
   }

   public static VectorProperty make(VectorProperty property, SuperRoot r, String clas) {
      Class c = null;

      try {
         c = Class.forName(clas);
      } catch (ClassNotFoundException var5) {
         System.out.println("Couldn't find " + clas);

         assert false;
      }

      return property.setAdder(new ObjectPropertyAdder(property, r, c));
   }
}