Пример #1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 1:
            {
                TokenType     = new TypeSelectProperty <IVendorToken>(reader);
                TokenName     = reader.ReadString();
                ShowTokenName = reader.ReadBool();
            }
                goto case 0;

            case 0:
            {
                Trading = reader.ReadBool();

                if (version == 0)
                {
                    TokenType     = String.Empty;
                    TokenName     = String.Empty;
                    ShowTokenName = true;
                }
            }
            break;
            }
        }
Пример #2
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 2:
                IsCloth = reader.ReadBool();
                goto case 1;

            case 1:
            {
                CraftSystem = reader.ReadType();
                Resource    = (CraftResource)reader.ReadInt();
                IsSlayer    = reader.ReadBool();
            }
                goto case 0;

            case 0:
            {
                ItemType        = reader.ReadType();
                ItemChildren    = reader.ReadBool();
                ItemChangeReset = reader.ReadBool();
                IsExceptional   = reader.ReadBool();
            }
            break;
            }
        }
Пример #3
0
        public override void EnsureDefaults()
        {
            base.EnsureDefaults();

            ItemType        = DefItemType;
            ItemChildren    = DefItemChildren;
            ItemChangeReset = DefItemChangeReset;

            Resource = DefResource;

            HarvestSystem = DefHarvestSystem;
        }
Пример #4
0
		public override void EnsureDefaults()
		{
			base.EnsureDefaults();

			ItemType = DefItemType;
			ItemChildren = DefItemChildren;
			ItemChangeReset = DefItemChangeReset;

			Resource = DefResource;

			HarvestSystem = DefHarvestSystem;
		}
Пример #5
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.GetVersion();

            switch (version)
            {
            case 2:
                _CashAbbr = reader.ReadTextDef();
                goto case 1;

            case 1:
                CashProperty = new ObjectProperty(reader);
                goto case 0;

            case 0:
            {
                if (version < 1)
                {
                    var t = new ItemTypeSelectProperty(reader);
                    CashType = t.InternalType;
                }
                else
                {
                    CashType = new TypeSelectProperty <object>(reader);
                }

                _CashName     = reader.ReadTextDef();
                _ShowCashName = reader.ReadBool();

                _Trading = reader.ReadBool();

                Discount        = reader.ReadInt();
                DiscountEnabled = reader.ReadBool();
                DiscountYell    = reader.ReadBool();
            }
            break;
            }

            if (CashProperty == null)
            {
                CashProperty = new ObjectProperty();
            }

            if (version < 2)
            {
                _CashAbbr = String.Join(String.Empty, _CashName.GetString().Select(Char.IsUpper));
            }
        }
Пример #6
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                House = reader.ReadType();
            }
            break;
            }
        }
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
			    {
			        House = reader.ReadType();
			    }
					break;
			}
		}
Пример #8
0
        public override void EnsureDefaults()
        {
            base.EnsureDefaults();

            ItemType        = DefItemType;
            ItemChildren    = DefItemChildren;
            ItemChangeReset = DefItemChangeReset;

            IsExceptional = DefExceptional;
            IsSlayer      = DefSlayer;
            IsCloth       = DefIsCloth;

            Resource = DefResource;

            CraftSystem = DefCraftSystem;
        }
Пример #9
0
		public override void EnsureDefaults()
		{
			base.EnsureDefaults();

			ItemType = DefItemType;
			ItemChildren = DefItemChildren;
			ItemChangeReset = DefItemChangeReset;

			IsExceptional = DefExceptional;
			IsSlayer = DefSlayer;
			IsCloth = DefIsCloth;

			Resource = DefResource;

			CraftSystem = DefCraftSystem;
		}
Пример #10
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 1:
                CashProperty = new ObjectProperty(reader);
                goto case 0;

            case 0:
            {
                if (version < 1)
                {
                    var t = new ItemTypeSelectProperty(reader);
                    CashType = t.InternalType;
                }
                else
                {
                    CashType = new TypeSelectProperty <object>(reader);
                }

                CashName     = reader.ReadTextDef();
                ShowCashName = reader.ReadBool();

                Trading = reader.ReadBool();

                Discount        = reader.ReadInt();
                DiscountEnabled = reader.ReadBool();
                DiscountYell    = reader.ReadBool();
            }
            break;
            }

            if (CashProperty == null)
            {
                CashProperty = new ObjectProperty();
            }
        }
