private static Resource[] CollectResources() { var configPath = ResourceStreamingLocation.GetConfigFullFilePath(ResourceSettings.PLATFORM_DIRECTORY_IOS); var configData = CocoData.LoadFromJsonFile <ConfigData> (configPath); if (configData == null) { Debug.Log("ResourceODRCollector->CollectResources: resource config NOT found, will don't use ODR."); return(new Resource[0]); } var resources = new List <Resource> (); foreach (var locationData in configData.LocationDatas) { if (locationData.Location != LocationType.ODR) { continue; } var odrTag = locationData.Id; var directory = ResourceODRLocation.GetVirtualTagPath(odrTag); foreach (var assetBundleData in locationData.AssetBundleDatas) { CollectAssetBundle(assetBundleData, directory, odrTag, resources); } } return(resources.ToArray()); }
public bool CopyAssetBundlesToStreamingTarget(List <LocationData> locationDatas, string targetPlatform) { var virtualStreamingPath = ResourceStreamingLocation.GetVirtualAssetBundleFullRootPath(targetPlatform); if (!Directory.Exists(virtualStreamingPath)) { return(true); } var targetStreamingPath = ResourceStreamingLocation.GetAssetBundleFullRootPath(targetPlatform); // copy foreach (var locationData in locationDatas) { if (locationData.Location != LocationType.Streaming) { continue; } if (!Directory.Exists(targetStreamingPath)) { Directory.CreateDirectory(targetStreamingPath); } foreach (var assetBundleData in locationData.AssetBundleDatas) { CopyAssetBundle(assetBundleData.Id, virtualStreamingPath, targetStreamingPath); } } return(true); }
public ConfigData LoadConfigData(string platformDirectory) { var configFilePath = ResourceStreamingLocation.GetVirtualConfigFullFilePath(platformDirectory); var configData = CocoData.LoadFromJsonFile <ConfigData> (configFilePath) ?? new ConfigData(); configData.Init(); return(configData); }
public void SaveConfigData(ConfigData configData, string platformDirectory) { if (configData == null) { return; } var configFilePath = ResourceStreamingLocation.GetVirtualConfigFullFilePath(platformDirectory); CocoData.SaveToJsonFile(configData, configFilePath, true); }
private void MoveAssetBundleToVirtualLocations(List <LocationData> locationDatas, string originDirectory, string targetPlatform, bool clearFolders) { var virtualStreamingPath = ResourceStreamingLocation.GetVirtualAssetBundleFullRootPath(targetPlatform); var virtualServerPath = ResourceServerLocation.GetVirtualAssetBundleFullRootPath(targetPlatform); var virtualOdrPath = ResourceODRLocation.VirtualFullRootPath; if (clearFolders) { ResourceEditorHelper.ClearDirectory(virtualStreamingPath); ResourceEditorHelper.ClearDirectory(virtualServerPath); if (targetPlatform == ResourceSettings.PLATFORM_DIRECTORY_IOS) { ResourceEditorHelper.ClearDirectory(virtualOdrPath); } } foreach (var locationData in locationDatas) { var targetDirectory = string.Empty; switch (locationData.Location) { case LocationType.Streaming: targetDirectory = virtualStreamingPath; break; case LocationType.Server: targetDirectory = virtualServerPath; break; case LocationType.ODR: targetDirectory = Path.Combine(virtualOdrPath, locationData.Id); break; } if (string.IsNullOrEmpty(targetDirectory)) { continue; } if (!Directory.Exists(targetDirectory)) { Directory.CreateDirectory(targetDirectory); } foreach (var assetBundleData in locationData.AssetBundleDatas) { MoveAssetBundle(assetBundleData.Id, originDirectory, targetDirectory); } } }
public bool CopyConfigToTarget(string targetPlatform) { var originPath = ResourceStreamingLocation.GetVirtualConfigFullFilePath(targetPlatform); if (!File.Exists(originPath)) { return(false); } var targetPath = ResourceStreamingLocation.GetConfigFullFilePath(targetPlatform); var targetDirectory = Path.GetDirectoryName(targetPath); if (targetDirectory == null) { return(false); } if (!Directory.Exists(targetDirectory)) { Directory.CreateDirectory(targetDirectory); } File.Copy(originPath, targetPath, true); return(true); }