diff --git a/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset b/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset index 2f90c49..37a6aa3 100644 Binary files a/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset and b/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_HammerHitDecal.uasset b/Content/FirstPerson/Blueprints/BP_HammerHitDecal.uasset new file mode 100644 index 0000000..251cb5b Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_HammerHitDecal.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_IronBlock.uasset b/Content/FirstPerson/Blueprints/BP_IronBlock.uasset index 3536ae0..5e077aa 100644 Binary files a/Content/FirstPerson/Blueprints/BP_IronBlock.uasset and b/Content/FirstPerson/Blueprints/BP_IronBlock.uasset differ diff --git a/Content/FirstPerson/Input/IMC_Default.uasset b/Content/FirstPerson/Input/IMC_Default.uasset index 99ca0e2..25cf402 100644 Binary files a/Content/FirstPerson/Input/IMC_Default.uasset and b/Content/FirstPerson/Input/IMC_Default.uasset differ diff --git a/Content/FirstPerson/Input/IMC_Hammer.uasset b/Content/FirstPerson/Input/IMC_Hammer.uasset new file mode 100644 index 0000000..09a0074 Binary files /dev/null and b/Content/FirstPerson/Input/IMC_Hammer.uasset differ diff --git a/Content/FirstPerson/IronBlock.uasset b/Content/FirstPerson/IronBlock.uasset deleted file mode 100644 index 0ce45a3..0000000 Binary files a/Content/FirstPerson/IronBlock.uasset and /dev/null differ diff --git a/Content/FirstPerson/Material.uasset b/Content/FirstPerson/Material.uasset deleted file mode 100644 index 05b61d5..0000000 Binary files a/Content/FirstPerson/Material.uasset and /dev/null differ diff --git a/Content/FirstPerson/NewMaterial.uasset b/Content/FirstPerson/NewMaterial.uasset deleted file mode 100644 index fe99311..0000000 Binary files a/Content/FirstPerson/NewMaterial.uasset and /dev/null differ diff --git a/Content/FirstPerson/iron_displacement.uasset b/Content/FirstPerson/iron_displacement.uasset deleted file mode 100644 index 59fa0e8..0000000 Binary files a/Content/FirstPerson/iron_displacement.uasset and /dev/null differ diff --git a/Content/Materials/M_HammerHitDecal.uasset b/Content/Materials/M_HammerHitDecal.uasset new file mode 100644 index 0000000..c908b99 Binary files /dev/null and b/Content/Materials/M_HammerHitDecal.uasset differ diff --git a/Content/Materials/M_HammerHitDecal_Inst.uasset b/Content/Materials/M_HammerHitDecal_Inst.uasset new file mode 100644 index 0000000..8460533 Binary files /dev/null and b/Content/Materials/M_HammerHitDecal_Inst.uasset differ diff --git a/Content/Materials/M_Iron.uasset b/Content/Materials/M_Iron.uasset new file mode 100644 index 0000000..2bcd0d9 Binary files /dev/null and b/Content/Materials/M_Iron.uasset differ diff --git a/Content/Materials/M_Iron_Inst.uasset b/Content/Materials/M_Iron_Inst.uasset new file mode 100644 index 0000000..72aff19 Binary files /dev/null and b/Content/Materials/M_Iron_Inst.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/ET/4MV9T547BZ4CWY6UHUJU0X.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/ET/4MV9T547BZ4CWY6UHUJU0X.uasset new file mode 100644 index 0000000..29c9606 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/ET/4MV9T547BZ4CWY6UHUJU0X.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/OJ/2028JO54KEAJB1N98IRKL0.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/OJ/2028JO54KEAJB1N98IRKL0.uasset index d4edc29..077e7c9 100644 Binary files a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/OJ/2028JO54KEAJB1N98IRKL0.uasset and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/OJ/2028JO54KEAJB1N98IRKL0.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/P3/7RMZUF7GCYTVARB8G5S3OB.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/P3/7RMZUF7GCYTVARB8G5S3OB.uasset new file mode 100644 index 0000000..30f5cc3 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/P3/7RMZUF7GCYTVARB8G5S3OB.uasset differ diff --git a/Source/BladeSmith/IronBlock.cpp b/Source/BladeSmith/IronBlock.cpp index e9505d9..e98f65d 100644 --- a/Source/BladeSmith/IronBlock.cpp +++ b/Source/BladeSmith/IronBlock.cpp @@ -29,14 +29,24 @@ CurrentImpactNormal() StaticMeshComp = CreateDefaultSubobject(TEXT("StaticMeshComponent")); RootComponent = StaticMeshComp; - // 设置默认网格(立方体) - UStaticMesh* DefaultMesh = LoadObject(nullptr, TEXT("/Engine/BasicShapes/Cube")); - if (DefaultMesh) +} +void AIronBlock::PostInitProperties() +{ + // 必须调用父类实现 + Super::PostInitProperties(); + + // 检查:如果 StaticMeshComp 没有被赋予任何网格(即在编辑器中没有设置) + // 并且我们正在处理 Class Default Object (CDO),通常用来设置类级的默认值 + if (StaticMeshComp && !StaticMeshComp->GetStaticMesh()) { - StaticMeshComp->SetStaticMesh(DefaultMesh); + // 只有当网格为空时,才加载并设置默认的 Cube + UStaticMesh* DefaultMesh = LoadObject(nullptr, TEXT("/Engine/BasicShapes/Cube")); + if (DefaultMesh) + { + StaticMeshComp->SetStaticMesh(DefaultMesh); + } } } - // Called when the game starts or when spawned void AIronBlock::BeginPlay() { diff --git a/Source/BladeSmith/IronBlock.h b/Source/BladeSmith/IronBlock.h index 8231fbb..efd1c7c 100644 --- a/Source/BladeSmith/IronBlock.h +++ b/Source/BladeSmith/IronBlock.h @@ -17,7 +17,6 @@ UCLASS() class BLADESMITH_API AIronBlock : public AActor { GENERATED_BODY() - UPROPERTY(EditAnywhere) UStaticMeshComponent* StaticMeshComp; @@ -44,7 +43,7 @@ protected: // Called when the game starts or when spawned virtual void BeginPlay() override; virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; - + virtual void PostInitProperties(); /** 初始化两个渲染目标和它们的初始数据 */ void InitializePositionTexture();