Exemplo n.º 1
0
        /// <summary>
        /// Loads the underlying native type info for generated types (types tagged with UMetaPath)
        /// This loads the class address/properties/functions/offsets
        /// </summary>
        public static void LoadNative()
        {
            // Clear NativeReflectionCached just in case it is holding onto old values.
            NativeReflectionCached.Clear();

            foreach (KeyValuePair <Type, UMetaPathAttribute> type in Native)
            {
                LoadNative(type.Key, type.Value);
            }
        }
Exemplo n.º 2
0
 static void LoadNativeType()
 {
     IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.IntPoint");
     FIntPoint_StructSize = NativeReflection.GetStructSize(classAddress);
     X_Offset = NativeReflectionCached.GetPropertyOffset(classAddress, "X");
     X_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "X", Classes.UIntProperty);
     Y_Offset = NativeReflectionCached.GetPropertyOffset(classAddress, "Y");
     Y_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "Y", Classes.UIntProperty);
     NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FIntPoint));
 }
Exemplo n.º 3
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.FloatInterval");

            FFloatInterval_StructSize = NativeReflection.GetStructSize(classAddress);
            Min_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "Min");
            Min_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "Min", Classes.UFloatProperty);
            Max_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "Max");
            Max_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "Max", Classes.UFloatProperty);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FFloatInterval));
        }
Exemplo n.º 4
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.TwoVectors");

            FTwoVectors_StructSize = NativeReflection.GetStructSize(classAddress);
            v1_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "v1");
            v1_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "v1", Classes.UStructProperty);
            v2_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "v2");
            v2_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "v2", Classes.UStructProperty);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FTwoVectors));
        }
Exemplo n.º 5
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.Int32RangeBound");

            FInt32RangeBound_StructSize = NativeReflection.GetStructSize(classAddress);
            NativeReflectionCached.GetPropertyRef(ref Type_PropertyAddress, classAddress, "Type");
            Type_Offset   = NativeReflectionCached.GetPropertyOffset(classAddress, "Type");
            Type_IsValid  = NativeReflectionCached.ValidatePropertyClass(classAddress, "Type", Classes.UByteProperty);
            Value_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "Value");
            Value_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "Value", Classes.UFloatProperty);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FInt32RangeBound));
        }
Exemplo n.º 6
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.Rotator");

            FRotator_StructSize = NativeReflection.GetStructSize(classAddress);
            Pitch_Offset        = NativeReflectionCached.GetPropertyOffset(classAddress, "Pitch");
            Pitch_IsValid       = NativeReflectionCached.ValidatePropertyClass(classAddress, "Pitch", Classes.UFloatProperty);
            Yaw_Offset          = NativeReflectionCached.GetPropertyOffset(classAddress, "Yaw");
            Yaw_IsValid         = NativeReflectionCached.ValidatePropertyClass(classAddress, "Yaw", Classes.UFloatProperty);
            Roll_Offset         = NativeReflectionCached.GetPropertyOffset(classAddress, "Roll");
            Roll_IsValid        = NativeReflectionCached.ValidatePropertyClass(classAddress, "Roll", Classes.UFloatProperty);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FRotator));
        }
Exemplo n.º 7
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.FloatRange");

            FFloatRange_StructSize = NativeReflection.GetStructSize(classAddress);
            LowerBound_Offset      = NativeReflectionCached.GetPropertyOffset(classAddress, "LowerBound");
            LowerBound_IsValid     = NativeReflectionCached.ValidatePropertyClass(classAddress, "LowerBound", Classes.UStructProperty);
            UpperBound_Offset      = NativeReflectionCached.GetPropertyOffset(classAddress, "UpperBound");
            UpperBound_IsValid     = NativeReflectionCached.ValidatePropertyClass(classAddress, "UpperBound", Classes.UStructProperty);
            FFloatRange_IsValid    = classAddress != IntPtr.Zero && LowerBound_IsValid && UpperBound_IsValid;
            NativeReflection.LogStructIsValid("/Script/CoreUObject.FloatRange", FFloatRange_IsValid);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FFloatRange));
        }
