/** (C) Game Page Network, Inc., Confidential, All Rights Reserved */
// ObserveCommand.java
// --paul@gamepage.net, 26jul97

import java.io.*;
import java.util.*;

public class ObserveCommand extends Command {
  ObserveCommand() {
    super("observe", 1, "TABLE",
          "Observe TABLE chat and game state.\n"+
          "See also: tables, open, join, start, reset.");
  }
  public void process(StringTokenizer args, Client c) {
    Member current = c.getMember();  
    OutputStreamWriter out = c.getWriter();
    String name = args.nextToken();
    Table table = Table.findIt(name);
    String error = "! observe "+name+": ";
    if (table==null) {
      c.send(error+"No such open table.");
      return;
    }
    if (current.isObserving(table) ) {
      c.send(error+"Already observing table.");
      return;
    }
    if (current.isPlayer(table) && table.isActive()) {
      c.send(error+"Need to first finish or resign the game.");
      return;
    }
    table.observe(current,true);
  }
}

