예제 #1
0
		private static bool Deserialize(GenericReader reader)
		{
			reader.ReadBlockDictionary(
				() =>
				{
					string name = reader.ReadString();
					var players = reader.ReadStrongMobileList<PlayerMobile>();
					return new KeyValuePair<string, List<PlayerMobile>>(name, players);
				});

			return true;
		}
예제 #2
0
        private static bool DeserializePlayerScores(GenericReader reader)
        {
            reader.GetVersion();

            reader.ReadBlockDictionary(
                () =>
            {
                IEntity e = reader.ReadEntity();

                Dictionary <Mobile, double> list = reader.ReadBlockDictionary(
                    () =>
                {
                    Mobile k = reader.ReadMobile();
                    double v = reader.ReadDouble();

                    return(new KeyValuePair <Mobile, double>(k, v));
                });

                return(new KeyValuePair <IEntity, Dictionary <Mobile, double> >(e, list));
            },
                Registry);

            return(true);
        }
예제 #3
0
		private static bool DeserializePlayerScores(GenericReader reader)
		{
			reader.GetVersion();

			reader.ReadBlockDictionary(
				() =>
				{
					IEntity e = reader.ReadEntity();

					Dictionary<Mobile, double> list = reader.ReadBlockDictionary(
						() =>
						{
							Mobile k = reader.ReadMobile();
							double v = reader.ReadDouble();

							return new KeyValuePair<Mobile, double>(k, v);
						});

					return new KeyValuePair<IEntity, Dictionary<Mobile, double>>(e, list);
				},
				Registry);

			return true;
		}
예제 #4
0
		private static bool Deserialize(GenericReader reader)
		{
			reader.GetVersion();

			reader.ReadBlockDictionary(
				r =>
				{
					var k = r.ReadAccount();
					var v = new TimeBoostProfile(r);

					return new KeyValuePair<IAccount, TimeBoostProfile>(k, v);
				},
				Profiles);

			return true;
		}
예제 #5
0
		public void Deserialize(GenericReader reader)
		{
			var version = reader.GetVersion();

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

					if (!Deleted)
					{
						History = reader.ReadBlockDictionary(
							r1 =>
							{
								TimeStamp k = r1.ReadDouble();
								var v = r1.ReadBlockList(r2 => new VoteProfileEntry(r2));

								return new KeyValuePair<TimeStamp, List<VoteProfileEntry>>(k, v);
							});
					}
				}
					break;
			}

			if (History != null)
			{
				foreach (var h in History.Values)
				{
					h.Prune(true, e => e.VoteSite);
				}
			}
		}
예제 #6
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.GetVersion();

			switch (version)
			{
				case 1:
					Desc = reader.ReadString();
					goto case 0;
				case 0:
					{
						Type = reader.ReadType();
						Name = reader.ReadString();
						CanIgnore = reader.ReadBool();

						States = reader.ReadBlockDictionary(
							r =>
							{
								var state = new NotifySettingsState(this, r);

								return new KeyValuePair<PlayerMobile, NotifySettingsState>(state.Owner, state);
							});
					}
					break;
			}
		}
예제 #7
0
		private static bool DeserializeStats(GenericReader reader)
		{
			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						reader.ReadBlockDictionary(
							r =>
							{
								string k = r.ReadString();
								WebStatsEntry v = new WebStatsEntry(r);

								return new KeyValuePair<string, WebStatsEntry>(k, v);
							},
							Stats);
					}
					break;
			}

			return true;
		}
예제 #8
0
		private static bool Deserialize(GenericReader reader)
		{
			reader.GetVersion();

			reader.ReadBlockDictionary(
				r =>
				{
					var k = r.ReadType();
					var v = EnsureSettings(k);

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

					return new KeyValuePair<Type, NotifySettings>(k, v);
				},
				Settings);

			return true;
		}
예제 #9
0
		private static bool DeserializeProfiles(GenericReader reader)
		{
			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						reader.ReadBlockDictionary(
							r =>
							{
								PlayerMobile key = r.ReadMobile<PlayerMobile>();
								PvPProfile val = r.ReadTypeCreate<PvPProfile>(r) ?? new PvPProfile(key);
								return new KeyValuePair<PlayerMobile, PvPProfile>(key, val);
							},
							Profiles);
					}
					break;
			}

			return true;
		}
예제 #10
0
		private static bool DeserializeVoteSites(GenericReader reader)
		{
			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						reader.ReadBlockDictionary(
							r =>
							{
								var v = r.ReadTypeCreate<IVoteSite>(r);
								return new KeyValuePair<int, IVoteSite>(v.UID, v);
							},
							VoteSites);
					}
					break;
			}

			return true;
		}
예제 #11
0
		public virtual void Deserialize(GenericReader reader)
		{
			int version = reader.ReadInt();

			switch (version)
			{
				case 0:
					Entries = reader.ReadBlockDictionary(
						r =>
						{
							PvPProfileHistoryEntry e = r.ReadTypeCreate<PvPProfileHistoryEntry>(r);
							return new KeyValuePair<int, PvPProfileHistoryEntry>(e.Season, e);
						});
					break;
			}
		}
