/
codebase/
codebase/area/
codebase/doc/
codebase/etc/
codebase/src/net/sourceforge/pain/data/trigger/
codebase/src/net/sourceforge/pain/logic/
codebase/src/net/sourceforge/pain/logic/affect/
codebase/src/net/sourceforge/pain/logic/event/
codebase/src/net/sourceforge/pain/logic/event/deploy/
codebase/src/net/sourceforge/pain/logic/event/guitool/
codebase/src/net/sourceforge/pain/logic/event/guitool/event/
codebase/src/net/sourceforge/pain/logic/fn/util/
codebase/src/net/sourceforge/pain/logic/trigger/
codebase/src/net/sourceforge/pain/logic/trigger/impl/
codebase/src/net/sourceforge/pain/network/console/
codebase/src/net/sourceforge/pain/network/console/telnet/
codebase/src/net/sourceforge/pain/network/guitool/
codebase/src/net/sourceforge/pain/plugin/
codebase/src/net/sourceforge/pain/plugin/command/
codebase/src/net/sourceforge/pain/plugin/reset/
codebase/src/net/sourceforge/pain/plugin/shutdown/
codebase/src/net/sourceforge/pain/plugin/social/
codebase/src/net/sourceforge/pain/util/
db/doc/javadoc/resources/
db/src/net/sourceforge/pain/util/
gui/
gui/lib/
gui/src/net/sourceforge/pain/tools/guitool/dbbrowse/
gui/src/net/sourceforge/pain/tools/guitool/dialog/
gui/src/net/sourceforge/pain/tools/guitool/menu/
gui/src/net/sourceforge/pain/tools/guitool/resources/
gui/src/net/sourceforge/pain/tools/guitool/resources/images/
gui/src/net/sourceforge/pain/tools/guitool/resources/images/explorer/
tests/
tests/src/
tests/src/net/sourceforge/pain/db/data/
package net.sourceforge.pain.logic.event.console.command.builder;

import net.sourceforge.pain.*;
import net.sourceforge.pain.data.*;
import net.sourceforge.pain.data.prototype.*;
import net.sourceforge.pain.logic.event.console.*;
import net.sourceforge.pain.logic.fn.*;
import net.sourceforge.pain.network.console.*;

/**
 * PAiN  Date: 05.06.2003  Time: 1:40:02
 */
public final class BC_New extends BuilderCommand {

	public void processBuilderCommand(BuilderShell p, String args) throws Exception {
		if (args != null) {
			String params[] = new String[2];
			ConsoleInputEvent.parseCommand(args, params);
			if (params[1] != null) {
				PrototypesRegistry prototypesRegistry = Core.getWorld().getPrototypesRegistry();
				if (prototypesRegistry.isVnumInUse(params[0])) {
					MessageOutFn.outln(p.console, "Vnum is already in use:" + params[0]);
				} else {
					MessageOutFn.outln(p.console, "Prototype created vnum:" + params[0] + " name:" + params[1]);
					PrototypeInfo prototype = (PrototypeInfo) ObjectFactory.create(PrototypeInfo.class);
					prototype.setAuthor(p.console.getPlayer().getName());
					prototype.setName(params[1]);
					prototype.setDesc("NONE");
					prototype.setVnum(params[0]);
					prototypesRegistry.registerPrototype(prototype);
					p.builder.getEditedPrototypesList().add(prototype);
					p.builder.setEditedRole(prototype);
				}
				return;
			} else {
				showUsage(p.console);
			}
		} else {
			showUsage(p.console);
		}
	}

	public void showUsage(Console console) {
		MessageOutFn.outln(console, "NEW:Command syntax <VNUM> <PROTONAME>\n");
	}

	public void showHelp(Console console) {
		MessageOutFn.outln(console, "Builder command NEW creates new prototype object and adds it to edited prototypes list");
		MessageOutFn.outln(console, "Usage: new <VNUM> <PROTONAME>");
	}

}