AMyClass::AMyClass(const class FPostConstructInitializeProperties& PCIP)
: Super(PCIP),
bIsDirty(false)
{
// Create a mesh with name
Mesh = PCIP.CreateDefaultSubobject(this, TEXT(“MyClassMesh”));
RootComponent = Mesh; // Set mesh as root component
//Mobility
Mesh->SetMobility(EComponentMobility::Stationary);
//Component Setup
Mesh->CastShadow = true;
Mesh->bCastDynamicShadow = true;
Mesh->BodyInstance.SetObjectType(ECC_WorldDynamic);
Mesh->BodyInstance.SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
// Set material
static ConstructorHelpers::FObjectFinder<UMaterial> Mat(TEXT("Material'/Game/StarterContent/Materials/M_Ground_Grass.M_Ground_Grass'"));
if (Mat.Object != NULL) {
UMaterial *Material = (UMaterial*)Mat.Object;
UMaterialInstanceDynamic *Material_dyn = UMaterialInstanceDynamic::Create(Material, this);
Mesh->SetMaterial(0, Material_dyn);
}
}
That is the constructor for MyClass.