Exemplo n.º 8
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.BoxSphereBounds");

            FBoxSphereBounds_StructSize = NativeReflection.GetStructSize(classAddress);
            Origin_Offset        = NativeReflectionCached.GetPropertyOffset(classAddress, "Origin");
            Origin_IsValid       = NativeReflectionCached.ValidatePropertyClass(classAddress, "Origin", Classes.UStructProperty);
            BoxExtent_Offset     = NativeReflectionCached.GetPropertyOffset(classAddress, "BoxExtent");
            BoxExtent_IsValid    = NativeReflectionCached.ValidatePropertyClass(classAddress, "BoxExtent", Classes.UStructProperty);
            SphereRadius_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "SphereRadius");
            SphereRadius_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "SphereRadius", Classes.UFloatProperty);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FBoxSphereBounds));
        }
Exemplo n.º 9
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.Box");

            FBox_StructSize = NativeReflection.GetStructSize(classAddress);
            Min_Offset      = NativeReflectionCached.GetPropertyOffset(classAddress, "Min");
            Min_IsValid     = NativeReflectionCached.ValidatePropertyClass(classAddress, "Min", Classes.UStructProperty);
            Max_Offset      = NativeReflectionCached.GetPropertyOffset(classAddress, "Max");
            Max_IsValid     = NativeReflectionCached.ValidatePropertyClass(classAddress, "Max", Classes.UStructProperty);
            IsValid_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "IsValid");
            IsValid_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "IsValid", Classes.UByteProperty);
            //NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FBox));
        }
Exemplo n.º 10
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.RandomStream");

            FRandomStream_StructSize = NativeReflection.GetStructSize(classAddress);
            InitialSeed_Offset       = NativeReflectionCached.GetPropertyOffset(classAddress, "InitialSeed");
            InitialSeed_IsValid      = NativeReflectionCached.ValidatePropertyClass(classAddress, "InitialSeed", Classes.UIntProperty);
            Seed_Offset           = NativeReflectionCached.GetPropertyOffset(classAddress, "Seed");
            Seed_IsValid          = NativeReflectionCached.ValidatePropertyClass(classAddress, "Seed", Classes.UIntProperty);
            FRandomStream_IsValid = classAddress != IntPtr.Zero && InitialSeed_IsValid && Seed_IsValid;
            NativeReflection.LogStructIsValid("/Script/CoreUObject.RandomStream", FRandomStream_IsValid);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FRandomStream));
        }
Exemplo n.º 11
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.Box2D");

            FBox2D_StructSize = NativeReflection.GetStructSize(classAddress);
            Min_Offset        = NativeReflectionCached.GetPropertyOffset(classAddress, "Min");
            Min_IsValid       = NativeReflectionCached.ValidatePropertyClass(classAddress, "Min", Classes.UStructProperty);
            Max_Offset        = NativeReflectionCached.GetPropertyOffset(classAddress, "Max");
            Max_IsValid       = NativeReflectionCached.ValidatePropertyClass(classAddress, "Max", Classes.UStructProperty);
            bIsValid_Offset   = NativeReflectionCached.GetPropertyOffset(classAddress, "bIsValid");
            bIsValid_IsValid  = NativeReflectionCached.ValidatePropertyClass(classAddress, "bIsValid", Classes.UByteProperty);
            FBox2D_IsValid    = classAddress != IntPtr.Zero && Min_IsValid && Max_IsValid && bIsValid_IsValid;
            NativeReflection.LogStructIsValid("/Script/CoreUObject.Box2D", FBox2D_IsValid);
        }
Exemplo n.º 12
0
        /// <summary>
        /// Loads the underlying native type info for generated types (types tagged with UMetaPath)
        /// This loads the class address/properties/functions/offsets
        /// </summary>
        internal static void LoadNative(Assembly assembly)
        {
            // Clear NativeReflectionCached just in case it is holding onto old values.
            NativeReflectionCached.Clear();

            Dictionary <Type, UMetaPathAttribute> nativeTypes;

            if (AssembliesNativeTypes.TryGetValue(assembly, out nativeTypes))
            {
                foreach (KeyValuePair <Type, UMetaPathAttribute> type in nativeTypes)
                {
                    LoadNative(type.Key, type.Value);
                }
            }
        }
