package commands.player import org.groovymud.shell.telnetd.ExtendedTerminalIO import org.groovymud.object.views.View /* Copyright 2008 Matthew Corby-Eaglen * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import org.groovymud.object.alive.Alive; import org.groovymud.object.registry.Registry import org.groovymud.object.MudObject import org.groovymud.object.room.Room import org.groovymud.object.Container import java.util.List import org.groovymud.object.views.*; import static org.groovymud.utils.WordUtils.depluralize def target = null def stream = source.getTerminalOutput() if(args == null || args.size() == 0){ target = source.getCurrentContainer(); }else{ argstr.minus("at") if(argstr.endsWith("me")){ target = source }else{ def item = argstr if(item.startsWith("in")){ item = argstr.minus("in") } if(target == null){ target = ((Container)source).getMudObjects(item); } if(target == null && item.charAt(item.size() - 1) == "s"){ depluralize(item) target = source.getMudObjects(item); } def container = source.getCurrentContainer() if(target == null || target.size() == 0){ target = container.getMudObjects(item); } if(target == null){ if(item in container.getShortNames() || item == container.getName()) { target = container } } } } if(target != null){ def item = args != null ? args[0] : null if(target instanceof Set){ target.each { obj -> View look = obj.getView(); look.writeLookHeader(source, obj); look.writeLookBody(source, obj); look.writeLookFooter(source,obj); } }else{ View look = target.getView() look.writeLookHeader(source, target); look.writeLookBody(source, target); look.writeLookFooter(source,target); } }else{ stream.writeln("You cannot see any ${args[0]} here"); }