Alexandria.Engines.Sciagi.Resources.Message.Message C# (CSharp) Метод

Message() приватный Метод

private Message ( AssetLoader loader ) : System
loader Glare.Assets.AssetLoader
Результат System
        internal Message(AssetLoader loader)
            : base(loader)
        {
            using (BinaryReader reader = loader.Reader) {
                Version = (MessageVersion)reader.ReadInt32();

                int fileLength, addonOffset = -1;
                int count;
                Codex<MessageItem> items = new Codex<MessageItem>();
                Items = items;

                switch (MajorVersion) {
                    case 3:
                        fileLength = reader.ReadUInt16() + 6;
                        count = reader.ReadUInt16();
                        break;

                    case 4:
                        addonOffset = reader.ReadUInt16() + 6;
                        Unknowns.ReadInt16s(reader, 1);
                        count = reader.ReadUInt16();
                        break;

                    case 5:
                        addonOffset = reader.ReadInt32() + 6;
                        count = reader.ReadUInt16();
                        break;

                    default:
                        throw new NotImplementedException("Unimplemented version " + Version);
                }

                for (int index = 0; index < count; index++) {
                    MessageItem item = new MessageItem(this, index, loader);
                    items.Add(item);
                    AddChild(item);
                }

                foreach (MessageItem item in items)
                    item.ReadText(reader);

                if (addonOffset >= 0) {
                    reader.BaseStream.Position = addonOffset;
                    foreach (MessageItem item in items)
                        item.ReadAddOn(reader);
                }
            }
        }