예제 #1
0
        public override void Encode(ChecksumEncoder encoder)
        {
            ByteStreamHelper.WriteDataReference(encoder, this.m_newUnitData);
            ByteStreamHelper.WriteDataReference(encoder, this.m_oldUnitData);

            base.Encode(encoder);
        }
        public override void Decode(ByteStream stream)
        {
            this.m_buyResourceData  = (LogicResourceData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.RESOURCE);
            this.m_buyResourceCount = stream.ReadVInt();

            base.Decode(stream);
        }
        public override void Encode(ChecksumEncoder encoder)
        {
            ByteStreamHelper.WriteDataReference(encoder, this.m_buyResourceData);
            encoder.WriteVInt(this.m_buyResourceCount);

            base.Encode(encoder);
        }
        public override void Encode(ByteStream stream)
        {
            stream.WriteVInt((int)this.StateType);

            switch (this.StateType)
            {
            case GameStateType.HOME:
                stream.WriteVInt(this.LayoutId);
                stream.WriteVInt(this.MapId);
                break;

            case GameStateType.NPC_ATTACK:
            case GameStateType.NPC_DUEL:
                ByteStreamHelper.WriteDataReference(stream, this.NpcData);
                break;

            case GameStateType.VISIT:
                stream.WriteLong(this.HomeId);
                stream.WriteVInt(this.VisitType);
                break;

            case GameStateType.CHALLENGE_ATTACK:
                stream.WriteLong(this.ChallengeHomeId);
                stream.WriteLong(this.ChallengeStreamId);
                stream.WriteLong(this.ChallengeAllianceId);
                stream.WriteBytes(this.ChallengeHomeJSON, this.ChallengeHomeJSON.Length);
                stream.WriteVInt(this.ChallengeMapId);
                break;
            }
        }
예제 #5
0
 public override void Encode(ChecksumEncoder encoder)
 {
     encoder.WriteInt(this.m_x);
     encoder.WriteInt(this.m_y);
     ByteStreamHelper.WriteDataReference(encoder, this.m_buildingData);
     base.Encode(encoder);
 }
예제 #6
0
        public override void Decode(ByteStream stream)
        {
            this.m_newUnitData = (LogicCharacterData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.CHARACTER);
            this.m_oldUnitData = (LogicCharacterData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.CHARACTER);

            base.Decode(stream);
        }
예제 #7
0
        public override void Encode()
        {
            base.Encode();

            this.m_stream.WriteLong(this.m_accountId);
            this.m_stream.WriteString(this.m_passToken);
            this.m_stream.WriteInt(this.m_clientMajorVersion);
            this.m_stream.WriteInt(0);
            this.m_stream.WriteInt(this.m_clientBuildVersion);
            this.m_stream.WriteString(this.m_resourceSha);
            this.m_stream.WriteString(this.m_udid);
            this.m_stream.WriteString(this.m_openUDID);
            this.m_stream.WriteString(this.m_macAddress);
            this.m_stream.WriteString(this.m_device);
            ByteStreamHelper.WriteDataReference(this.m_stream, this.m_preferredLanguage);
            this.m_stream.WriteString(this.m_preferredDeviceLanguage);
            this.m_stream.WriteString(this.m_adid);
            this.m_stream.WriteString(this.m_osVersion);
            this.m_stream.WriteBoolean(this.m_androidClient);
            this.m_stream.WriteStringReference(this.m_imei);
            this.m_stream.WriteStringReference(this.m_androidId);
            this.m_stream.WriteStringReference("");
            this.m_stream.WriteBoolean(false);
            this.m_stream.WriteString("");
            this.m_stream.WriteInt(this.m_scramblerSeed);
            this.m_stream.WriteVInt(this.m_appStore);
            this.m_stream.WriteStringReference(string.Empty);
            this.m_stream.WriteStringReference(string.Empty);
            this.m_stream.WriteStringReference(this.m_appVersion);
            this.m_stream.WriteStringReference(this.m_kunlunSSO);
            this.m_stream.WriteStringReference(this.m_kunlunUserId);
            this.m_stream.WriteVInt(0);
        }
        public override void Decode(ByteStream stream)
        {
            this.StateType = (GameStateType)stream.ReadVInt();

            switch (this.StateType)
            {
            case GameStateType.HOME:
                this.LayoutId = stream.ReadVInt();
                this.MapId    = stream.ReadVInt();
                break;

            case GameStateType.NPC_ATTACK:
            case GameStateType.NPC_DUEL:
                this.NpcData = (LogicNpcData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.NPC);
                break;

            case GameStateType.VISIT:
                this.HomeId    = stream.ReadLong();
                this.VisitType = stream.ReadVInt();
                break;

            case GameStateType.CHALLENGE_ATTACK:
                this.ChallengeHomeId     = stream.ReadLong();
                this.ChallengeStreamId   = stream.ReadLong();
                this.ChallengeAllianceId = stream.ReadLong();
                this.ChallengeHomeJSON   = stream.ReadBytes(stream.ReadBytesLength(), 900000);
                this.ChallengeMapId      = stream.ReadVInt();
                break;
            }
        }
