<?php
abstract class MasterBot_Stream {
function __construct(){
$this->open_stdin();
}
function open_stdin(){
//define('STDIN',fopen('php://stdin','r'));
$this->stdin = fopen('php://stdin','r');
// we want to wait for input
//stream_set_blocking(STDIN,1);
}
function read_event(){
$data = fread($this->stdin, 8192);
if(!$data){
echo "No data\n";
return false;
}
}
function process_event_data($data){
$event = simplexml_load_string($data);
echo "Event: ",$v->getName(),"\n";
echo "Attributes: ",$v->attributes(),"\n\n";
}
function process_next_event($data){
$data = $this->process_event_data();
if(!$data) return false;
return $this->process_event_data($data);
}
// events
abstract function eventJoin();
abstract function eventQuit();
abstract function eventMessage();
abstract function eventSpawn();
abstract function eventKill();
abstract function eventScoreChange();
abstract function eventMove();
abstract function eventFlagGrab();
abstract function eventFlagDrop();
abstract function eventFlagEvaporate();
abstract function eventFlagSpawn();
abstract function eventFlagCapture();
abstract function eventTimerEnd();
// functions
function registerEvent(){
}
function deRegisterEvent(){
}
function sendMessage(){
}
function timerSet(){
}
function timerStart(){
}
function timerStop(){
}
function tankKill(){
}
function weaponFire(){
}
function weaponFire(){
}
}
$s = new MasterBot_Stream();
$s->process_next_event();
?>