Files
UnrealEngine/Engine/Source/Runtime/VerseCompiler/Private/uLang/Semantics/Effects.cpp
2025-05-18 13:04:45 +08:00

35 lines
756 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
// uLang Compiler Public API
#include "uLang/Semantics/Effects.h"
namespace
{
uLang::SEffectInfo EffectInfos[] =
{
#define VISIT_EFFECT(Name) { #Name, uLang::EEffect::Name },
VERSE_ENUM_EFFECTS(VISIT_EFFECT)
#undef VISIT_EFFECT
};
}
namespace uLang
{
TRangeView<SEffectInfo*, SEffectInfo*> AllEffectInfos()
{
return TRangeView<SEffectInfo*, SEffectInfo*>(EffectInfos, EffectInfos + ULANG_COUNTOF(EffectInfos));
}
SEffectInfo GetEffectInfo(EEffect Effect)
{
if (size_t(Effect) >= ULANG_COUNTOF(EffectInfos))
{
ULANG_ERRORF("Invalid effect enum %zu", size_t(Effect));
ULANG_UNREACHABLE();
}
else
{
return EffectInfos[size_t(Effect)];
}
}
}