예제 #1
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			reader.GetVersion();

			AccessPrefixes = new WorldChatAccessPrefixOptions(reader);

			ChatPrefix = reader.ReadChar();
			HistoryBuffer = reader.ReadByte();
		}
예제 #2
0
		public override void Deserialize( GenericReader reader )
		{
			base.Deserialize( reader );

			int version = reader.ReadInt();

			m_Letter = reader.ReadChar();
		}
예제 #3
0
		public virtual void Deserialize(GenericReader reader)
		{
			int 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(r));

						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, r));
						reader.ReadBlock(
							r => SpectateRegion = r.ReadTypeCreate<PvPSpectateRegion>(this, r) ?? new PvPSpectateRegion(this, r));

						reader.ReadBlockList(r => r.ReadTypeCreate<PvPTeam>(this, r) ?? new PvPTeam(this, r), Teams);
					}
					break;
			}
		}
예제 #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;
			}
		}
예제 #5
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();
		}