public LocationData(string srcDir) { this = new DOTweenUtilityWindow.LocationData(); this.dir = srcDir; this.filePath = this.dir + EditorUtils.pathSlash + "DOTweenSettings.asset"; this.adbFilePath = EditorUtils.FullPathToADBPath(this.filePath); this.adbParentDir = EditorUtils.FullPathToADBPath(this.dir.Substring(0, this.dir.LastIndexOf(EditorUtils.pathSlash))); }
private static DOTweenSettings MoveSrc(DOTweenUtilityWindow.LocationData[] from, DOTweenUtilityWindow.LocationData to) { if (!Directory.Exists(to.dir)) { AssetDatabase.CreateFolder(to.adbParentDir, "Resources"); } foreach (DOTweenUtilityWindow.LocationData locationData in from) { if (File.Exists(locationData.filePath)) { AssetDatabase.MoveAsset(locationData.adbFilePath, to.adbFilePath); AssetDatabase.DeleteAsset(locationData.adbFilePath); if (Directory.GetDirectories(locationData.dir).Length == 0 && Directory.GetFiles(locationData.dir).Length == 0) { AssetDatabase.DeleteAsset(EditorUtils.FullPathToADBPath(locationData.dir)); } } } return(EditorUtils.ConnectToSourceAsset <DOTweenSettings>(to.adbFilePath, true)); }
private static DOTweenSettings ConnectToSource(DOTweenSettings src, bool createIfMissing, bool fullSetup) { DOTweenUtilityWindow.LocationData to1 = new DOTweenUtilityWindow.LocationData(EditorUtils.assetsPath + EditorUtils.pathSlash + "Resources"); DOTweenUtilityWindow.LocationData to2 = new DOTweenUtilityWindow.LocationData(EditorUtils.dotweenDir + "Resources"); bool flag = EditorUtils.demigiantDir != null; DOTweenUtilityWindow.LocationData to3 = flag ? new DOTweenUtilityWindow.LocationData(EditorUtils.demigiantDir + "Resources") : new DOTweenUtilityWindow.LocationData(); if ((UnityEngine.Object)src == (UnityEngine.Object)null) { src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(to1.adbFilePath, false); if ((UnityEngine.Object)src == (UnityEngine.Object)null) { src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(to2.adbFilePath, false); } if ((UnityEngine.Object)src == (UnityEngine.Object)null & flag) { src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(to3.adbFilePath, false); } } if ((UnityEngine.Object)src == (UnityEngine.Object)null) { if (!createIfMissing) { return((DOTweenSettings)null); } if (!Directory.Exists(to1.dir)) { AssetDatabase.CreateFolder(to1.adbParentDir, "Resources"); } src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(to1.adbFilePath, true); } if (fullSetup) { switch (src.storeSettingsLocation) { case DOTweenSettings.SettingsLocation.AssetsDirectory: src = DOTweenUtilityWindow.MoveSrc(new DOTweenUtilityWindow.LocationData[2] { to2, to3 }, to1); break; case DOTweenSettings.SettingsLocation.DOTweenDirectory: src = DOTweenUtilityWindow.MoveSrc(new DOTweenUtilityWindow.LocationData[2] { to1, to3 }, to2); break; case DOTweenSettings.SettingsLocation.DemigiantDirectory: src = DOTweenUtilityWindow.MoveSrc(new DOTweenUtilityWindow.LocationData[2] { to1, to2 }, to3); break; } } return(src); }