public void Set(OEIShared.IO.GFF.GFFField field)
 {
     if (this.Contains(field.StringLabel))
     {
         this.Fields.Remove(field);
     }
     this.Fields.Add(field);
 }
Esempio n. 2
0
        private Newtonsoft.Json.Linq.JObject parseStruct(OEIShared.IO.GFF.GFFStruct gffStruct)
        {
            var j = new Newtonsoft.Json.Linq.JObject();

            foreach (OEIShared.IO.GFF.GFFField field in gffStruct.Fields.Values)
                j.Add(field.StringLabel, parseField(field));

            return j;
        }
Esempio n. 3
0
 private Newtonsoft.Json.Linq.JObject parseGFF(OEIShared.IO.GFF.GFFFile gff)
 {
     return parseStruct(gff.TopLevelStruct);
 }
Esempio n. 4
0
        private Newtonsoft.Json.Linq.JToken parseField(OEIShared.IO.GFF.GFFField gffField)
        {
            Newtonsoft.Json.Linq.JToken j = null;

            switch (gffField.Type)
            {
                case OEIShared.IO.GFF.GFFFieldType.Byte:
                    j = gffField.ValueByte;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.CExoLocString:
                    j = gffField.ValueCExoLocString.StringRef;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.CExoString:
                    j = gffField.ValueCExoString.Value;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.Char:
                    j = gffField.ValueChar;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.CResRef:
                    j = gffField.ValueCResRef.Value;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.Double:
                    j = gffField.ValueDouble;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.Dword:
                    j = gffField.ValueDword;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.Dword64:
                    j = gffField.ValueDword64;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.Float:
                    j = gffField.ValueFloat;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.GFFList:
                    //j = gffField.ValueList;
                    var a = new Newtonsoft.Json.Linq.JArray();
                    foreach (OEIShared.IO.GFF.GFFStruct gffStruct in gffField.ValueList.StructList)
                        a.Add(parseStruct(gffStruct));
                    j = a;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.GFFStruct:
                    j = parseStruct(gffField.ValueStruct);
                    break;
                case OEIShared.IO.GFF.GFFFieldType.Int:
                    j = gffField.ValueInt;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.Int64:
                    j = gffField.ValueInt64;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.Short:
                    j = gffField.ValueShort;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.VoidData:
                    j = gffField.ValueVoidData;
                    break;
                case OEIShared.IO.GFF.GFFFieldType.Word:
                    j = gffField.ValueWord;
                    break;
            }

            return j;
        }
 public void AddItemProperty(OEIShared.IO.GFF.GFFStruct ipGFF)
 {
     itemGFFStruct.GetListSafe("PropertiesList").StructList.Add(ipGFF);
 }
 /// <summary>
 /// Create a new resource.
 /// </summary>
 /// <param name="ResRef">Supplies the resource resref.</param>
 /// <param name="ResType">Supplies the resource type.</param>
 /// <returns>The new resource entry.</returns>
 public override IResourceEntry CreateResource(OEIShared.Utils.OEIResRef ResRef, ushort ResType)
 {
     throw new NotSupportedException("CreateResource not implemented");
 }
 /// <summary>
 /// Create a copy of a resource.
 /// </summary>
 /// <param name="Entry">Supplies the resource to copy.</param>
 /// <returns>The new resource entry.</returns>
 public override OEIShared.IO.IResourceEntry CopyResource(OEIShared.IO.IResourceEntry Entry)
 {
     return CopyResource(Entry, Entry.ResRef);
 }
 /// <summary>
 /// Create a copy of a resource.
 /// </summary>
 /// <param name="Entry">Supplies the resource to copy.</param>
 /// <param name="NewName">Supplies the new resource name.</param>
 /// <returns>The new resource entry.</returns>
 public override OEIShared.IO.IResourceEntry CopyResource(OEIShared.IO.IResourceEntry Entry, OEIShared.Utils.OEIResRef NewName)
 {
     throw new NotSupportedException("CopyResource not implemented");
 }
 private void EnforceNonDefaultScript(string reference, OEIShared.IO.IResourceEntry script, string newDefault, string[] blacklist)
 {
     if (Array.Exists(blacklist, element => element == script.ToString()))
     {
         log.WriteLine("FIXED: Object \"{0}\" has default script \"{1}\".", reference, script.ToString());
         script.ResRef.Value = newDefault;
     }
 }
 void PrintToDebugWindow(OEIShared.IO.GFF.GFFStruct gffStruct)           
 {
     System.Collections.IEnumerator keys = gffStruct.Fields.Keys.GetEnumerator();
     System.Collections.IEnumerator values = gffStruct.Fields.Values.GetEnumerator();
     for (int i = 0; i < gffStruct.FieldCount; i++)
     {
         keys.MoveNext();
         values.MoveNext();
         string key = (string)keys.Current;
         OEIShared.IO.GFF.GFFField value = (OEIShared.IO.GFF.GFFField)values.Current;
         DebugWindow.PrintDebugMessage(key + " (" + value.Type.ToString() + "): " + value.Value.ToString());
     }
 }