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

			int version = reader.GetVersion();

			switch (version)
			{
				case 1:
					SpectateGate = new MapPoint(reader);
					goto case 0;
				case 0:
					{
						Map = reader.ReadMap();
						BattlePriority = reader.ReadInt();
						Eject = new MapPoint(reader);
						SpectateJoin = reader.ReadPoint3D();
						BattleBounds = reader.ReadBlockList(r => r.ReadRect3D());
						SpectateBounds = reader.ReadBlockList(r => r.ReadRect3D());
					}
					break;
			}
		}
Ejemplo n.º 2
0
		private static bool DeserializeProfiles(GenericReader reader)
		{
			var list = reader.ReadBlockList(r => new TrashProfile(r));

			list.ForEach(p => Profiles.AddOrReplace(p.Owner, p));
			list.Free(true);

			return true;
		}
Ejemplo n.º 3
0
		private static void DeserializeChannels(GenericReader reader)
		{
			reader.GetVersion();

			int idx = 0;

			reader.ReadBlockArray(
				r =>
				{
					var c = _PermaChannels[idx++];

					if (c != null)
					{
						c.Deserialize(r);
					}

					return c;
				},
				_PermaChannels);

			reader.ReadBlockList(r => r.ReadTypeCreate<WorldChatChannel>(r), _Channels);
		}
Ejemplo n.º 4
0
		private static bool DeserializeHandlers(GenericReader reader)
		{
			var list = reader.ReadBlockList(r => r.ReadTypeCreate<BaseTrashHandler>(r));

			list.ForEach(h => Handlers.AddOrReplace(h.UID, h));
			list.Free(true);

			InternalHandlerSort();
			return true;
		}
Ejemplo n.º 5
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			var version = reader.GetVersion();

			switch (version)
			{
				case 2:
					NotifyPlayer = reader.ReadBool();
					goto case 1;
				case 1:
				{
					SearchMode = reader.ReadFlag<StringSearchFlags>();
					SearchCapsIgnore = reader.ReadBool();
				}
					goto case 0;
				case 0:
				{
					if (version < 1)
					{
						SearchMode = StringSearchFlags.Contains;
						SearchCapsIgnore = true;
					}

					WhitespaceAliases = reader.ReadBlockList(r => r.ReadChar());
					KeyWords = reader.ReadBlockList(r => r.ReadString());

					LogEnabled = reader.ReadBool();
					ConsoleWrite = reader.ReadBool();

					PageStaff = reader.ReadBool();

					NotifyStaff = reader.ReadBool();
					NotifyAccess = reader.ReadFlag<AccessLevel>();

					Jail = reader.ReadBool();
					JailPoint = new MapPoint(reader);

					Squelch = reader.ReadBool();
					Kick = reader.ReadBool();
					Ban = reader.ReadBool();
				}
					break;
			}
		}
Ejemplo n.º 6
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;
			}
		}
Ejemplo n.º 7
0
		private static void DeserializeReports(GenericReader reader)
		{
			reader.GetVersion();

			reader.ReadBlockList(r => new AntiAdvertsReport(r), Reports);
		}
Ejemplo n.º 8
0
		public void Deserialize(GenericReader reader)
		{
			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						Owner = reader.ReadMobile<PlayerMobile>();
						Deleted = reader.ReadBool();

						if (!Deleted)
						{
							History = reader.ReadBlockDictionary(
								() =>
								{
									TimeStamp k = reader.ReadDouble();
									var v = reader.ReadBlockList(() => new TrashProfileEntry(reader));
									return new KeyValuePair<TimeStamp, List<TrashProfileEntry>>(k, v);
								});
						}
					}
					break;
			}
		}