예제 #1
0
string CreatureEditor::edit(vector<string> args)
{
	if(args.size() < 2)
	{
		return "What do you want to edit?";
	}
	string editNoun = args[1];
	toLower(&editNoun);

	if(editNoun == STR_NAME)
	{
		return set(args);

	}
	else if(editNoun == STR_DESCRIPTION || editNoun == STR_DESC)
	{
		TextEditor ed;
		creature->description = ed.edit("Editing Description For Creature:"+creature->getPrimaryName(),creature->description);
		clearWindows();
		resetWindows();
		return "";
	}
	else
	{
		return "I don't know how to edit that";
	}
}
예제 #2
0
string RoomEditor::edit(vector<string> args)
{
	if(args.size() < 2)
	{
		return "What do you want to edit?";
	}
	string editNoun = args[1];
	toLower(&editNoun);

	if(editNoun == STR_NAME)
	{
		return set(args);
	}
	else if(editNoun == STR_DESCRIPTION || editNoun == STR_DESC)
	{
		TextEditor ed;
		room->description = ed.edit("Description For Room:"+room->getPrimaryName(),room->description);
	}
	else if(editNoun == STR_OBJECT)
	{
		if(args.size() <3)
		{
			return "Which object do you want to edit?";
		}
		string objStr = join(2,args," ");
		DungeonObject *o = (DungeonObject*)extractEntity(&room->objects,&objStr);
		if(o != nullptr)
		{
			ObjectEditor ed;
			ed.load(o);
		}
		else
		{
			return "I don't see that here.";
		}
	}
	else if(editNoun == STR_CREATURE)
	{
		if(args.size() <3)
		{
			return "Which creature do you want to edit?";
		}
		string creatureStr = join(2,args," ");
		DungeonCreature *c = (DungeonCreature*)extractEntity(&room->creatures,&creatureStr);
		if(c != nullptr)
		{
			CreatureEditor ed;
			ed.load(c);
		}
		else
		{
			return "I don't see that here.";
		}
	}
	else if(editNoun == STR_EXIT)
	{
		if(args.size() <3)
		{
			return "Which exit do you want to edit?";
		}
		string exitStr = join(2,args," ");
		DungeonExit *e = (DungeonExit*)extractEntity(&room->exits,&exitStr);		
		if(e != nullptr)
		{
			ExitEditor ed;
			DungeonRoom* newRoom = ed.load(e);
			if(newRoom != nullptr)
			{
				room = newRoom;
			}
		}
		else
		{
			return "I don't see that here.";
		}
	}
	else
	{
		return "I don't know how to edit that";
	}
	clearWindows();
	resetWindows();
	return "";
}