Ejemplo n.º 1
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 "OBND":
                    if (ObjectBounds == null)
                    {
                        ObjectBounds = new ObjectBounds();
                    }

                    ObjectBounds.ReadBinary(reader);
                    break;

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

                    Name.ReadBinary(reader);
                    break;

                case "MODL":
                    if (Model == null)
                    {
                        Model = new Model();
                    }

                    Model.ReadBinary(reader);
                    break;

                case "SCRI":
                    if (Script == null)
                    {
                        Script = new RecordReference();
                    }

                    Script.ReadBinary(reader);
                    break;

                case "DEST":
                    if (Destructable == null)
                    {
                        Destructable = new Destructable();
                    }

                    Destructable.ReadBinary(reader);
                    break;

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

                    OpenSound.ReadBinary(reader);
                    break;

                case "ANAM":
                    if (CloseSound == null)
                    {
                        CloseSound = new RecordReference();
                    }

                    CloseSound.ReadBinary(reader);
                    break;

                case "BNAM":
                    if (LoopingSound == null)
                    {
                        LoopingSound = new RecordReference();
                    }

                    LoopingSound.ReadBinary(reader);
                    break;

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

                    DoorFlags.ReadBinary(reader);
                    break;

                default:
                    throw new Exception();
                }
            }
        }
Ejemplo n.º 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 "OBND":
                    if (ObjectBounds == null)
                    {
                        ObjectBounds = new ObjectBounds();
                    }

                    ObjectBounds.ReadBinary(reader);
                    break;

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

                    Name.ReadBinary(reader);
                    break;

                case "MODL":
                    if (Model == null)
                    {
                        Model = new Model();
                    }

                    Model.ReadBinary(reader);
                    break;

                case "SCRI":
                    if (Script == null)
                    {
                        Script = new RecordReference();
                    }

                    Script.ReadBinary(reader);
                    break;

                case "CNTO":
                    if (Contents == null)
                    {
                        Contents = new List <InventoryItem>();
                    }

                    InventoryItem tempCNTO = new InventoryItem();
                    tempCNTO.ReadBinary(reader);
                    Contents.Add(tempCNTO);
                    break;

                case "DEST":
                    if (Destructable == null)
                    {
                        Destructable = new Destructable();
                    }

                    Destructable.ReadBinary(reader);
                    break;

                case "DATA":
                    if (Data == null)
                    {
                        Data = new ContainerData();
                    }

                    Data.ReadBinary(reader);
                    break;

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

                    OpenSound.ReadBinary(reader);
                    break;

                case "QNAM":
                    if (CloseSound == null)
                    {
                        CloseSound = new RecordReference();
                    }

                    CloseSound.ReadBinary(reader);
                    break;

                case "RNAM":
                    if (Random_LoopingSound == null)
                    {
                        Random_LoopingSound = new RecordReference();
                    }

                    Random_LoopingSound.ReadBinary(reader);
                    break;

                default:
                    throw new Exception();
                }
            }
        }