Exemplo n.º 13
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.Color");

            FColor_StructSize = NativeReflection.GetStructSize(classAddress);
            B_Offset          = NativeReflectionCached.GetPropertyOffset(classAddress, "B");
            B_IsValid         = NativeReflectionCached.ValidatePropertyClass(classAddress, "B", Classes.UByteProperty);
            G_Offset          = NativeReflectionCached.GetPropertyOffset(classAddress, "G");
            G_IsValid         = NativeReflectionCached.ValidatePropertyClass(classAddress, "G", Classes.UByteProperty);
            R_Offset          = NativeReflectionCached.GetPropertyOffset(classAddress, "R");
            R_IsValid         = NativeReflectionCached.ValidatePropertyClass(classAddress, "R", Classes.UByteProperty);
            A_Offset          = NativeReflectionCached.GetPropertyOffset(classAddress, "A");
            A_IsValid         = NativeReflectionCached.ValidatePropertyClass(classAddress, "A", Classes.UByteProperty);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FColor));
        }
Exemplo n.º 14
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.Vector4");

            FVector4_StructSize = NativeReflection.GetStructSize(classAddress);
            X_Offset            = NativeReflectionCached.GetPropertyOffset(classAddress, "X");
            X_IsValid           = NativeReflectionCached.ValidatePropertyClass(classAddress, "X", Classes.UFloatProperty);
            Y_Offset            = NativeReflectionCached.GetPropertyOffset(classAddress, "Y");
            Y_IsValid           = NativeReflectionCached.ValidatePropertyClass(classAddress, "Y", Classes.UFloatProperty);
            Z_Offset            = NativeReflectionCached.GetPropertyOffset(classAddress, "Z");
            Z_IsValid           = NativeReflectionCached.ValidatePropertyClass(classAddress, "Z", Classes.UFloatProperty);
            W_Offset            = NativeReflectionCached.GetPropertyOffset(classAddress, "W");
            W_IsValid           = NativeReflectionCached.ValidatePropertyClass(classAddress, "W", Classes.UFloatProperty);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FVector4));
        }
Exemplo n.º 15
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.InterpCurvePointLinearColor");

            FInterpCurvePointLinearColor_StructSize = NativeReflection.GetStructSize(classAddress);
            InVal_Offset          = NativeReflectionCached.GetPropertyOffset(classAddress, "InVal");
            InVal_IsValid         = NativeReflectionCached.ValidatePropertyClass(classAddress, "InVal", Classes.UFloatProperty);
            OutVal_Offset         = NativeReflectionCached.GetPropertyOffset(classAddress, "OutVal");
            OutVal_IsValid        = NativeReflectionCached.ValidatePropertyClass(classAddress, "OutVal", Classes.UStructProperty);
            ArriveTangent_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "ArriveTangent");
            ArriveTangent_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "ArriveTangent", Classes.UStructProperty);
            LeaveTangent_Offset   = NativeReflectionCached.GetPropertyOffset(classAddress, "LeaveTangent");
            LeaveTangent_IsValid  = NativeReflectionCached.ValidatePropertyClass(classAddress, "LeaveTangent", Classes.UStructProperty);
            NativeReflectionCached.GetPropertyRef(ref InterpMode_PropertyAddress, classAddress, "InterpMode");
            InterpMode_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "InterpMode");
            InterpMode_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "InterpMode", Classes.UByteProperty);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FInterpCurvePointLinearColor));
        }