Пример #11
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.GetVersion();

            switch (version)
            {
            case 0:
            {
                ItemType        = reader.ReadType();
                ItemChildren    = reader.ReadBool();
                ItemChangeReset = reader.ReadBool();

                Resource = reader.ReadFlag <CraftResource>();

                HarvestSystem = reader.ReadType();
            }
            break;
            }
        }
Пример #12
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.GetVersion();

			switch (version)
			{
				case 2:
					IsCloth = reader.ReadBool();
					goto case 1;
				case 1:
					{
						CraftSystem = reader.ReadType();
						Resource = (CraftResource)reader.ReadInt();
						IsSlayer = reader.ReadBool();
					}
					goto case 0;
				case 0:
					{
						ItemType = reader.ReadType();
						ItemChildren = reader.ReadBool();
						ItemChangeReset = reader.ReadBool();
						IsExceptional = reader.ReadBool();
					}
					break;
			}
		}
Пример #13
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            var version = reader.GetVersion();

            switch (version)
            {
            case 4:
            {
                reader.ReadDictionary(
                    r =>
                    {
                        var info = new DynamicBuyInfo(r);

                        return(new KeyValuePair <Item, DynamicBuyInfo>(info.Item, info));
                    },
                    _DynamicStock);
            }
                goto case 3;

            case 3:
            {
                _WasStocked = reader.ReadBool();
                CanRestock  = reader.ReadBool();
            }
                goto case 2;

            case 2:
                _CashAbbr = reader.ReadTextDef();
                goto case 1;

            case 1:
                CashProperty = new ObjectProperty(reader);
                goto case 0;

            case 0:
            {
                if (version < 1)
                {
                    var t = new ItemTypeSelectProperty(reader);
                    CashType = t.InternalType;
                }
                else
                {
                    CashType = new TypeSelectProperty <object>(reader);
                }

                _CashName     = reader.ReadTextDef();
                _ShowCashName = reader.ReadBool();

                _Trading = reader.ReadBool();

                Discount        = reader.ReadInt();
                DiscountEnabled = reader.ReadBool();
                DiscountYell    = reader.ReadBool();
            }
            break;
            }

            if (CashProperty == null)
            {
                CashProperty = new ObjectProperty();
            }

            if (version < 3)
            {
                CanRestock = true;
            }

            if (version < 2)
            {
                _CashAbbr = String.Join(String.Empty, _CashName.GetString().Select(Char.IsUpper));
            }

            _DynamicStock.RemoveRange(o => o.Key.Deleted || o.Value == null || o.Value.Item != o.Key);
        }
Пример #14
0
        public override void EnsureDefaults()
        {
            base.EnsureDefaults();

            House = DefHouse;
        }
Пример #15
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.GetVersion();

			switch (version)
			{
				case 0:
					{
						ItemType = reader.ReadType();
						ItemChildren = reader.ReadBool();
						ItemChangeReset = reader.ReadBool();

						Resource = reader.ReadFlag<CraftResource>();

						HarvestSystem = reader.ReadType();
					}
					break;
			}
		}
Пример #16
0
		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.GetVersion();

			switch (version)
			{
				case 1:
					{
						TokenType = new TypeSelectProperty<IVendorToken>(reader);
						TokenName = reader.ReadString();
						ShowTokenName = reader.ReadBool();
					}
					goto case 0;
				case 0:
					{
						Trading = reader.ReadBool();

						if (version == 0)
						{
							TokenType = String.Empty;
							TokenName = String.Empty;
							ShowTokenName = true;
						}
					}
					break;
			}
		}
