Exemplo n.º 1
0
 public function Encode(CodeEngine &$buf)
 {
     $buf->EncodeInt32($this->BitMap)->EncodeInt32($this->MinPoint)->EncodeInt32($this->MaxPointGap)->EncodeInt8($this->MaxOfflineRate)->EncodeInt8($this->IPBit)->EncodeInt8($this->OtherSize);
     for ($i = 0; $i < $this->OtherSize; $i++) {
         $buf->EncodeInt32($this->Others[$i]);
     }
     $length = 4 + 4 + 4 + 1 * 3 + 4 * $this->OtherSize;
     return $length;
 }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
 public function Encode(CodeEngine &$buf)
 {
     $buf->EncodeInt8($this->DataType);
     switch ($this->DataType) {
         case QunPlayerDataType::QPD_Type_Charming:
             $buf->EncodeInt32($this->Charming->DeltaValue)->EncodeInt32($this->Charming->CurrentValue);
             break;
         case QunPlayerDataType::QPD_Type_Achievement:
             $buf->EncodeInt32($this->Achievement->DeltaValue)->EncodeInt32($this->Achievement->CurrentValue);
             break;
         case QunPlayerDataType::QPD_Type_Money:
             $buf->EncodeInt32($this->Money->DeltaValue)->EncodeInt32($this->Money->DeltaValue);
             break;
         case QunPlayerDataType::QPD_Type_HappyBean:
             $buf->EncodeInt64($this->HappyBean->DeltaValue)->EncodeInt64($this->HappyBean->CurrentValue);
             break;
         case QunPlayerDataType::QPD_Type_GameResultChange:
             $buf->EncodeInt32($this->GameResultChange->DeltaGamePoint)->EncodeInt32($this->GameResultChange->DeltaWinRound)->EncodeInt32($this->GameResultChange->DeltaLossRound)->EncodeInt32($this->GameResultChange->DeltaDrawRound)->EncodeInt32($this->GameResultChange->DeltaEscapeRound)->EncodeInt32($this->GameResultChange->DeltaCostTime)->EncodeInt32($this->GameResultChange->GamePoint)->EncodeInt32($this->GameResultChange->WinRound)->EncodeInt32($this->GameResultChange->LossRound)->EncodeInt32($this->GameResultChange->DrawRound)->EncodeInt32($this->GameResultChange->EscapeRound)->EncodeInt32($this->GameResultChange->CostTime);
             break;
     }
 }
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 6
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;
 }
Exemplo n.º 7
0
 public function Encode(CodeEngine &$buf)
 {
     $buf->EncodeInt8($this->DataType);
     switch ($this->DataType) {
         case PlayCommandDataType::PCD_Charming:
             $buf->EncodeInt32($this->DataValue->Charming);
             break;
         case PlayCommandDataType::PCD_Achievement:
             $buf->EncodeInt32($this->DataValue->Achievement);
             break;
         case PlayCommandDataType::PCD_PunishMethod:
             $buf->EncodeString($this->DataValue->Punish->ValidDate)->EncodeInt8($this->DataValue->Punish->BlackLevel)->EncodeInt16($this->DataValue->Punish->PunishMethod)->EncodeString($this->DataValue->Punish->DescString);
             break;
         case PlayCommandDataType::PCD_OtherData:
             $buf->EncodeInt8($this->DataValue->OtherData->OtherDataIndex)->EncodeInt8($this->DataValue->OtherData->UpdateMode)->EncodeInt8($this->DataValue->OtherData->OtherDataValue);
             break;
         case PlayCommandDataType::PCD_LoginCount:
             $buf->EncodeInt32($this->DataValue->LoginCount);
             break;
         case PlayCommandDataType::PCD_LastLoginTime:
             $buf->EncodeInt32($this->DataValue->LastLoginTime);
             break;
         case PlayCommandDataType::PCD_LastLoginIP:
             $buf->EncodeInt32($this->DataValue->LastLoginIP);
             break;
         case PlayCommandDataType::PCD_WebQunData:
             $buf->EncodeInt32($this->DataValue->WebQunData->DataSize)->EncodeMemory($this->DataValue->WebQunData->WebQunInfo, $this->DataValue->WebQunData->DataSize);
             break;
         case PlayCommandDataType::PCD_VipData:
             $this->DataValue->VipData->Encode($buf);
             break;
         case PlayCommandDataType::PCD_IdCard:
             $buf->EncodeString($this->DataValue->IDCard);
             break;
         case PlayCommandDataType::PCD_Sex:
             $buf->EncodeInt8($this->DataValue->Sex);
             break;
         case PlayCommandDataType::PCD_Birthday:
             $buf->EncodeInt16($this->DataValue->BirThday->Year)->EncodeInt16($this->DataValue->BirThday->Month)->EncodeInt16($this->DataValue->BirThday->Day);
             break;
         default:
             break;
     }
     return $buf;
 }
Exemplo n.º 8
0
 public function encode_item_info2(CodeEngine &$buf, ItemInfo2 $ii)
 {
     $buf->EncodeInt32($ii->ItemID)->EncodeInt32($ii->Count)->EncodeInt32($ii->ExpiredTime);
 }