1 /*
2  *  CVS: $Id: Help.java,v 1.7 2004/07/25 21:40:55 marcus Exp $
3  * 
4  *  This file is part of JZuul.
5  *
6  *  JZuul is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation; either version 2 of the License, or
9  *  (at your option) any later version.
10 *
11 *  JZuul is distributed in the hope that it will be useful,
12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 *  GNU General Public License for more details.
15 *
16 *  You should have received a copy of the GNU General Public License
17 *  along with Zuul; if not, write to the Free Software
18 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19 * 
20 *  Copyrigth 2004 by marcus, leh
21 * 
22 */
23
24package org.jzuul.engine.commands;
25
26
27
28import java.text.MessageFormat;
29
30import org.jzuul.engine.*;
31import org.jzuul.engine.Engine;
32
33/**
34 * 
35 */
36public class Help extends Command {
37
38    public Help() {
39        super();
40        this.name = "help"; //$NON-NLS-1$
41        this.arguments = -1;
42        this.desc = Messages.getString("HELP_HELP"); //$NON-NLS-1$
43        this.gameAction = false;
44    }
45
46    protected boolean action() {
47        if (args.length == 0) {
48          Engine.gui.println(Messages.getString("HELP_START_MSG")); //$NON-NLS-1$
49          Engine.gui.println();
50          Engine.gui.println(Messages.getString("HELP_COMMAND_LIST_MSG")); //$NON-NLS-1$
51          Engine.gui.println("   " + Engine.commands.keySet().toString()); //$NON-NLS-1$
52          Engine.gui.println();
53          Engine.gui.println(Messages.getString("HELP_DETAIL_MSG")); //$NON-NLS-1$
54          return true;
55        }
56        if (args.length == 1) {
57            Object[] formatArgs = { args[0] };
58            if (Engine.commands.containsKey(args[0])) {
59                ((Command)Engine.commands.get(args[0])).help();
60            } else {
61                Engine.gui.println(MessageFormat.format(Messages.getString("HELP_ERROR_MSG"),formatArgs)); //$NON-NLS-1$
62            }
63            return true;
64        }
65        this.help();
66        return false;
67        }
68        
69        public void help() {
70            super.help();
71            Engine.gui.println(Messages.getString("HELP_HELP_USAGE")); //$NON-NLS-1$
72        }
73        
74
75}
76