Exemple #1
0
        public override bool ResolveLinks()
        {
            var result = base.ResolveLinks();

            SuperField = PCC.GetExportObject(_SuperIndex) as ME3Field;
            NextField  = PCC.GetExportObject(_NextIndex) as ME3Field;

            return(result);
        }
Exemple #2
0
        public override bool ResolveLinks()
        {
            var result = base.ResolveLinks();

            SuperField = PCC.GetExportObject(_SuperIndex) as ME3Field;
            NextField = PCC.GetExportObject(_NextIndex) as ME3Field;

            return result;
        }
Exemple #3
0
        public override bool ResolveLinks()
        {
            var result = base.ResolveLinks();

            Members   = new List <ME3Object>();
            Structs   = new List <ME3Struct>();
            Enums     = new List <ME3Enum>();
            Variables = new List <ME3Property>();
            Constants = new List <ME3Const>();

            ME3Field obj = PCC.GetExportObject(FirstChildIndex) as ME3Field;

            while (obj != null)
            {
                Members.Add(obj);
                if (obj.GetType().IsSubclassOf(typeof(ME3Property)))
                {
                    Variables.Add(obj as ME3Property);
                }
                else if (String.Compare(obj.ExportEntry.ClassName, "enum", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    Enums.Add(obj as ME3Enum);
                }
                else if (String.Compare(obj.ExportEntry.ClassName, "const", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    Constants.Add(obj as ME3Const); // TODO: does this happen? If so, handle in decompiler, locals etc.
                }
                else if (String.Compare(obj.ExportEntry.ClassName, "Struct", StringComparison.OrdinalIgnoreCase) == 0 ||
                         String.Compare(obj.ExportEntry.ClassName, "ScriptStruct", StringComparison.OrdinalIgnoreCase) == 0)
                { // TODO: is this correct, struct/scriptstruct?
                    Structs.Add(obj as ME3Struct);
                }
                obj = obj.NextField;
            }

            return(result);
        }