internal static string GetSceneWritePath(EntityScenesPaths.PathType type, string subsectionName, AssetImportContext ctx) { var prefix = string.IsNullOrEmpty(subsectionName) ? "" : subsectionName + "."; var path = ctx.GetResultPath(prefix + EntityScenesPaths.GetExtension(type)); return(path); }
public static void WriteRefGuids(List <ReferencedUnityObjects> referencedUnityObjects, AssetImportContext ctx) { for (var index = 0; index < referencedUnityObjects.Count; index++) { var objRefs = referencedUnityObjects[index]; if (objRefs == null) { continue; } var refGuidsPath = ctx.GetResultPath($"{index}.{EntityScenesPaths.GetExtension(EntityScenesPaths.PathType.EntitiesUnityObjectRefGuids)}"); var runtimeGlobalObjectIds = ReferencedUnityObjectsToRuntimeGlobalObjectIds(objRefs); using (var refGuidWriter = new StreamBinaryWriter(refGuidsPath)) { refGuidWriter.Write(runtimeGlobalObjectIds.Length); refGuidWriter.WriteArray(runtimeGlobalObjectIds.AsArray()); } runtimeGlobalObjectIds.Dispose(); } }