(Feat) Add Animation Fps Charater
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
// Fill out your copyright notice in the Description page of Project Settings.
|
||||
|
||||
|
||||
#include "AnimNotify_ItemAction.h"
|
||||
|
||||
#include "Components/SkeletalMeshComponent.h"
|
||||
#include "Engine/World.h"
|
||||
#include "FpsPlayer.h"
|
||||
|
||||
void UAnimNotify_ItemAction::Notify(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation,
|
||||
const FAnimNotifyEventReference& EventReference)
|
||||
{
|
||||
Super::Notify(MeshComp, Animation, EventReference);
|
||||
|
||||
if (!MeshComp)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// L'editeur d'animation joue les notifies dans sa fenetre de previsualisation,
|
||||
// sur un mesh de preview qui n'appartient a aucun pawn. Le Cast ci-dessous
|
||||
// suffirait a s'en proteger, mais le monde de preview n'est pas un monde de
|
||||
// jeu et rien de ce qui suit n'y aurait de sens : on s'arrete plus tot.
|
||||
const UWorld* World = MeshComp->GetWorld();
|
||||
if (!World || !World->IsGameWorld())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Le montage tourne sur les bras ou sur le corps, deux composants du pawn :
|
||||
// dans les deux cas le proprietaire du mesh EST le personnage.
|
||||
if (AFpsPlayer* Player = Cast<AFpsPlayer>(MeshComp->GetOwner()))
|
||||
{
|
||||
Player->TriggerHeldItemAction();
|
||||
}
|
||||
}
|
||||
|
||||
FString UAnimNotify_ItemAction::GetNotifyName_Implementation() const
|
||||
{
|
||||
// Ce qui s'affiche sur le marqueur dans la timeline du montage. Sans cette
|
||||
// surcharge le moteur y ecrirait le nom de la classe, prefixe compris.
|
||||
return TEXT("Item Action");
|
||||
}
|
||||
Reference in New Issue
Block a user