Exemplo n.º 1
0
        public override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (EditorID != null)
            {
                ele.TryPathTo("EditorID", true, out subEle);
                EditorID.WriteXML(subEle, master);
            }
            if (Name != null)
            {
                ele.TryPathTo("Name", true, out subEle);
                Name.WriteXML(subEle, master);
            }
            if (NoiseMap != null)
            {
                ele.TryPathTo("NoiseMap", true, out subEle);
                NoiseMap.WriteXML(subEle, master);
            }
            if (Opacity != null)
            {
                ele.TryPathTo("Opacity", true, out subEle);
                Opacity.WriteXML(subEle, master);
            }
            if (WaterFlags != null)
            {
                ele.TryPathTo("WaterFlags", true, out subEle);
                WaterFlags.WriteXML(subEle, master);
            }
            if (MaterialID != null)
            {
                ele.TryPathTo("MaterialID", true, out subEle);
                MaterialID.WriteXML(subEle, master);
            }
            if (Sound != null)
            {
                ele.TryPathTo("Sound", true, out subEle);
                Sound.WriteXML(subEle, master);
            }
            if (ActorEffect != null)
            {
                ele.TryPathTo("ActorEffect", true, out subEle);
                ActorEffect.WriteXML(subEle, master);
            }
            if (Damage != null)
            {
                ele.TryPathTo("Damage", true, out subEle);
                Damage.WriteXML(subEle, master);
            }
            if (Data != null)
            {
                ele.TryPathTo("Data", true, out subEle);
                Data.WriteXML(subEle, master);
            }
            if (RelatedWaters != null)
            {
                ele.TryPathTo("RelatedWaters", true, out subEle);
                RelatedWaters.WriteXML(subEle, master);
            }
        }
Exemplo n.º 2
0
        public WaterFace(string line)
            : base(line, false)
        {
            var vertCount = (Parts - 1) / 7;
            Vertices = new Vertex[vertCount];

            for (var i = 0; i < vertCount; ++i) {
                Vertices[i] = new Vertex(this, i * 7);
            }

            Flags = (WaterFlags) GetInt(Parts - 1);
        }
Exemplo n.º 3
0
        public WaterFace(string line)
            : base(line, false)
        {
            var vertCount = (Parts - 1) / 7;

            Vertices = new Vertex[vertCount];

            for (var i = 0; i < vertCount; ++i)
            {
                Vertices[i] = new Vertex(this, i * 7);
            }

            Flags = (WaterFlags)GetInt(Parts - 1);
        }
Exemplo n.º 4
0
 public override void WriteData(ESPWriter writer)
 {
     if (EditorID != null)
     {
         EditorID.WriteBinary(writer);
     }
     if (Name != null)
     {
         Name.WriteBinary(writer);
     }
     if (NoiseMap != null)
     {
         NoiseMap.WriteBinary(writer);
     }
     if (Opacity != null)
     {
         Opacity.WriteBinary(writer);
     }
     if (WaterFlags != null)
     {
         WaterFlags.WriteBinary(writer);
     }
     if (MaterialID != null)
     {
         MaterialID.WriteBinary(writer);
     }
     if (Sound != null)
     {
         Sound.WriteBinary(writer);
     }
     if (ActorEffect != null)
     {
         ActorEffect.WriteBinary(writer);
     }
     if (Damage != null)
     {
         Damage.WriteBinary(writer);
     }
     if (Data != null)
     {
         Data.WriteBinary(writer);
     }
     if (RelatedWaters != null)
     {
         RelatedWaters.WriteBinary(writer);
     }
 }
Exemplo n.º 5
0
 public static bool HasNWWater(this WaterFlags water)
 {
     return((water & WaterFlags.NW) == WaterFlags.NW);
 }
Exemplo n.º 6
0
 public static bool HasSEWater(this WaterFlags water)
 {
     return((water & WaterFlags.SE) == WaterFlags.SE);
 }
Exemplo n.º 7
0
 public static bool IsFreshwater(this WaterFlags water)
 {
     return((water & WaterFlags.SaltWater) != WaterFlags.SaltWater);
 }
