/// <summary>
        /// Returns the <see cref="CraftResource"/> value which represents '<paramref name="info"/>', using '<paramref name="material"/>' to help resolve leather OreInfo instances.
        /// </summary>
        public static CraftResource GetFromOreInfo(OreInfo info, ArmorMaterialType material)
        {
            if (material == ArmorMaterialType.Studded || material == ArmorMaterialType.Leather || material == ArmorMaterialType.Spined ||
                material == ArmorMaterialType.Horned || material == ArmorMaterialType.Barbed)
            {
                if (info.Level == 0)
                {
                    return(CraftResource.RegularLeather);
                }
                else if (info.Level == 1)
                {
                    return(CraftResource.SpinedLeather);
                }
                else if (info.Level == 2)
                {
                    return(CraftResource.HornedLeather);
                }
                else if (info.Level == 3)
                {
                    return(CraftResource.BarbedLeather);
                }

                return(CraftResource.None);
            }

            return(GetFromOreInfo(info));
        }
        /// <summary>
        /// Returns the <see cref="CraftResource"/> value which represents '<paramref name="info"/>' -or- CraftResource.None if unable to convert.
        /// </summary>
        public static CraftResource GetFromOreInfo(OreInfo info)
        {
            if (info.Name.IndexOf("Spined") >= 0)
            {
                return(CraftResource.SpinedLeather);
            }
            else if (info.Name.IndexOf("Horned") >= 0)
            {
                return(CraftResource.HornedLeather);
            }
            else if (info.Name.IndexOf("Barbed") >= 0)
            {
                return(CraftResource.BarbedLeather);
            }
            else if (info.Name.IndexOf("Leather") >= 0)
            {
                return(CraftResource.RegularLeather);
            }

            if (info.Level == 0)
            {
                return(CraftResource.Iron);
            }
            else if (info.Level == 1)
            {
                return(CraftResource.DullCopper);
            }
            else if (info.Level == 2)
            {
                return(CraftResource.ShadowIron);
            }
            else if (info.Level == 3)
            {
                return(CraftResource.Copper);
            }
            else if (info.Level == 4)
            {
                return(CraftResource.Bronze);
            }
            else if (info.Level == 5)
            {
                return(CraftResource.Gold);
            }
            else if (info.Level == 6)
            {
                return(CraftResource.Agapite);
            }
            else if (info.Level == 7)
            {
                return(CraftResource.Verite);
            }
            else if (info.Level == 8)
            {
                return(CraftResource.Valorite);
            }

            return(CraftResource.None);
        }
Beispiel #3
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            switch (version)
            {
            case 1:
            {
                m_Resource = (CraftResource)reader.ReadInt();
                break;
            }

            case 0:
            {
                OreInfo info = new OreInfo(reader.ReadInt(), reader.ReadInt(), reader.ReadString());

                m_Resource = CraftResources.GetFromOreInfo(info);
                break;
            }
            }
        }