예제 #9
0
 public override void Decode(ByteStream stream)
 {
     this.m_x            = stream.ReadInt();
     this.m_y            = stream.ReadInt();
     this.m_buildingData = (LogicBuildingData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.BUILDING);
     base.Decode(stream);
 }
예제 #10
0
        public override void Encode(ChecksumEncoder encoder)
        {
            encoder.WriteLong(this.m_streamId);
            ByteStreamHelper.WriteDataReference(encoder, this.m_unitData);
            encoder.WriteBoolean(this.m_quickDonate);

            base.Encode(encoder);
        }
예제 #11
0
        public override void Decode(ByteStream stream)
        {
            this.m_streamId    = stream.ReadLong();
            this.m_unitData    = ByteStreamHelper.ReadDataReference(stream) as LogicCombatItemData;
            this.m_quickDonate = stream.ReadBoolean();

            base.Decode(stream);
        }
        public override void Decode(ByteStream stream)
        {
            this.m_x    = stream.ReadInt();
            this.m_y    = stream.ReadInt();
            this.m_data = (LogicHeroData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.HERO);

            base.Decode(stream);
        }
        public override void Decode(ByteStream stream)
        {
            this.m_streamId    = stream.ReadLong();
            this.m_unitData    = (LogicCombatItemData)ByteStreamHelper.ReadDataReference(stream, stream.ReadInt() != 0 ? LogicDataType.SPELL : LogicDataType.CHARACTER);
            this.m_quickDonate = stream.ReadBoolean();

            base.Decode(stream);
        }
예제 #14
0
        public override void Encode(ChecksumEncoder encoder)
        {
            encoder.WriteInt(this.m_gameObjectId);
            encoder.WriteInt(this.m_unitType);
            ByteStreamHelper.WriteDataReference(encoder, this.m_unitData);

            base.Encode(encoder);
        }
예제 #15
0
        public override void Decode(ByteStream stream)
        {
            this.m_gameObjectId = stream.ReadInt();
            this.m_unitType     = stream.ReadInt();
            this.m_unitData     = (LogicCombatItemData)ByteStreamHelper.ReadDataReference(stream, this.m_unitType != 0 ? LogicDataType.SPELL : LogicDataType.CHARACTER);

            base.Decode(stream);
        }
        public override void Decode(ByteStream stream)
        {
            this.m_x        = stream.ReadInt();
            this.m_y        = stream.ReadInt();
            this.m_trapData = (LogicTrapData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.TRAP);

            base.Decode(stream);
        }
예제 #17
0
        public override void Decode(ByteStream stream)
        {
            this.m_x    = stream.ReadInt();
            this.m_y    = stream.ReadInt();
            this.m_data = (LogicCharacterData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.CHARACTER);

            base.Decode(stream);
        }
예제 #18
0
        public override void Decode(ByteStream stream)
        {
            this.m_senderName = stream.ReadString(900000);
            this.m_unitData   = (LogicCombatItemData)ByteStreamHelper.ReadDataReference(stream, stream.ReadInt() != 0 ? LogicDataType.SPELL : LogicDataType.CHARACTER);
            this.m_upgLevel   = stream.ReadInt();

            base.Decode(stream);
        }
