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);
							 | 
						||
| 
								 | 
							
								}
							 |