Exemplo n.º 8
0
 public static bool IsSaltwater(this WaterFlags water)
 {
     return((water & WaterFlags.SaltWater) == WaterFlags.SaltWater);
 }
Exemplo n.º 9
0
        public override void ReadData(ESPReader reader, long dataEnd)
        {
            while (reader.BaseStream.Position < dataEnd)
            {
                string subTag = reader.PeekTag();

                switch (subTag)
                {
                case "EDID":
                    if (EditorID == null)
                    {
                        EditorID = new SimpleSubrecord <String>();
                    }

                    EditorID.ReadBinary(reader);
                    break;

                case "FULL":
                    if (Name == null)
                    {
                        Name = new SimpleSubrecord <String>();
                    }

                    Name.ReadBinary(reader);
                    break;

                case "NNAM":
                    if (NoiseMap == null)
                    {
                        NoiseMap = new SimpleSubrecord <String>();
                    }

                    NoiseMap.ReadBinary(reader);
                    break;

                case "ANAM":
                    if (Opacity == null)
                    {
                        Opacity = new SimpleSubrecord <Byte>();
                    }

                    Opacity.ReadBinary(reader);
                    break;

                case "FNAM":
                    if (WaterFlags == null)
                    {
                        WaterFlags = new SimpleSubrecord <WaterFlags>();
                    }

                    WaterFlags.ReadBinary(reader);
                    break;

                case "MNAM":
                    if (MaterialID == null)
                    {
                        MaterialID = new SimpleSubrecord <String>();
                    }

                    MaterialID.ReadBinary(reader);
                    break;

                case "SNAM":
                    if (Sound == null)
                    {
                        Sound = new RecordReference();
                    }

                    Sound.ReadBinary(reader);
                    break;

                case "XNAM":
                    if (ActorEffect == null)
                    {
                        ActorEffect = new RecordReference();
                    }

                    ActorEffect.ReadBinary(reader);
                    break;

                case "DATA":
                    ReadDamage(reader);
                    break;

                case "DNAM":
                    if (Data == null)
                    {
                        Data = new WaterData();
                    }

                    Data.ReadBinary(reader);
                    break;

                case "GNAM":
                    if (RelatedWaters == null)
                    {
                        RelatedWaters = new RelatedWaters();
                    }

                    RelatedWaters.ReadBinary(reader);
                    break;

                default:
                    throw new Exception();
                }
            }
        }
Exemplo n.º 10
0
        public override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("EditorID", false, out subEle))
            {
                if (EditorID == null)
                {
                    EditorID = new SimpleSubrecord <String>();
                }

                EditorID.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Name", false, out subEle))
            {
                if (Name == null)
                {
                    Name = new SimpleSubrecord <String>();
                }

                Name.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("NoiseMap", false, out subEle))
            {
                if (NoiseMap == null)
                {
                    NoiseMap = new SimpleSubrecord <String>();
                }

                NoiseMap.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Opacity", false, out subEle))
            {
                if (Opacity == null)
                {
                    Opacity = new SimpleSubrecord <Byte>();
                }

                Opacity.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("WaterFlags", false, out subEle))
            {
                if (WaterFlags == null)
                {
                    WaterFlags = new SimpleSubrecord <WaterFlags>();
                }

                WaterFlags.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("MaterialID", false, out subEle))
            {
                if (MaterialID == null)
                {
                    MaterialID = new SimpleSubrecord <String>();
                }

                MaterialID.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Sound", false, out subEle))
            {
                if (Sound == null)
                {
                    Sound = new RecordReference();
                }

                Sound.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("ActorEffect", false, out subEle))
            {
                if (ActorEffect == null)
                {
                    ActorEffect = new RecordReference();
                }

                ActorEffect.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Damage", false, out subEle))
            {
                if (Damage == null)
                {
                    Damage = new SimpleSubrecord <UInt16>();
                }

                Damage.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Data", false, out subEle))
            {
                if (Data == null)
                {
                    Data = new WaterData();
                }

                Data.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("RelatedWaters", false, out subEle))
            {
                if (RelatedWaters == null)
                {
                    RelatedWaters = new RelatedWaters();
                }

                RelatedWaters.ReadXML(subEle, master);
            }
        }