Files
BusyRabbit/Plugins/UnrealSharp/Source/UnrealSharpCore/CSNamespace.cpp

36 lines
905 B
C++
Raw Normal View History

#include "CSNamespace.h"
#include "CSManager.h"
FString FCSNamespace::GetLastNamespace() const
{
FString NamespaceString = Namespace.ToString();
int32 LastDotIndex = NamespaceString.Find(TEXT("."), ESearchCase::CaseSensitive, ESearchDir::FromEnd);
if (LastDotIndex == INDEX_NONE)
{
return NamespaceString;
}
return NamespaceString.Right(NamespaceString.Len() - LastDotIndex - 1);
}
bool FCSNamespace::GetParentNamespace(FCSNamespace& OutParent) const
{
FString NamespaceString = Namespace.ToString();
int32 LastDotIndex = NamespaceString.Find(".", ESearchCase::CaseSensitive, ESearchDir::FromEnd);
if (LastDotIndex == INDEX_NONE)
{
return false;
}
FString ParentNamespace = NamespaceString.Left(LastDotIndex);
OutParent = FCSNamespace(*ParentNamespace);
return true;
}
UPackage* FCSNamespace::GetPackage() const
{
return UCSManager::Get().FindOrAddManagedPackage(*this);
}