package com.server;

import com.common.*;
import com.server.controller.*;

import java.nio.*;
import java.nio.channels.*;
import java.util.*;
import java.net.*;
import java.io.*;

public class SWARMTestServer 
{
    static GameServer gs;
    public static void main(String args[]) 
    {
        SWARMTestServer sts = new SWARMTestServer();
	gs = new GameServer(sts);
	gs.start();
    }

    public void HandleBearingUpdate(float _bearing, String _client)
    {
      System.out.print("ReceivedBearingUpdate: "+_bearing+"From"+_client+"\n");
    }
    public void HandleSpeedUpdate(float _speed, String _client)
    {
      System.out.print("ReceivedSpeedUpdate: "+_speed+"From"+_client+"\n");
      this.SendUpdate();
    }
    public void HandleTurningRateUpdate(float _rate, String _client)
    {
      System.out.print("ReceivedTurningRateUpdate: "+_rate+"From"+_client+"\n");
    }
    public void HandleConnect(int _boatType, String _client)
    {
      System.out.print("Received Connect of type: "+_boatType+" From: "+_client+"\n");

    }
    public void HandleDisconnect(String _client)
    {
      System.out.print(_client+" wants to disconnect\n");

    }

    public void SendUpdate()
    {
      System.out.print("SWARMTestServer::SendUpdate\n");
      EntityState es[];
      es  = new EntityState[2];
      es[0] = new EntityState ();
      es[0].setBearing(54);
      es[0].setId("JJJJJJJJ");
      es[0].setSpeed(2222);
      es[0].setXcoord(38);
      es[0].setYcoord(332);
      es[0].setIsAlive(1);

      es[1] = new EntityState ();
      es[1].setBearing(154);
      es[1].setId("1JJJJJJJJ");
      es[1].setSpeed(12222);
      es[1].setXcoord(138);
      es[1].setYcoord(1332);
      es[1].setIsAlive(11);


      GameEventDefault event = new GameEventDefault(GameEventDefault.S_UPDATE,
                                      2,es);
      System.out.print ("About to get gamecontroller\n");      
      GameController gc = gs.getGameController("SWARM");
      if (gc == null) 
      {
        System.out.print("Cannot find game controller\n");
          return;
      }
      System.out.print("Got Game Controller\n");
                              
      gc.sendEvent(event, "wagon");

    }

}
