mirror of
https://github.com/MirrorNetworking/Mirror.git
synced 2024-11-18 11:00:32 +00:00
43 lines
1.4 KiB
C#
43 lines
1.4 KiB
C#
|
using UnityEditor;
|
||
|
using UnityEngine;
|
||
|
|
||
|
[InitializeOnLoad]
|
||
|
public class MoveToAssetsFolder
|
||
|
{
|
||
|
const string FirstTimeKey = "MOVE_SCRIPT_TEMPLATES_HAS_RUN";
|
||
|
const string targetFolder = "ScriptTemplates";
|
||
|
const string targetPath = "Assets/ScriptTemplates";
|
||
|
|
||
|
static MoveToAssetsFolder()
|
||
|
{
|
||
|
if (!SessionState.GetBool(FirstTimeKey, false))
|
||
|
{
|
||
|
FindAndMoveScriptTemplatesFolder();
|
||
|
SessionState.SetBool(FirstTimeKey, true);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static void FindAndMoveScriptTemplatesFolder()
|
||
|
{
|
||
|
string[] guids = AssetDatabase.FindAssets(targetFolder, null);
|
||
|
foreach (string guid in guids)
|
||
|
{
|
||
|
string path = AssetDatabase.GUIDToAssetPath(guid);
|
||
|
|
||
|
// Check if it's a folder and not some random asset
|
||
|
if (AssetDatabase.IsValidFolder(path))
|
||
|
{
|
||
|
// Ensure exact match of the name and that it's not in the Assets folder already
|
||
|
string folderName = System.IO.Path.GetFileName(path);
|
||
|
if (folderName == targetFolder && !path.StartsWith(targetPath))
|
||
|
{
|
||
|
AssetDatabase.MoveAsset(path, targetPath);
|
||
|
Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, $"Moved {targetFolder} to Assets folder.");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
AssetDatabase.Refresh();
|
||
|
}
|
||
|
}
|