示例#1
0
 public override void WriteData(ESPWriter writer)
 {
     if (EditorID != null)
     {
         EditorID.WriteBinary(writer);
     }
     if (Name != null)
     {
         Name.WriteBinary(writer);
     }
     if (Data != null)
     {
         Data.WriteBinary(writer);
     }
     if (Models != null)
     {
         foreach (var item in Models)
         {
             item.WriteBinary(writer);
         }
     }
     if (ModelSlotMachine != null)
     {
         ModelSlotMachine.WriteBinary(writer);
     }
     if (ModelBlackjackTable != null)
     {
         ModelBlackjackTable.WriteBinary(writer);
     }
     if (ModelRouletteTable != null)
     {
         ModelRouletteTable.WriteBinary(writer);
     }
     if (SlotReelTextures != null)
     {
         foreach (var item in SlotReelTextures)
         {
             item.WriteBinary(writer);
         }
     }
     if (BlackjackTextures != null)
     {
         foreach (var item in BlackjackTextures)
         {
             item.WriteBinary(writer);
         }
     }
 }
示例#2
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 "DATA":
                    if (Data == null)
                    {
                        Data = new CasinoData();
                    }

                    Data.ReadBinary(reader);
                    break;

                case "MODL":
                    if (Models == null)
                    {
                        Models = new List <SimpleSubrecord <String> >();
                    }

                    SimpleSubrecord <String> tempMODL = new SimpleSubrecord <String>();
                    tempMODL.ReadBinary(reader);
                    Models.Add(tempMODL);
                    break;

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

                    ModelSlotMachine.ReadBinary(reader);
                    break;

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

                    ModelBlackjackTable.ReadBinary(reader);
                    break;

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

                    ModelRouletteTable.ReadBinary(reader);
                    break;

                case "ICON":
                    if (SlotReelTextures == null)
                    {
                        SlotReelTextures = new List <SimpleSubrecord <String> >();
                    }

                    SimpleSubrecord <String> tempICON = new SimpleSubrecord <String>();
                    tempICON.ReadBinary(reader);
                    SlotReelTextures.Add(tempICON);
                    break;

                case "ICO2":
                    if (BlackjackTextures == null)
                    {
                        BlackjackTextures = new List <SimpleSubrecord <String> >();
                    }

                    SimpleSubrecord <String> tempICO2 = new SimpleSubrecord <String>();
                    tempICO2.ReadBinary(reader);
                    BlackjackTextures.Add(tempICO2);
                    break;

                default:
                    throw new Exception();
                }
            }
        }
示例#3
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("Data", false, out subEle))
            {
                if (Data == null)
                {
                    Data = new CasinoData();
                }

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

                foreach (XElement e in subEle.Elements())
                {
                    SimpleSubrecord <String> tempMODL = new SimpleSubrecord <String>();
                    tempMODL.ReadXML(e, master);
                    Models.Add(tempMODL);
                }
            }
            if (ele.TryPathTo("Model/SlotMachine", false, out subEle))
            {
                if (ModelSlotMachine == null)
                {
                    ModelSlotMachine = new SimpleSubrecord <String>();
                }

                ModelSlotMachine.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Model/BlackjackTable", false, out subEle))
            {
                if (ModelBlackjackTable == null)
                {
                    ModelBlackjackTable = new SimpleSubrecord <String>();
                }

                ModelBlackjackTable.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Model/RouletteTable", false, out subEle))
            {
                if (ModelRouletteTable == null)
                {
                    ModelRouletteTable = new SimpleSubrecord <String>();
                }

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

                foreach (XElement e in subEle.Elements())
                {
                    SimpleSubrecord <String> tempICON = new SimpleSubrecord <String>();
                    tempICON.ReadXML(e, master);
                    SlotReelTextures.Add(tempICON);
                }
            }
            if (ele.TryPathTo("BlackjackTextures", false, out subEle))
            {
                if (BlackjackTextures == null)
                {
                    BlackjackTextures = new List <SimpleSubrecord <String> >();
                }

                foreach (XElement e in subEle.Elements())
                {
                    SimpleSubrecord <String> tempICO2 = new SimpleSubrecord <String>();
                    tempICO2.ReadXML(e, master);
                    BlackjackTextures.Add(tempICO2);
                }
            }
        }
示例#4
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 (Data != null)
            {
                ele.TryPathTo("Data", true, out subEle);
                Data.WriteXML(subEle, master);
            }
            if (Models != null)
            {
                ele.TryPathTo("Models", true, out subEle);
                List <string> xmlNames = new List <string> {
                    "Chip1", "Chip5", "Chip10", "Chip25", "Chip100", "Chip500", "RouletteChip", "SlotMachine"
                };
                int i = 0;
                foreach (var entry in Models)
                {
                    i = i % xmlNames.Count();
                    XElement newEle = new XElement(xmlNames[i]);
                    entry.WriteXML(newEle, master);
                    subEle.Add(newEle);
                    i++;
                }
            }
            if (ModelSlotMachine != null)
            {
                ele.TryPathTo("Model/SlotMachine", true, out subEle);
                ModelSlotMachine.WriteXML(subEle, master);
            }
            if (ModelBlackjackTable != null)
            {
                ele.TryPathTo("Model/BlackjackTable", true, out subEle);
                ModelBlackjackTable.WriteXML(subEle, master);
            }
            if (ModelRouletteTable != null)
            {
                ele.TryPathTo("Model/RouletteTable", true, out subEle);
                ModelRouletteTable.WriteXML(subEle, master);
            }
            if (SlotReelTextures != null)
            {
                ele.TryPathTo("SlotReelTextures", true, out subEle);
                List <string> xmlNames = new List <string> {
                    "Symbol1", "Symbol2", "Symbol3", "Symbol4", "Symbol5", "Symbol6", "SymbolW"
                };
                int i = 0;
                foreach (var entry in SlotReelTextures)
                {
                    i = i % xmlNames.Count();
                    XElement newEle = new XElement(xmlNames[i]);
                    entry.WriteXML(newEle, master);
                    subEle.Add(newEle);
                    i++;
                }
            }
            if (BlackjackTextures != null)
            {
                ele.TryPathTo("BlackjackTextures", true, out subEle);
                List <string> xmlNames = new List <string> {
                    "Deck1", "Deck2", "Deck3", "Deck4"
                };
                int i = 0;
                foreach (var entry in BlackjackTextures)
                {
                    i = i % xmlNames.Count();
                    XElement newEle = new XElement(xmlNames[i]);
                    entry.WriteXML(newEle, master);
                    subEle.Add(newEle);
                    i++;
                }
            }
        }