Example #1
0
        public ManagedUnrealClass(Type type, string packageName, string className, IntPtr parentClass)
        {
            Type                        = type;
            PackageName                 = packageName;
            ClassName                   = className;
            ParentClass                 = parentClass;
            ClassConstructor            = Constructor;
            ClassVTableHelperCtorCaller = VTableHelperCtorCaller;
            ClassAddReferencedObjects   = AddReferencedObjects;

            // This is what FKismetCompilerContext::CleanAndSanitizeClass uses
            IntPtr parentClassWithin = Native_UClass.Get_ClassWithin(ParentClass);

            WithinClass = parentClassWithin != IntPtr.Zero ? parentClassWithin : Native_UObject.StaticClass();

            NonUSharpClassParentClass = FindFirstNonUSharpClassParentClass(ParentClass);
            NativeParentClass         = FindFirstNativeParentClass(ParentClass);
        }