Esempio n. 1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.GetVersion();

            if (version < 2)
            {
                WebForm = new DonationWebFormOptions();
            }

            switch (version)
            {
            case 4:
                FallbackAccount = reader.ReadAccount();
                goto case 3;

            case 3:
                CreditBonus = reader.ReadDouble();
                goto case 2;

            case 2:
                WebForm = new DonationWebFormOptions(reader);
                goto case 1;

            case 1:
                TierFactor = reader.ReadDouble();
                goto case 0;

            case 0:
            {
                if (version < 2)
                {
                    new MySQLConnectionInfo(reader);                    // MySQL

                    _CurrencyType = new ItemTypeSelectProperty(reader); // CurrencyType

                    reader.ReadString();                                // TableName
                }

                ShowHistory = reader.ReadBool();

                if (version < 2)
                {
                    CurrencyPrice = reader.ReadDouble();                             // UnitPrice
                }

                MoneySymbol = reader.ReadChar();

                if (version < 2)
                {
                    MoneyAbbr = reader.ReadString();               // MoneyAbbr
                    reader.ReadBool();                             // GiftingEnabled
                }
            }
            break;
            }

            Info = new DonationStatistics();
        }
Esempio n. 2
0
        public virtual void Deserialize(GenericReader reader)
        {
            DeserializeDefaults(reader);

            MobileSpawns.ForEach(m => m.BeginAction(InstanceMap.KickPreventionLock));

            var version = reader.GetVersion();

            switch (version)
            {
            case 1:
            {
                ActiveLeader = reader.ReadMobile <PlayerMobile>();
                LootMode     = reader.ReadFlag <DungeonLootMode>();
            }
                goto case 0;

            case 0:
            {
                Deadline         = reader.ReadDeltaTime();
                SubCommandPrefix = reader.ReadChar();
                ExitPortal2      = reader.ReadItem <DungeonPortal>();
            }
            break;
            }
        }
Esempio n. 3
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            reader.GetVersion();

            AccessPrefixes = new WorldChatAccessPrefixOptions(reader);

            ChatPrefix    = reader.ReadChar();
            HistoryBuffer = reader.ReadByte();
        }
Esempio n. 4
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                MySQL        = new MySQLConnectionInfo(reader);
                CurrencyType = new ItemTypeSelectProperty(reader);

                TableName      = reader.ReadString();
                ShowHistory    = reader.ReadBool();
                ExchangeRate   = reader.ReadDouble();
                MoneySymbol    = reader.ReadChar();
                MoneyAbbr      = reader.ReadString();
                GiftingEnabled = reader.ReadBool();
            }
            break;
            }
        }
Esempio n. 5
0
        public virtual void Deserialize(GenericReader reader)
        {
            var version = reader.GetVersion();

            if (version > 5)
            {
                reader.ReadBlock(
                    r =>
                {
                    if (version > 6)
                    {
                        Serial = new PvPSerial(r);
                    }
                    else
                    {
                        Serial = r.ReadTypeCreate <PvPSerial>(r) ?? new PvPSerial(r);
                    }
                });
            }

            switch (version)
            {
            case 7:
            case 6:
            case 5:
                Hidden = reader.ReadBool();
                goto case 4;

            case 4:
                _FloorItemDelete = reader.ReadBool();
                goto case 3;

            case 3:
            case 2:
            {
                Gate = reader.ReadItem <PvPSpectatorGate>();

                if (Gate != null)
                {
                    Gate.Battle = this;
                }
            }
                goto case 1;

            case 1:
            {
                Category           = reader.ReadString();
                Ranked             = reader.ReadBool();
                InviteWhileRunning = reader.ReadBool();
            }
                goto case 0;

            case 0:
            {
                if (version < 6)
                {
                    reader.ReadBlock(r => Serial = r.ReadTypeCreate <PvPSerial>(r) ?? new PvPSerial(r));
                }

                DebugMode         = reader.ReadBool();
                _State            = reader.ReadFlag <PvPBattleState>();
                _Name             = reader.ReadString();
                Description       = reader.ReadString();
                AutoAssign        = reader.ReadBool();
                UseTeamColors     = reader.ReadBool();
                IgnoreCapacity    = reader.ReadBool();
                _SubCommandPrefix = reader.ReadChar();
                QueueAllowed      = reader.ReadBool();
                SpectateAllowed   = reader.ReadBool();
                KillPoints        = version < 3 ? (reader.ReadBool() ? 1 : 0) : reader.ReadInt();
                PointsBase        = reader.ReadInt();
                PointsRankFactor  = reader.ReadDouble();
                IdleKick          = reader.ReadBool();
                IdleThreshold     = reader.ReadTimeSpan();
                LastState         = reader.ReadFlag <PvPBattleState>();
                LastStateChange   = reader.ReadDateTime();
                _LightLevel       = reader.ReadInt();
                LogoutDelay       = reader.ReadTimeSpan();

                Doors.AddRange(reader.ReadStrongItemList <BaseDoor>());

                reader.ReadBlock(r => Options = r.ReadTypeCreate <PvPBattleOptions>(r) ?? new PvPBattleOptions());

                if (Schedule != null && Schedule.Running)
                {
                    Schedule.Stop();
                }

                reader.ReadBlock(r => Schedule = r.ReadTypeCreate <Schedule>(r) ?? new Schedule("Battle " + Serial.Value, false));

                reader.ReadBlock(r => _BattleRegion = r.ReadTypeCreate <PvPBattleRegion>(this, r) ?? new PvPBattleRegion(this));
                reader.ReadBlock(
                    r => _SpectateRegion = r.ReadTypeCreate <PvPSpectateRegion>(this, r) ?? new PvPSpectateRegion(this));

                reader.ReadBlockList(r => r.ReadTypeCreate <PvPTeam>(this, r) ?? new PvPTeam(this), Teams);
            }
            break;
            }
        }
Esempio n. 6
0
        public void Deserialize(GenericReader reader)
        {
            Flag = reader.ReadFlag <DataType>();
            Type = Flag.ToType();

            switch (Flag)
            {
            case DataType.Null:
                Value = null;
                break;

            case DataType.Bool:
                Value = reader.ReadBool();
                break;

            case DataType.Char:
                Value = reader.ReadChar();
                break;

            case DataType.Byte:
                Value = reader.ReadByte();
                break;

            case DataType.SByte:
                Value = reader.ReadSByte();
                break;

            case DataType.Short:
                Value = reader.ReadShort();
                break;

            case DataType.UShort:
                Value = reader.ReadUShort();
                break;

            case DataType.Int:
                Value = reader.ReadInt();
                break;

            case DataType.UInt:
                Value = reader.ReadUInt();
                break;

            case DataType.Long:
                Value = reader.ReadLong();
                break;

            case DataType.ULong:
                Value = reader.ReadULong();
                break;

            case DataType.Float:
                Value = reader.ReadFloat();
                break;

            case DataType.Decimal:
                Value = reader.ReadDecimal();
                break;

            case DataType.Double:
                Value = reader.ReadDouble();
                break;

            case DataType.String:
                Value = reader.ReadString() ?? String.Empty;
                break;

            case DataType.DateTime:
                Value = reader.ReadDateTime();
                break;

            case DataType.TimeSpan:
                Value = reader.ReadTimeSpan();
                break;
            }
        }