Example #1
0
        public bool?GetBool(StringWithHash name, int i)
        {
            var value = GetValue(name, i);

            if (!value.HasValue)
            {
                return(null);
            }
            return(BitConverter.ToBoolean(value.Value.Bytes, 0));
        }
Example #2
0
        public int?GetCount(StringWithHash name)
        {
            var label = GetLabel(name);

            if (label == null)
            {
                return(null);
            }
            return(label.ArrayCount);
        }
Example #3
0
        public string GetString(StringWithHash name, int i)
        {
            var value = GetValue(name, i);

            if (!value.HasValue)
            {
                return(null);
            }
            return(Encoding.Unicode.GetString(value.Value.Bytes));
        }
Example #4
0
        public int?GetInt(StringWithHash name, int i)
        {
            var value = GetValue(name, i);

            if (!value.HasValue)
            {
                return(null);
            }
            return(BitConverter.ToInt32(value.Value.Bytes, 0));
        }
Example #5
0
        public float?GetFloat(StringWithHash name, int i)
        {
            var value = GetValue(name, i);

            if (!value.HasValue)
            {
                return(null);
            }
            return(BitConverter.ToSingle(value.Value.Bytes, 0));
        }
Example #6
0
        public int?GetCount(StringWithHash name)
        {
            var tag = GetTag(name);

            if (tag == null)
            {
                return(null);
            }
            return(tag.ArrayCount);
        }
Example #7
0
        private Label GetLabel(StringWithHash name)
        {
            Label key = new Label {
                Name = name
            };
            var labelIndex = labels.BinarySearch(key);

            if (labelIndex < 0)
            {
                return(null);
            }
            return(labels[labelIndex]);
        }
Example #8
0
        private Tag GetTag(StringWithHash name)
        {
            Tag key = new Tag {
                Name = name
            };
            var tagIndex = tags.BinarySearch(key);

            if (tagIndex < 0)
            {
                return(null);
            }
            return(tags[tagIndex]);
        }
Example #9
0
        public Entry GetEntry(StringWithHash name, int i)
        {
            var label = GetLabel(name);

            if (label == null)
            {
                return(null);
            }
            if (i >= label.ArrayCount)
            {
                return(null);
            }
            return(entries[label.Offset + i]);
        }
Example #10
0
        private Value?GetValue(StringWithHash name, int i)
        {
            var tag = GetTag(name);

            if (tag == null)
            {
                return(null);
            }
            if (i >= tag.ArrayCount)
            {
                return(null);
            }
            return(values[tag.Offset + i]);
        }
Example #11
0
        public Table GetTable(StringWithHash name)
        {
            Label key = new Label {
                Name = name
            };
            var labelIndex = labels.BinarySearch(key);

            if (labelIndex < 0)
            {
                return(null);
            }
            var label = labels[labelIndex];

            return(tables[label.Offset]);
        }
Example #12
0
 public Entry GetEntry(StringWithHash name) => GetEntry(name, 0);
Example #13
0
 public string GetString(StringWithHash name) => GetString(name, 0);
Example #14
0
 public bool?GetBool(StringWithHash name) => GetBool(name, 0);
Example #15
0
 public float?GetFloat(StringWithHash name) => GetFloat(name, 0);
Example #16
0
 public int?GetInt(StringWithHash name) => GetInt(name, 0);