Files

39 lines
984 B
C++

// Fill out your copyright notice in the Description page of Project Settings.
#include "FootstepSoundsDataAsset.h"
USoundBase* FFootstepSurfaceSounds::GetStepSound(EFootstepGait Gait) const
{
switch (Gait)
{
case EFootstepGait::Walk: return WalkStep;
case EFootstepGait::Jog: return JogStep;
case EFootstepGait::Run: return RunStep;
default: return nullptr;
}
}
USoundBase* FFootstepSurfaceSounds::GetStopSound(EFootstepGait Gait) const
{
switch (Gait)
{
case EFootstepGait::Walk: return WalkStop;
case EFootstepGait::Jog: return JogStop;
case EFootstepGait::Run: return RunStop;
default: return nullptr;
}
}
const FFootstepSurfaceSounds& UFootstepSoundsDataAsset::GetSurfaceSounds(EPhysicalSurface Surface) const
{
// Find et pas FindRef : on rend une reference sur l'entree de la table, sans
// copier les huit pointeurs a chaque pas.
if (const FFootstepSurfaceSounds* Found = Surfaces.Find(Surface))
{
return *Found;
}
return DefaultSurface;
}