/
area/
classes/net/sourceforge/pain/logic/
classes/net/sourceforge/pain/logic/event/
classes/net/sourceforge/pain/logic/fn/util/
classes/net/sourceforge/pain/network/console/
classes/net/sourceforge/pain/plugin/
classes/net/sourceforge/pain/plugin/reset/
classes/net/sourceforge/pain/plugin/shutdown/
classes/net/sourceforge/pain/plugin/social/
classest/net/sourceforge/pain/db/data/
doc/
doc/paindb/resources/
src/net/sourceforge/pain/logic/
src/net/sourceforge/pain/logic/event/
src/net/sourceforge/pain/logic/fn/util/
src/net/sourceforge/pain/network/console/
src/net/sourceforge/pain/network/console/telnet/
src/net/sourceforge/pain/plugin/
src/net/sourceforge/pain/plugin/command/
src/net/sourceforge/pain/plugin/reset/
src/net/sourceforge/pain/plugin/shutdown/
src/net/sourceforge/pain/plugin/social/
src/net/sourceforge/pain/util/
tests/
tests/net/sourceforge/pain/db/data/
package net.sourceforge.pain.logic.event.console.command.builder;

import net.sourceforge.pain.data.type.*;
import net.sourceforge.pain.logic.fn.*;
import net.sourceforge.pain.logic.fn.util.*;
import net.sourceforge.pain.network.console.*;

import java.util.*;

public final class BC_Exitname extends BuilderCommand {

	public void processBuilderCommand(BuilderShell p, String args) throws Exception {
		Space space = p.player.asLocated().getLocation();
		LinkedSpace link = (LinkedSpace) space.getRole(LinkedSpace.class);
		if (args != null) {
			StringTokenizer st = new StringTokenizer(args, " ");
			String directionStr = st.nextToken();
			String desc = st.hasMoreTokens() ? st.nextToken("\n").trim() : null;
			if (desc == null) {
				showUsage(p.console);
				return;
			}
			if (directionStr.length() != 1) {
				MessageOutFn.outln(p.console, "ERROR:Illegal direction:" + directionStr);
				return;
			}
			int dir;
			try {
				dir = Utils.exitCharToDir(directionStr.charAt(0));
			} catch (Exception e) {
				MessageOutFn.outln(p.console, "ERROR:Illegal direction:" + directionStr);
				return;
			}
			Exit e = link == null ? null : link.getExit(dir);
			if (e == null) {
				MessageOutFn.outln(p.console, "ERROR:No exit found:" + LangUtil.exitName[dir]);
				return;
			}
			e.setExitDesc(desc);
			MessageOutFn.outln(p.console, "Exit desc changed to:{c" + desc + "{x");
		}
	}

	public void showUsage(Console console) {
		MessageOutFn.outln(console, "EXITNAME:Command syntax <DIRECTION> <EXIT_DESC>\n");
	}

	public void showHelp(Console console) {
		MessageOutFn.outln(console, "Builder command EXITNAME assign description for exit.");
		MessageOutFn.outln(console, "Usage: exitname <DIRECTION>  <EXIT_DESC>");
		MessageOutFn.outln(console, "{wDIRECTION{x is a letter from (N,E,S,W,U,D)");
	}

}