public override bool ResolveLinks() { var result = base.ResolveLinks(); InnerProperty = PCC.GetExportObject(_InnerIndex) as ME3Property; return result; }
public override bool ResolveLinks() { var result = base.ResolveLinks(); InnerProperty = PCC.GetExportObject(_InnerIndex) as ME3Property; return(result); }
public Variable ConvertVariable(ME3Property obj) { int size = -1; if (obj is ME3FixedArrayProperty) { size = (obj as ME3FixedArrayProperty).ArraySize; } return(new Variable(new List <Specifier>(), new VariableIdentifier(obj.Name, null, null, size), new VariableType(GetPropertyType(obj), null, null), null, null)); }
private String GetPropertyType(ME3Property obj) { String typeStr = "UNKNOWN"; if (obj is ME3ArrayProperty) { typeStr = "array< " + GetPropertyType((obj as ME3ArrayProperty).InnerProperty) + " >"; } else if (obj is ME3BoolProperty) { typeStr = "bool"; } else if (obj is ME3ByteProperty) { typeStr = (obj as ME3ByteProperty).IsEnum ? (obj as ME3ByteProperty).Enum.Name : "byte"; } else if (obj is ME3ClassProperty) { typeStr = "class"; } else if (obj is ME3ComponentProperty) { typeStr = "ActorComponent"; // TODO: is this correct at all? } else if (obj is ME3DelegateProperty) { typeStr = "delegate< " + (obj as ME3DelegateProperty).FunctionName + " >"; } else if (obj is ME3FixedArrayProperty) { typeStr = GetPropertyType((obj as ME3FixedArrayProperty).InnerProperty); } else if (obj is ME3FloatProperty) { typeStr = "float"; } else if (obj is ME3InterfaceProperty) { typeStr = (obj as ME3InterfaceProperty).InterfaceName; // ? } else if (obj is ME3IntProperty) { typeStr = "int"; } else if (obj is ME3NameProperty) { typeStr = "Name"; // ? } else if (obj is ME3Object) { typeStr = "object"; } else if (obj is ME3StrProperty) { typeStr = "string"; } else if (obj is ME3StructProperty) { typeStr = (obj as ME3StructProperty).Struct.Name; } return(typeStr); }