Exemplo n.º 16
0
        static void LoadNativeType()
        {
            IntPtr classAddress = NativeReflection.GetStruct("/Script/CoreUObject.OrientedBox");

            FOrientedBox_StructSize = NativeReflection.GetStructSize(classAddress);
            Center_Offset           = NativeReflectionCached.GetPropertyOffset(classAddress, "Center");
            Center_IsValid          = NativeReflectionCached.ValidatePropertyClass(classAddress, "Center", Classes.UStructProperty);
            AxisX_Offset            = NativeReflectionCached.GetPropertyOffset(classAddress, "AxisX");
            AxisX_IsValid           = NativeReflectionCached.ValidatePropertyClass(classAddress, "AxisX", Classes.UStructProperty);
            AxisY_Offset            = NativeReflectionCached.GetPropertyOffset(classAddress, "AxisY");
            AxisY_IsValid           = NativeReflectionCached.ValidatePropertyClass(classAddress, "AxisY", Classes.UStructProperty);
            AxisZ_Offset            = NativeReflectionCached.GetPropertyOffset(classAddress, "AxisZ");
            AxisZ_IsValid           = NativeReflectionCached.ValidatePropertyClass(classAddress, "AxisZ", Classes.UStructProperty);
            ExtentX_Offset          = NativeReflectionCached.GetPropertyOffset(classAddress, "ExtentX");
            ExtentX_IsValid         = NativeReflectionCached.ValidatePropertyClass(classAddress, "ExtentX", Classes.UFloatProperty);
            ExtentY_Offset          = NativeReflectionCached.GetPropertyOffset(classAddress, "ExtentY");
            ExtentY_IsValid         = NativeReflectionCached.ValidatePropertyClass(classAddress, "ExtentY", Classes.UFloatProperty);
            ExtentZ_Offset          = NativeReflectionCached.GetPropertyOffset(classAddress, "ExtentZ");
            ExtentZ_IsValid         = NativeReflectionCached.ValidatePropertyClass(classAddress, "ExtentZ", Classes.UFloatProperty);
            NativeReflection.ValidateBlittableStructSize(classAddress, typeof(FOrientedBox));
        }
