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; }
public function Encode(CodeEngine &$buf) { $length = 2 * 3 + 1 + 4 * 7 + $this->ExtGameInfo->getLength() + $this->GameConfig->getLength(); $buf->EncodeInt16($length)->EncodeInt16($this->GameID)->EncodeInt8($this->Level)->EncodeInt32($this->Point)->EncodeInt32($this->WinRound)->EncodeInt32($this->LoseRound)->EncodeInt32($this->DrawRound)->EncodeInt32($this->EscapeRound)->EncodeInt32($this->OrgID)->EncodeInt16($this->Position)->EncodeInt32($this->TotalSecs)->EncodeString($this->LastDate); $this->ExtGameInfo->Encode($buf); $this->GameConfig->Encode($buf); }
public function Encode(CodeEngine &$buf) { $buf->EncodeInt8($this->DataType); switch ($this->DataType) { case PlayerActionDataType::PAD_TYPE_LOGIN: $buf->EncodeInt32($this->DataValue->LoginCount); $buf->EncodeInt16($this->DataValue->HallServerId); $buf->EncodeInt32($this->DataValue->HallPlayerId); break; } }
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; }
public function Encode(CodeEngine &$buf, $BecomeVIPTime = null) { $len = 0; if (!is_null($BecomeVIPTime)) { $len += 4; } $len += 2 + 4 + 4 + 4 + 4 + strlen($this->VIPTips) + 4; $buf->EncodeInt16($len)->EncodeInt32($this->GameVipExpireTime)->EncodeInt32($this->GameVIPScore)->EncodeInt32($this->GameVIPLevel)->EncodeInt32($this->NextUpdateVIPLevelTime)->EncodeString($this->VIPTips)->EncodeInt32($this->GameVIPType); if (!is_null($BecomeVIPTime)) { $buf->EncodeInt32($BecomeVIPTime); } return $len; }
public function Encode(CodeEngine &$buf) { # 模拟编码VipData 获得长度 $ttemp = new CodeEngine(); $len = 13 * 4 + 8 + 1 + strlen($this->ValidDate) + strlen($this->LastLoginDate) + strlen($this->LastConsumeDate) + strlen($this->DescString) + strlen($this->LastLoginDate) + 4 * count($this->Others) + $this->WebQunData->DataSize + $this->VipData->Encode($ttemp); # 目的就是为了得到长度 $buf->EncodeInt16($len)->EncodeInt32($this->Coin)->EncodeInt32($this->LoginCount)->EncodeInt32($this->OfflineCount)->EncodeInt32($this->Charming)->EncodeInt32($this->Achievement)->EncodeInt64($this->HappyBean)->EncodeInt32($this->BlackLevel)->EncodeString($this->ValidDate)->EncodeInt32($this->PunishMethod)->EncodeString($this->LastLoginDate)->EncodeInt32($this->LastLoginIP)->EncodeString($this->DescString)->EncodeString($this->LastConsumeDate)->EncodeInt32($this->MiscFlag)->EncodeInt32($this->HappyBean_Daily_PresentedCount)->EncodeInt32($this->HappyBean_Daily_LastPresentedTime)->EncodeInt16($this->WebQunData->DataSize)->EncodeMemory($this->WebQunData->WebQunInfo, $this->WebQunData->DataSize); for ($i = 0; $i < count($this->Others); $i++) { $buf->EncodeInt32($this->Others[$i]); } $buf->EncodeInt32($this->FirstLoginDatetime); $this->VipData->Encode($buf); $buf->EncodeInt32($this->IDCard)->EncodeInt8($this->Sex)->EncodeInt16($this->BirThday->Year)->EncodeInt16($this->BirThday->Month)->EncodeInt16($this->BirThday->Day); }
public function Encode(CodeEngine &$buf) { $buf->EncodeInt16(2 + 4 + 4 + 4)->EncodeInt32($this->ServiceID)->EncodeInt32($this->TimeChg)->EncodeInt32($this->ExpireTime); }
public static function encode_item_info(CodeEngine &$buf, ItemInfo $ii) { $buf->EncodeInt16(2 + 4 + 2 + 4 + 2 + 4 + 1)->EncodeInt32($ii->ItemID)->EncodeInt16($ii->ItemType)->EncodeInt32($ii->Count)->EncodeInt16($ii->GameID)->EncodeInt32($ii->ExpiredTime)->EncodeInt8($ii->UpdateMode); }
public function Encode(CodeEngine &$buf) { $buf->EncodeInt16($this->getLength())->EncodeInt16($this->ExtIndex)->EncodeInt8($this->UpdateMode)->EncodeInt32($this->ExtVal); return $this; }
public static function encode_goods_info(CodeEngine &$buf, GoodsInfo $gi) { # 首先先是总共的字段长度,然后再加上所有的其他参数 $buf->EncodeInt16(2 + 4 + 4 + 4)->EncodeInt32($gi->GoodsID)->EncodeInt32($gi->Count)->EncodeInt32($gi->Price); }