Replace SkeletalMesh with SkeletalMeshComponent
This commit is contained in:
parent
126a9e116a
commit
e97ed90ffd
|
@ -188,6 +188,7 @@ AWeapon* ANakatomiCharacter::InitializeWeapon(TSubclassOf<class AWeapon> weapon)
|
||||||
FActorSpawnParameters SpawnParameters;
|
FActorSpawnParameters SpawnParameters;
|
||||||
SpawnParameters.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;
|
SpawnParameters.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn;
|
||||||
AWeapon* Weapon = GetWorld()->SpawnActor<AWeapon>(weapon, SpawnParameters);
|
AWeapon* Weapon = GetWorld()->SpawnActor<AWeapon>(weapon, SpawnParameters);
|
||||||
|
Weapon->SetOwner(this);
|
||||||
Weapon->AttachToComponent(GetMesh(), FAttachmentTransformRules::SnapToTargetNotIncludingScale, "WeaponHand");
|
Weapon->AttachToComponent(GetMesh(), FAttachmentTransformRules::SnapToTargetNotIncludingScale, "WeaponHand");
|
||||||
Weapon->SetActorEnableCollision(false);
|
Weapon->SetActorEnableCollision(false);
|
||||||
Weapon->SetActorHiddenInGame(true);
|
Weapon->SetActorHiddenInGame(true);
|
||||||
|
|
|
@ -11,7 +11,7 @@ ARandomWeapon::ARandomWeapon()
|
||||||
void ARandomWeapon::BeginPlay()
|
void ARandomWeapon::BeginPlay()
|
||||||
{
|
{
|
||||||
WeaponProperties = RandomWeaponParameters->GenerateRandomWeaponProperties();
|
WeaponProperties = RandomWeaponParameters->GenerateRandomWeaponProperties();
|
||||||
WeaponSkeletalMesh = RandomWeaponParameters->PickRandomMesh();
|
WeaponSkeletalMeshComponent->SetSkeletalMeshAsset(RandomWeaponParameters->PickRandomMesh());
|
||||||
FireSound = RandomWeaponParameters->PickRandomSoundBase();
|
FireSound = RandomWeaponParameters->PickRandomSoundBase();
|
||||||
FieldSystemActor = RandomWeaponParameters->PickRandomFieldSystem();
|
FieldSystemActor = RandomWeaponParameters->PickRandomFieldSystem();
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,13 @@
|
||||||
// Sets default values
|
// Sets default values
|
||||||
AWeapon::AWeapon()
|
AWeapon::AWeapon()
|
||||||
{
|
{
|
||||||
|
WeaponSkeletalMeshComponent = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("Skeletal Mesh Component"));
|
||||||
|
WeaponSkeletalMeshComponent->SetCollisionProfileName(FName("NoCollision"));
|
||||||
|
WeaponSkeletalMeshComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision);
|
||||||
|
WeaponSkeletalMeshComponent->SetSimulatePhysics(false);
|
||||||
|
WeaponSkeletalMeshComponent->SetGenerateOverlapEvents(false);
|
||||||
|
WeaponSkeletalMeshComponent->SetNotifyRigidBodyCollision(false);
|
||||||
|
SetRootComponent(WeaponSkeletalMeshComponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Called when the game starts or when spawned
|
// Called when the game starts or when spawned
|
||||||
|
@ -19,12 +26,12 @@ void AWeapon::BeginPlay()
|
||||||
|
|
||||||
USkeletalMesh* AWeapon::GetSkeletalMesh()
|
USkeletalMesh* AWeapon::GetSkeletalMesh()
|
||||||
{
|
{
|
||||||
return WeaponSkeletalMesh;
|
return WeaponSkeletalMeshComponent->GetSkeletalMeshAsset();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AWeapon::SetSkeletalMesh(USkeletalMesh* USkeletalMesh)
|
void AWeapon::SetSkeletalMesh(USkeletalMesh* USkeletalMesh)
|
||||||
{
|
{
|
||||||
WeaponSkeletalMesh = USkeletalMesh;
|
WeaponSkeletalMeshComponent->SetSkeletalMeshAsset(USkeletalMesh);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEnumAsByte<WeaponState>* AWeapon::GetCurrentWeaponStatus()
|
TEnumAsByte<WeaponState>* AWeapon::GetCurrentWeaponStatus()
|
||||||
|
|
|
@ -29,8 +29,8 @@ class NAKATOMI_API AWeapon : public AActor
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(BlueprintReadWrite)
|
||||||
USkeletalMesh* WeaponSkeletalMesh = nullptr;
|
USkeletalMeshComponent* WeaponSkeletalMeshComponent;
|
||||||
|
|
||||||
UPROPERTY(EditDefaultsOnly)
|
UPROPERTY(EditDefaultsOnly)
|
||||||
TEnumAsByte<WeaponState> CurrentWeaponStatus;
|
TEnumAsByte<WeaponState> CurrentWeaponStatus;
|
||||||
|
@ -65,6 +65,7 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Called when the game starts or when spawned
|
// Called when the game starts or when spawned
|
||||||
|
UFUNCTION(Blueprintable, BlueprintCallable)
|
||||||
virtual void BeginPlay() override;
|
virtual void BeginPlay() override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in New Issue