New TextPacket, second part!

This commit is contained in:
Shoghi Cervantes
2015-03-19 20:27:51 +01:00
parent 2c59983672
commit 62ba36b474
4 changed files with 56 additions and 22 deletions

View File

@ -28,6 +28,10 @@ class TextPacket extends DataPacket{
public static $pool = [];
public static $next = 0;
const TYPE_RAW = 0;
const TYPE_CHAT = 1;
const TYPE_TRANSLATION = 2;
public $type;
public $source;
public $message;
@ -39,15 +43,39 @@ class TextPacket extends DataPacket{
public function decode(){
$this->type = $this->getByte();
$this->source = $this->getString();
$this->message = $this->getString();
switch($this->type){
case self::TYPE_CHAT:
$this->source = $this->getString();
case self::TYPE_RAW:
$this->message = $this->getString();
break;
case self::TYPE_TRANSLATION:
$this->message = $this->getString();
$count = $this->getByte();
for($i = 0; $i < $count; ++$count){
$this->parameters[] = $this->getString();
}
}
}
public function encode(){
$this->reset();
$this->putByte($this->type);
$this->putString($this->source);
$this->putString($this->message);
switch($this->type){
case self::TYPE_CHAT:
$this->putString($this->source);
case self::TYPE_RAW:
$this->putString($this->message);
break;
case self::TYPE_TRANSLATION:
$this->putString($this->message);
$this->putByte(count($this->parameters));
foreach($this->parameters as $p){
$this->putString($p);
}
}
}
}