diff options
Diffstat (limited to 'NET/worlds/scape/ObjectPropertyAdder.java')
| -rw-r--r-- | NET/worlds/scape/ObjectPropertyAdder.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/NET/worlds/scape/ObjectPropertyAdder.java b/NET/worlds/scape/ObjectPropertyAdder.java new file mode 100644 index 0000000..3d9c13a --- /dev/null +++ b/NET/worlds/scape/ObjectPropertyAdder.java @@ -0,0 +1,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)); + } +} |