Пример #17
0
        public static void ImportXML(string path, string file)
        {
            using (var xml = new XmlDataStore<ConquestSerial, Conquest>(path, file))
            {
                xml.OnDeserialize = doc =>
                {
                    XmlElement root = doc.DocumentElement;

                    if (root == null)
                    {
                        return true;
                    }

                    foreach (XmlElement conquestNode in root.ChildNodes.OfType<XmlElement>())
                    {
                        string typeAttr = conquestNode.GetAttribute("type");
                        var type = new TypeSelectProperty<Conquest>(typeAttr);

                        if (!type.IsNotNull)
                        {
                            continue;
                        }

                        var conquest = type.CreateInstance<Conquest>();
                        PropertyList<Conquest> pList = conquest.GetProperties(
                            BindingFlags.Instance | BindingFlags.Public,
                            p => p.CanWrite && p.Name != "Enabled" && p.Name != "InvokeReset" && p.Name != "InvokeClear");

                        foreach (XmlElement conquestPropNode in conquestNode.ChildNodes.OfType<XmlElement>())
                        {
                            string pName = conquestPropNode.Name;
                            string dType = conquestPropNode.GetAttribute("type");
                            string data = conquestPropNode.GetAttribute("value");

                            switch (dType)
                            {
                                case "Type":
                                {
                                    Type t = null;

                                    if (!String.IsNullOrWhiteSpace(data))
                                    {
                                        t = Type.GetType(data, false, true) ??
                                            ScriptCompiler.FindTypeByName(data, true) ??
                                            ScriptCompiler.FindTypeByFullName(data);
                                    }

                                    pList.Set(pName, t);
                                }
                                    break;
                                default:
                                {
                                    DataType dataType;

                                    if (!Enum.TryParse(dType, out dataType))
                                    {
                                        continue;
                                    }

                                    SimpleType sType;

                                    if (SimpleType.TryParse(data, dataType, out sType) && sType.Flag != DataType.Null)
                                    {
                                        pList.Set(pName, sType.Value);
                                    }
                                }
                                    break;
                            }
                        }

                        pList.Serialize(conquest);

                        xml.AddOrReplace(conquest.UID, conquest);
                    }

                    return true;
                };

                if (xml.Import() == DataStoreResult.OK)
                {
                    xml.CopyTo(ConquestRegistry);

                    xml.Document.Delete();
                }

                foreach (Exception e in xml.Errors)
                {
                    e.ToConsole();
                }
            }
        }
Пример #18
0
        public static void ImportXML(string path, string file)
        {
            using (var xml = new XmlDataStore <ConquestSerial, Conquest>(path, file))
            {
                xml.OnDeserialize = doc =>
                {
                    XmlElement root = doc.DocumentElement;

                    if (root == null)
                    {
                        return(true);
                    }

                    foreach (XmlElement conquestNode in root.ChildNodes.OfType <XmlElement>())
                    {
                        string typeAttr = conquestNode.GetAttribute("type");
                        var    type     = new TypeSelectProperty <Conquest>(typeAttr);

                        if (!type.IsNotNull)
                        {
                            continue;
                        }

                        var conquest = type.CreateInstance <Conquest>();
                        PropertyList <Conquest> pList = conquest.GetProperties(
                            BindingFlags.Instance | BindingFlags.Public,
                            p => p.CanWrite && p.Name != "Enabled" && p.Name != "InvokeReset" && p.Name != "InvokeClear");

                        foreach (XmlElement conquestPropNode in conquestNode.ChildNodes.OfType <XmlElement>())
                        {
                            string pName = conquestPropNode.Name;
                            string dType = conquestPropNode.GetAttribute("type");
                            string data  = conquestPropNode.GetAttribute("value");

                            switch (dType)
                            {
                            case "Type":
                            {
                                Type t = null;

                                if (!String.IsNullOrWhiteSpace(data))
                                {
                                    t = Type.GetType(data, false, true) ??
                                        ScriptCompiler.FindTypeByName(data, true) ??
                                        ScriptCompiler.FindTypeByFullName(data);
                                }

                                pList.Set(pName, t);
                            }
                            break;

                            default:
                            {
                                DataType dataType;

                                if (!Enum.TryParse(dType, out dataType))
                                {
                                    continue;
                                }

                                SimpleType sType;

                                if (SimpleType.TryParse(data, dataType, out sType) && sType.Flag != DataType.Null)
                                {
                                    pList.Set(pName, sType.Value);
                                }
                            }
                            break;
                            }
                        }

                        pList.Serialize(conquest);

                        xml.AddOrReplace(conquest.UID, conquest);
                    }

                    return(true);
                };

                if (xml.Import() == DataStoreResult.OK)
                {
                    xml.CopyTo(ConquestRegistry);

                    xml.Document.Delete();
                }

                foreach (Exception e in xml.Errors)
                {
                    e.ToConsole();
                }
            }
        }
		public override void EnsureDefaults()
		{
			base.EnsureDefaults();

            House = DefHouse;
		}