どうもお世話になります
UAnimMontageのGetSectionLengthとGetSectionMetaDataをC++で拡張したAnimInstanceから呼びだそうとしています
C++については全く知識がなく、ソースコードを読んで見よう見まねで書いてみてなんとか目的の動作までこぎつけました
なので自分の記述が果たして正しい物かどうかに自信が持てず、下記のコードが間違っていないかどうかを見てもらいたくて投稿しました
変な質問かもしれませんがよろしくお願いします
UAnimInstance.h
#pragma once
#include "Animation/AnimInstance.h"
#include "MyAnimInstance.generated.h"
/**
*
*/
UCLASS()
class AITEST411_API UMyAnimInstance : public UAnimInstance
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "MyFunction")
float GetCurrentSectionLength(UAnimMontage * Montage, FName SectionName);
UFUNCTION(BlueprintCallable, Category = "MyFunction")
TArray< class UAnimMetaData * > GetCurrentMetaData(UAnimMontage * Montage, FName PlayingSection);
};
UAnimInstance.cpp
#include "AItest411.h"
#include "MyAnimInstance.h"
float UMyAnimInstance::GetCurrentSectionLength(UAnimMontage * Montage, FName SectionName)
{
int32 SectionIndex = Montage->GetSectionIndex(SectionName);
return Montage->GetSectionLength(SectionIndex);
}
TArray< class UAnimMetaData * > UMyAnimInstance::GetCurrentMetaData(UAnimMontage * Montage, FName PlyaingSection)
{
FName SectionName = PlyaingSection;
return Montage->GetSectionMetaData(SectionName);
}