Exemplo n.º 17
0
 static void LoadNativeType()
 {
     //if (NativeReflection.CachedTypeInfo.Enabled)
     //{
     //    NativeReflection.CachedTypeInfo typeInfo = NativeReflection.CachedTypeInfo.BuildClass("/Script/USharp.BPTest1");
     //    MyMap_IsValid = typeInfo.GetPropertyRefOffsetAndValidate("MyMap", ref MyMap_PropertyAddress, out MyMap_Offset, Classes.UMapProperty);
     //    MySet_IsValid = typeInfo.GetPropertyRefOffsetAndValidate("MySet", ref MySet_PropertyAddress, out MySet_Offset, Classes.USetProperty);
     //    NativeReflection.CachedTypeInfo CallMe6_FunctionInfo = typeInfo.GetFunction("CallMe6");
     //    CallMe6_FunctionAddress = CallMe6_FunctionInfo.Address;
     //    CallMe6_ParamsSize = CallMe6_FunctionInfo.Size;
     //    CallMe6_test_IsValid = CallMe6_FunctionInfo.GetPropertyOffsetAndValidate("test", out CallMe6_test_Offset, Classes.UStructProperty);
     //    CallMe6_test2_IsValid = CallMe6_FunctionInfo.GetPropertyOffsetAndValidate("test2", out CallMe6_test2_Offset, Classes.UStructProperty);
     //    CallMe6_IsValid = CallMe6_FunctionInfo.Exists && CallMe6_test_IsValid && CallMe6_test2_IsValid;
     //    CallMe6_FunctionInfo.LogIsValid(CallMe6_IsValid);
     //    NativeReflection.CachedTypeInfo CallMe5_FunctionInfo = typeInfo.GetFunction("CallMe5");
     //    CallMe5_FunctionAddress = CallMe5_FunctionInfo.Address;
     //    CallMe5_ParamsSize = CallMe5_FunctionInfo.Size;
     //    CallMe5_a1_IsValid = CallMe5_FunctionInfo.GetPropertyRefOffsetAndValidate("a1", ref CallMe5_a1_PropertyAddress, out CallMe5_a1_Offset, Classes.UArrayProperty);
     //    CallMe5_a2_IsValid = CallMe5_FunctionInfo.GetPropertyRefOffsetAndValidate("a2", ref CallMe5_a2_PropertyAddress, out CallMe5_a2_Offset, Classes.UArrayProperty);
     //    CallMe5_IsValid = CallMe5_FunctionInfo.Exists && CallMe5_a1_IsValid && CallMe5_a2_IsValid;
     //    CallMe5_FunctionInfo.LogIsValid(CallMe5_IsValid);
     //    NativeReflection.CachedTypeInfo CallMe4_FunctionInfo = typeInfo.GetFunction("CallMe4");
     //    CallMe4_FunctionAddress = CallMe4_FunctionInfo.Address;
     //    CallMe4_ParamsSize = CallMe4_FunctionInfo.Size;
     //    CallMe4_ReturnValue_IsValid = CallMe4_FunctionInfo.GetPropertyRefOffsetAndValidate("ReturnValue", ref CallMe4_ReturnValue_PropertyAddress, out CallMe4_ReturnValue_Offset, Classes.UArrayProperty);
     //    CallMe4_IsValid = CallMe4_FunctionInfo.Exists && CallMe4_ReturnValue_IsValid;
     //    CallMe4_FunctionInfo.LogIsValid(CallMe4_IsValid);
     //    NativeReflection.CachedTypeInfo CallMe3_FunctionInfo = typeInfo.GetFunction("CallMe3");
     //    CallMe3_FunctionAddress = CallMe3_FunctionInfo.Address;
     //    CallMe3_ParamsSize = CallMe3_FunctionInfo.Size;
     //    CallMe3_ReturnValue_IsValid = CallMe3_FunctionInfo.GetPropertyRefOffsetAndValidate("ReturnValue", ref CallMe3_ReturnValue_PropertyAddress, out CallMe3_ReturnValue_Offset, Classes.UArrayProperty);
     //    CallMe3_IsValid = CallMe3_FunctionInfo.Exists && CallMe3_ReturnValue_IsValid;
     //    CallMe3_FunctionInfo.LogIsValid(CallMe3_IsValid);
     //    NativeReflection.CachedTypeInfo CallMe2_FunctionInfo = typeInfo.GetFunction("CallMe2");
     //    CallMe2_FunctionAddress = CallMe2_FunctionInfo.Address;
     //    CallMe2_ParamsSize = CallMe2_FunctionInfo.Size;
     //    CallMe2_IsValid = CallMe2_FunctionInfo.Exists;
     //    CallMe2_FunctionInfo.LogIsValid(CallMe2_IsValid);
     //    NativeReflection.CachedTypeInfo CallMe_FunctionInfo = typeInfo.GetFunction("CallMe");
     //    CallMe_FunctionAddress = CallMe_FunctionInfo.Address;
     //    CallMe_ParamsSize = CallMe_FunctionInfo.Size;
     //    CallMe_IsValid = CallMe_FunctionInfo.Exists;
     //    CallMe_FunctionInfo.LogIsValid(CallMe_IsValid);
     //}
     //else
     {
         IntPtr classAddress = NativeReflection.GetClass("/Script/USharp.BPTest1");
         NativeReflectionCached.GetPropertyRef(ref MyMap_PropertyAddress, classAddress, "MyMap");
         MyMap_Offset  = NativeReflectionCached.GetPropertyOffset(classAddress, "MyMap");
         MyMap_IsValid = NativeReflectionCached.ValidatePropertyClass(classAddress, "MyMap", Classes.UMapProperty);
         NativeReflectionCached.GetPropertyRef(ref MySet_PropertyAddress, classAddress, "MySet");
         MySet_Offset            = NativeReflectionCached.GetPropertyOffset(classAddress, "MySet");
         MySet_IsValid           = NativeReflectionCached.ValidatePropertyClass(classAddress, "MySet", Classes.USetProperty);
         CallMe6_FunctionAddress = NativeReflectionCached.GetFunction(classAddress, "CallMe6");
         CallMe6_ParamsSize      = NativeReflection.GetFunctionParamsSize(CallMe6_FunctionAddress);
         CallMe6_test_Offset     = NativeReflectionCached.GetPropertyOffset(CallMe6_FunctionAddress, "test");
         CallMe6_test_IsValid    = NativeReflectionCached.ValidatePropertyClass(CallMe6_FunctionAddress, "test", Classes.UStructProperty);
         CallMe6_test2_Offset    = NativeReflectionCached.GetPropertyOffset(CallMe6_FunctionAddress, "test2");
         CallMe6_test2_IsValid   = NativeReflectionCached.ValidatePropertyClass(CallMe6_FunctionAddress, "test2", Classes.UStructProperty);
         CallMe6_IsValid         = CallMe6_FunctionAddress != IntPtr.Zero && CallMe6_test_IsValid && CallMe6_test2_IsValid;
         NativeReflection.LogFunctionIsValid("/Script/USharp.BPTest1:CallMe6", CallMe6_IsValid);
         CallMe5_FunctionAddress = NativeReflectionCached.GetFunction(classAddress, "CallMe5");
         CallMe5_ParamsSize      = NativeReflection.GetFunctionParamsSize(CallMe5_FunctionAddress);
         NativeReflectionCached.GetPropertyRef(ref CallMe5_a1_PropertyAddress, CallMe5_FunctionAddress, "a1");
         CallMe5_a1_Offset  = NativeReflectionCached.GetPropertyOffset(CallMe5_FunctionAddress, "a1");
         CallMe5_a1_IsValid = NativeReflectionCached.ValidatePropertyClass(CallMe5_FunctionAddress, "a1", Classes.UArrayProperty);
         NativeReflectionCached.GetPropertyRef(ref CallMe5_a2_PropertyAddress, CallMe5_FunctionAddress, "a2");
         CallMe5_a2_Offset  = NativeReflectionCached.GetPropertyOffset(CallMe5_FunctionAddress, "a2");
         CallMe5_a2_IsValid = NativeReflectionCached.ValidatePropertyClass(CallMe5_FunctionAddress, "a2", Classes.UArrayProperty);
         CallMe5_IsValid    = CallMe5_FunctionAddress != IntPtr.Zero && CallMe5_a1_IsValid && CallMe5_a2_IsValid;
         NativeReflection.LogFunctionIsValid("/Script/USharp.BPTest1:CallMe5", CallMe5_IsValid);
         CallMe4_FunctionAddress = NativeReflectionCached.GetFunction(classAddress, "CallMe4");
         CallMe4_ParamsSize      = NativeReflection.GetFunctionParamsSize(CallMe4_FunctionAddress);
         NativeReflectionCached.GetPropertyRef(ref CallMe4_ReturnValue_PropertyAddress, CallMe4_FunctionAddress, "ReturnValue");
         CallMe4_ReturnValue_Offset  = NativeReflectionCached.GetPropertyOffset(CallMe4_FunctionAddress, "ReturnValue");
         CallMe4_ReturnValue_IsValid = NativeReflectionCached.ValidatePropertyClass(CallMe4_FunctionAddress, "ReturnValue", Classes.UArrayProperty);
         CallMe4_IsValid             = CallMe4_FunctionAddress != IntPtr.Zero && CallMe4_ReturnValue_IsValid;
         NativeReflection.LogFunctionIsValid("/Script/USharp.BPTest1:CallMe4", CallMe4_IsValid);
         CallMe3_FunctionAddress = NativeReflectionCached.GetFunction(classAddress, "CallMe3");
         CallMe3_ParamsSize      = NativeReflection.GetFunctionParamsSize(CallMe3_FunctionAddress);
         NativeReflectionCached.GetPropertyRef(ref CallMe3_ReturnValue_PropertyAddress, CallMe3_FunctionAddress, "ReturnValue");
         CallMe3_ReturnValue_Offset  = NativeReflectionCached.GetPropertyOffset(CallMe3_FunctionAddress, "ReturnValue");
         CallMe3_ReturnValue_IsValid = NativeReflectionCached.ValidatePropertyClass(CallMe3_FunctionAddress, "ReturnValue", Classes.UArrayProperty);
         CallMe3_IsValid             = CallMe3_FunctionAddress != IntPtr.Zero && CallMe3_ReturnValue_IsValid;
         NativeReflection.LogFunctionIsValid("/Script/USharp.BPTest1:CallMe3", CallMe3_IsValid);
         CallMe2_FunctionAddress = NativeReflectionCached.GetFunction(classAddress, "CallMe2");
         CallMe2_ParamsSize      = NativeReflection.GetFunctionParamsSize(CallMe2_FunctionAddress);
         CallMe2_IsValid         = CallMe2_FunctionAddress != IntPtr.Zero;
         NativeReflection.LogFunctionIsValid("/Script/USharp.BPTest1:CallMe2", CallMe2_IsValid);
         CallMe_FunctionAddress = NativeReflectionCached.GetFunction(classAddress, "CallMe");
         CallMe_ParamsSize      = NativeReflection.GetFunctionParamsSize(CallMe_FunctionAddress);
         CallMe_IsValid         = CallMe_FunctionAddress != IntPtr.Zero;
         NativeReflection.LogFunctionIsValid("/Script/USharp.BPTest1:CallMe", CallMe_IsValid);
     }
 }