예제 #12
0
		private static bool DeserializeTransactions(GenericReader reader)
		{
			reader.GetVersion();

			reader.ReadBlockDictionary(
				r =>
				{
					var t = new DonationTransaction(r);

					return new KeyValuePair<string, DonationTransaction>(t.ID, t);
				},
				Transactions);

			return true;
		}
예제 #13
0
		public void Deserialize(GenericReader reader)
		{
			var version = reader.GetVersion();

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

					if (!Deleted)
					{
						History = reader.ReadBlockDictionary(
							r1 =>
							{
								TimeStamp k = r1.ReadDouble();
								var v = r1.ReadBlockList(r2 => new TrashProfileEntry(r2));
								return new KeyValuePair<TimeStamp, List<TrashProfileEntry>>(k, v);
							});
					}
				}
					break;
			}
		}
예제 #14
0
		private static bool LoadSets(GenericReader reader)
		{
			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						reader.ReadBlockDictionary(
							r =>
							{
								EquipmentSet v = r.ReadTypeCreate<EquipmentSet>(r);
								return new KeyValuePair<Type, EquipmentSet>(v.GetType(), v);
							},
							Sets);
					}
					break;
			}

			return true;
		}
예제 #15
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(
								r1 =>
								{
									TimeStamp k = r1.ReadDouble();
									var v = r1.ReadBlockArray(r2 => new VoteProfileEntry(r2)).Where(e => e.VoteSite != null).ToList();

									return new KeyValuePair<TimeStamp, List<VoteProfileEntry>>(k, v);
								});
						}
					}
					break;
			}
		}
예제 #16
0
		private static bool DeserializeSeasons(GenericReader reader)
		{
			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						reader.ReadBlockDictionary(
							r =>
							{
								int key = r.ReadInt();
								PvPSeason val = r.ReadTypeCreate<PvPSeason>(r) ?? new PvPSeason(key);
								return new KeyValuePair<int, PvPSeason>(key, val);
							},
							Seasons);
					}
					break;
			}

			return true;
		}
예제 #17
0
		private static bool DeserializeProfiles(GenericReader reader)
		{
			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						reader.ReadBlockDictionary(
							r =>
							{
								var k = r.ReadMobile<PlayerMobile>();
								var v = new VoteProfile(r);
								return new KeyValuePair<PlayerMobile, VoteProfile>(k, v);
							},
							Profiles);
					}
					break;
			}

			return true;
		}
예제 #18
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			reader.GetVersion();

			Name = reader.ReadString();
			Summary = reader.ReadString();
			Token = reader.ReadString();
			Available = reader.ReadBool();
			AutoJoin = reader.ReadBool();
			Access = reader.ReadFlag<AccessLevel>();
			ProfanityAction = reader.ReadFlag<ProfanityAction>();
			TextColor = reader.ReadFlag<KnownColor>();
			TextHue = reader.ReadInt();
			UserLimit = reader.ReadInt();
			SpamDelay = reader.ReadTimeSpan();

			Bans = reader.ReadBlockDictionary(
				r =>
				{
					var k = r.ReadMobile<PlayerMobile>();
					var v = r.ReadDateTime();
					return new KeyValuePair<PlayerMobile, DateTime>(k, v);
				});

			History = new Dictionary<PlayerMobile, WorldChatMessage>();
			Users = new Dictionary<PlayerMobile, DateTime>();
		}
예제 #19
0
		private static bool Deserialize(GenericReader reader)
		{
			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						reader.ReadBlockDictionary(
							r =>
							{
								DeceitBrazier b = r.ReadItem<DeceitBrazier>();
								Point3D p = r.ReadPoint3D();
								Map m = r.ReadMap();
								return new KeyValuePair<DeceitBrazier, MapPoint>(b, new MapPoint(m, p));
							},
							Registry);
					}
					break;
			}

			return true;
		}
예제 #20
0
		private static bool Deserialize(GenericReader reader)
		{
			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						reader.ReadBlockDictionary(
							r =>
							{
								PlayerMobile k = r.ReadMobile<PlayerMobile>();
								bool v1 = r.ReadBool();
								Point v2 = new Point(r.ReadInt(), r.ReadInt());

								return new KeyValuePair<PlayerMobile, Tuple<bool, Point>>(k, new Tuple<bool, Point>(v1, v2));
							},
							_States);
					}
					break;
			}

			return true;
		}
예제 #21
0
		public static bool Deserialize(GenericReader reader)
		{
			var version = reader.GetVersion();

			switch (version)
			{
				case 0:
				{
					if (reader.ReadBool())
					{
						if (DefaultEntries != null)
						{
							DefaultEntries.Deserialize(reader);
						}
						else
						{
							DefaultEntries = new ToolbarState(reader);
						}
					}

					reader.ReadBlockDictionary(
						r =>
						{
							var k = r.ReadMobile<PlayerMobile>();
							var v = new ToolbarState(r);
							return new KeyValuePair<PlayerMobile, ToolbarState>(k, v);
						},
						Profiles);
				}
					break;
			}

			return true;
		}