private static unsafe void GetAssetsRelativeFileName(IntPtr str, UInt32 bufferSize, IntPtr fullFileName) { unsafe { char *pAssets = (char *)str.ToPointer(); var pFileName = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(fullFileName); string contentAsset = ""; if (pFileName.StartsWith(CEngine.Instance.FileManager.ProjectContent)) { contentAsset = "content/" + pFileName.Substring(CEngine.Instance.FileManager.ProjectContent.Length); } else if (pFileName.StartsWith(CEngine.Instance.FileManager.EngineContent)) { contentAsset = "enginecontent/" + pFileName.Substring(CEngine.Instance.FileManager.EngineContent.Length); } else if (pFileName.StartsWith(CEngine.Instance.FileManager.EditorContent)) { contentAsset = "editorcontent/" + pFileName.Substring(CEngine.Instance.FileManager.EditorContent.Length); } else if (pFileName.StartsWith(CEngine.Instance.FileManager.DDCDirectory)) { contentAsset = "deriveddatacache/" + pFileName.Substring(CEngine.Instance.FileManager.DDCDirectory.Length); } var src = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(contentAsset); CoreSDK.SDK_Memory_Copy(pAssets, src.ToPointer(), (UInt32)contentAsset.Length); System.Runtime.InteropServices.Marshal.FreeHGlobal(src); //var ssss = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(str); } }
private static void GetAssetsFileName(IntPtr CppString, UInt32 bufferSize, IntPtr FullFileName, vBOOL LoadFromDocDir) { if (LoadFromDocDir) { unsafe { char *refCppString = (char *)CppString.ToPointer(); var AnsiFullFileName = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(FullFileName); var SrcCppString = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(AnsiFullFileName); CoreSDK.SDK_Memory_Copy(refCppString, SrcCppString.ToPointer(), (UInt32)AnsiFullFileName.Length); System.Runtime.InteropServices.Marshal.FreeHGlobal(SrcCppString); //var RelatedFileLocation = "Content/" + AnsiFullFileName.Substring(CEngine.Instance.FileManager.Content.Length); //var SrcCppString = System.Runtime.InteropServices.Marshal.StringToHGlobalAnsi(RelatedFileLocation); //CoreSDK.SDK_Memory_Copy(refCppString, SrcCppString.ToPointer(), (UInt32)RelatedFileLocation.Length); } } else { } }