// =================================================================================== // METHODS --------------------------------------------------------------------------- void Connect() { if (_src == null) { string srcDir = EditorUtils.assetsPath + EditorUtils.pathSlash + "Resources"; if (!Directory.Exists(srcDir)) { AssetDatabase.CreateFolder("Assets", "Resources"); } string adbSrcFilePath = EditorUtils.FullPathToADBPath(srcDir + EditorUtils.pathSlash + DOTweenSettings.AssetName + ".asset"); // Legacy: check if there are settings saved in old mode (inside DOTween/Resources folder) and eventually move them string legacySrcDir = EditorUtils.dotweenDir + "Resources"; string legacySrcFilePath = legacySrcDir + EditorUtils.pathSlash + DOTweenSettings.AssetName + ".asset"; if (File.Exists(legacySrcFilePath)) { // Move legacy src file to correct folder AssetDatabase.MoveAsset(EditorUtils.FullPathToADBPath(legacySrcFilePath), adbSrcFilePath); // Delete legacy Resources folder AssetDatabase.DeleteAsset(EditorUtils.FullPathToADBPath(legacySrcDir)); } _src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(adbSrcFilePath, true); } }
private void Connect(bool forceReconnect = false) { if ((UnityEngine.Object) this._src != (UnityEngine.Object)null && !forceReconnect) { return; } LocationData locationData = new LocationData(EditorUtils.assetsPath + EditorUtils.pathSlash + "Resources"); LocationData locationData2 = new LocationData(EditorUtils.dotweenDir + "Resources"); bool flag = EditorUtils.demigiantDir != null; LocationData locationData3 = flag ? new LocationData(EditorUtils.demigiantDir + "Resources") : default(LocationData); if ((UnityEngine.Object) this._src == (UnityEngine.Object)null) { this._src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(locationData.adbFilePath, false); if ((UnityEngine.Object) this._src == (UnityEngine.Object)null) { this._src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(locationData2.adbFilePath, false); } if ((UnityEngine.Object) this._src == (UnityEngine.Object)null & flag) { this._src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(locationData3.adbFilePath, false); } } if ((UnityEngine.Object) this._src == (UnityEngine.Object)null) { if (!Directory.Exists(locationData.dir)) { AssetDatabase.CreateFolder(locationData.adbParentDir, "Resources"); } this._src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(locationData.adbFilePath, true); } switch (this._src.storeSettingsLocation) { case DOTweenSettings.SettingsLocation.AssetsDirectory: this.MoveSrc(new LocationData[2] { locationData2, locationData3 }, locationData); break; case DOTweenSettings.SettingsLocation.DOTweenDirectory: this.MoveSrc(new LocationData[2] { locationData, locationData3 }, locationData2); break; case DOTweenSettings.SettingsLocation.DemigiantDirectory: this.MoveSrc(new LocationData[2] { locationData, locationData2 }, locationData3); break; } }
private void Connect(bool forceReconnect = false) { if ((this._src == null) || forceReconnect) { LocationData to = new LocationData(EditorUtils.assetsPath + EditorUtils.pathSlash + "Resources"); LocationData data2 = new LocationData(EditorUtils.dotweenDir + "Resources"); bool flag = EditorUtils.demigiantDir != null; LocationData data3 = flag ? new LocationData(EditorUtils.demigiantDir + "Resources") : new LocationData(); if (this._src == null) { this._src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(to.adbFilePath, false); if (this._src == null) { this._src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(data2.adbFilePath, false); } if ((this._src == null) & flag) { this._src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(data3.adbFilePath, false); } } if (this._src == null) { if (!Directory.Exists(to.dir)) { AssetDatabase.CreateFolder(to.adbParentDir, "Resources"); } this._src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(to.adbFilePath, true); } switch (this._src.storeSettingsLocation) { case DOTweenSettings.SettingsLocation.AssetsDirectory: { LocationData[] from = new LocationData[] { data2, data3 }; this.MoveSrc(from, to); return; } case DOTweenSettings.SettingsLocation.DOTweenDirectory: { LocationData[] dataArray2 = new LocationData[] { to, data3 }; this.MoveSrc(dataArray2, data2); return; } case DOTweenSettings.SettingsLocation.DemigiantDirectory: { LocationData[] dataArray3 = new LocationData[] { to, data2 }; this.MoveSrc(dataArray3, data3); return; } } } }
// =================================================================================== // METHODS --------------------------------------------------------------------------- void Connect(bool forceReconnect = false) { if (_src != null && !forceReconnect) { return; } LocationData assetsLD = new LocationData(EditorUtils.assetsPath + EditorUtils.pathSlash + "Resources"); LocationData dotweenLD = new LocationData(EditorUtils.dotweenDir + "Resources"); bool hasDemigiantDir = EditorUtils.demigiantDir != null; LocationData demigiantLD = hasDemigiantDir ? new LocationData(EditorUtils.demigiantDir + "Resources") : new LocationData(); if (_src == null) { // Load eventual existing settings _src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(assetsLD.adbFilePath, false); if (_src == null) { _src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(dotweenLD.adbFilePath, false); } if (_src == null && hasDemigiantDir) { _src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(demigiantLD.adbFilePath, false); } } if (_src == null) { // Settings don't exist. Create it in external folder if (!Directory.Exists(assetsLD.dir)) { AssetDatabase.CreateFolder(assetsLD.adbParentDir, "Resources"); } _src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(assetsLD.adbFilePath, true); } // Move eventual settings from previous location and setup everything correctly DOTweenSettings.SettingsLocation settingsLoc = _src.storeSettingsLocation; switch (settingsLoc) { case DOTweenSettings.SettingsLocation.AssetsDirectory: MoveSrc(new[] { dotweenLD, demigiantLD }, assetsLD); break; case DOTweenSettings.SettingsLocation.DOTweenDirectory: MoveSrc(new[] { assetsLD, demigiantLD }, dotweenLD); break; case DOTweenSettings.SettingsLocation.DemigiantDirectory: MoveSrc(new[] { assetsLD, dotweenLD }, demigiantLD); break; } }
private void MoveSrc(LocationData[] from, LocationData to) { if (!Directory.Exists(to.dir)) { AssetDatabase.CreateFolder(to.adbParentDir, "Resources"); } foreach (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)); } } } this._src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(to.adbFilePath, true); }
void MoveSrc(LocationData[] from, LocationData to) { if (!Directory.Exists(to.dir)) { AssetDatabase.CreateFolder(to.adbParentDir, "Resources"); } foreach (LocationData ld in from) { if (File.Exists(ld.filePath)) { // Move external src file to correct folder AssetDatabase.MoveAsset(ld.adbFilePath, to.adbFilePath); // Delete external settings AssetDatabase.DeleteAsset(ld.adbFilePath); // Check if external Resources folder is empty and in case delete it if (Directory.GetDirectories(ld.dir).Length == 0 && Directory.GetFiles(ld.dir).Length == 0) { AssetDatabase.DeleteAsset(EditorUtils.FullPathToADBPath(ld.dir)); } } } _src = EditorUtils.ConnectToSourceAsset <DOTweenSettings>(to.adbFilePath, true); }