예제 #19
0
        public override void Encode()
        {
            base.Encode();

            this.m_stream.WriteInt(this.m_unitData.GetCombatItemType());
            ByteStreamHelper.WriteDataReference(this.m_stream, this.m_unitData);
            this.m_stream.WriteBoolean(this.m_quickDonate);
        }
예제 #20
0
        public override void Decode(ByteStream stream)
        {
            this.m_x    = stream.ReadInt();
            this.m_y    = stream.ReadInt();
            this.m_data = (LogicAlliancePortalData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.ALLIANCE_PORTAL);

            base.Decode(stream);
        }
        public override void Decode(ByteStream stream)
        {
            this.ScoreGain = stream.ReadVInt();
            this.Attacker  = stream.ReadBoolean();

            this.PrevLeagueData = (LogicLeagueData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.LEAGUE);
            this.LeagueData     = (LogicLeagueData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.LEAGUE);
        }
        public override void Encode(ByteStream stream)
        {
            stream.WriteVInt(this.ScoreGain);
            stream.WriteBoolean(this.Attacker);

            ByteStreamHelper.WriteDataReference(stream, this.PrevLeagueData);
            ByteStreamHelper.WriteDataReference(stream, this.LeagueData);
        }
예제 #23
0
        public override void Decode(ByteStream stream)
        {
            if (stream.ReadBoolean())
            {
                this.AccountId = stream.ReadLong();
            }

            this.ArgData = ByteStreamHelper.ReadDataReference(stream);
        }
        public override void Encode(ByteStream stream)
        {
            base.Encode(stream);

            stream.WriteInt(this.m_badgeId);
            stream.WriteInt(this.m_memberCount);
            ByteStreamHelper.WriteDataReference(stream, this.m_originData);
            stream.WriteInt(this.m_expLevel);
        }
        public override void Decode(ByteStream stream)
        {
            base.Decode(stream);

            this.m_badgeId     = stream.ReadInt();
            this.m_memberCount = stream.ReadInt();
            this.m_originData  = ByteStreamHelper.ReadDataReference(stream);
            this.m_expLevel    = stream.ReadInt();
        }
        public override void Decode(ByteStream stream)
        {
            this.m_x = stream.ReadInt();
            this.m_y = stream.ReadInt();
            this.m_gameObjectData = (LogicGameObjectData)ByteStreamHelper.ReadDataReference(stream);
            this.m_upgradeLevel   = stream.ReadInt();

            base.Decode(stream);
        }
        public override void Encode(ChecksumEncoder encoder)
        {
            encoder.WriteInt(this.m_x);
            encoder.WriteInt(this.m_y);
            ByteStreamHelper.WriteDataReference(encoder, this.m_gameObjectData);
            encoder.WriteInt(this.m_upgradeLevel);

            base.Encode(encoder);
        }
예제 #28
0
        public override void Encode(ChecksumEncoder encoder)
        {
            encoder.WriteString(this.m_senderName);
            encoder.WriteInt(this.m_unitData.GetCombatItemType());
            ByteStreamHelper.WriteDataReference(encoder, this.m_unitData);
            encoder.WriteInt(this.m_upgLevel);

            base.Encode(encoder);
        }
예제 #29
0
        public override void Encode(ChecksumEncoder encoder)
        {
            encoder.WriteInt(this.m_x);
            encoder.WriteInt(this.m_y);
            ByteStreamHelper.WriteDataReference(encoder, this.m_data);
            encoder.WriteBoolean(this.m_allianceSpell);
            encoder.WriteInt(this.m_upgLevel);

            base.Encode(encoder);
        }
예제 #30
0
        public override void Decode(ByteStream stream)
        {
            this.m_x             = stream.ReadInt();
            this.m_y             = stream.ReadInt();
            this.m_data          = (LogicSpellData)ByteStreamHelper.ReadDataReference(stream, LogicDataType.SPELL);
            this.m_allianceSpell = stream.ReadBoolean();
            this.m_upgLevel      = stream.ReadInt();

            base.Decode(stream);
        }