36 lines
905 B
C++
36 lines
905 B
C++
#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);
|
|
}
|