Exemple #1
0
 public function Encode(CodeEngine &$buf)
 {
     #$UnitSize = 2 + 4 + 4 + 2 + strlen($this->Message);
     //unit size 不包含自身的2个字节
     $UnitSize = 4 + 4 + 2 + strlen($this->Message);
     $buf->EncodeInt16($UnitSize)->EncodeInt32($this->LowVersion)->EncodeInt32($this->HighVersion)->EncodeInt16($this->Size);
     if ($this->Size > strlen($this->Message)) {
         $this->Size = strlen($this->Message);
     }
     $buf->EncodeMemory($this->Message, $this->Size);
     return $UnitSize;
 }
Exemple #2
0
 public function Encode(CodeEngine &$buf)
 {
     # 计算长度
     $length = 2 + 4 * max_game_ext_int_count + 2 + strlen($this->ExtData);
     $buf->EncodeInt16($length);
     for ($i = 0; $i < max_game_ext_int_count; $i++) {
         $buf->EncodeInt32($this->ExtInt[$i]);
     }
     $buf->EncodeInt16($this->ExtDataSize);
     if ($this->ExtDataSize > 0) {
         $buf->EncodeMemory($this->ExtData, $this->ExtDataSize);
     }
     return $length;
 }