summaryrefslogtreecommitdiff
path: root/Assets/Mountools
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-02-01 10:13:56 +0800
committer魏曹先生 <1992414357@qq.com>2026-02-01 10:13:56 +0800
commit4c8534b7b36e77a7c7c47a10b163695686391739 (patch)
treed5399ddb195252b63292bdf62eadc2a0a64f56f9 /Assets/Mountools
parent7100bf815bd4458f5e40a2c992e915f15bd6efa9 (diff)
整合素材
Diffstat (limited to 'Assets/Mountools')
-rwxr-xr-xAssets/Mountools/Extends.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Editor.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Editor/LoadingScreenEditor.cs103
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Editor/LoadingScreenEditor.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Editor/MenuItems.cs35
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Editor/MenuItems.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/LoadingScreen.cs155
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/LoadingScreen.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/LoadingScreenManager.cs128
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/LoadingScreenManager.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/LoadingScreenPresets.cs56
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/LoadingScreenPresets.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Mountools.LoadingScreen.asmdef18
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Mountools.LoadingScreen.asmdef.meta7
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Circle Mask Loading Screen.controller263
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Circle Mask Loading Screen.controller.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Loading.anim206
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Loading.anim.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Transition.anim296
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Transition.anim.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Wait.anim206
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Wait.anim.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Circle Mask Loading Screen.prefab464
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Circle Mask Loading Screen.prefab.meta7
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMask.cs35
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMask.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMaskLoadingScreen.cs24
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMaskLoadingScreen.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat.meta8
-rw-r--r--Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat/Mask.mat145
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat/Mask.mat.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad/CircleMask.shader145
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad/CircleMask.shader.meta9
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex/Circle.pngbin0 -> 6085 bytes
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex/Circle.png.meta114
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Fade Loading Screen.controller159
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Fade Loading Screen.controller.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Loading.anim155
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Loading.anim.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Waiting.anim155
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Waiting.anim.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen (Progress).prefab493
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen (Progress).prefab.meta7
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen.prefab403
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen.prefab.meta7
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/FadeLoadingScreen.cs25
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/FadeLoadingScreen.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/ProgressCircle.cs25
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/ProgressCircle.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex.meta8
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex/Circle.pngbin0 -> 6085 bytes
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex/Circle.png.meta114
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/LoadingScreenPresetHandle.cs31
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/LoadingScreenPresetHandle.cs.meta11
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Mountools.LoadingScreen.Presets.asmdef19
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Mountools.LoadingScreen.Presets.asmdef.meta7
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Presets.asset18
-rwxr-xr-xAssets/Mountools/Extends/LoadingScreen/Presets/Presets.asset.meta8
-rwxr-xr-xAssets/Mountools/Setup.cs67
-rwxr-xr-xAssets/Mountools/Setup.cs.meta3
-rwxr-xr-xAssets/Mountools/Tools.meta8
-rwxr-xr-xAssets/Mountools/Tools/Editor.meta8
-rwxr-xr-xAssets/Mountools/Tools/Editor/LabelAttribute.cs14
-rwxr-xr-xAssets/Mountools/Tools/Editor/LabelAttribute.cs.meta3
-rwxr-xr-xAssets/Mountools/Tools/Editor/LabelAttributeDrawer.cs20
-rwxr-xr-xAssets/Mountools/Tools/Editor/LabelAttributeDrawer.cs.meta3
-rwxr-xr-xAssets/Mountools/Tools/Editor/MenuItems.cs246
-rwxr-xr-xAssets/Mountools/Tools/Editor/MenuItems.cs.meta11
-rwxr-xr-xAssets/Mountools/Tools/Editor/ToolInspectorBookmarkEditor.cs50
-rwxr-xr-xAssets/Mountools/Tools/Editor/ToolInspectorBookmarkEditor.cs.meta11
-rwxr-xr-xAssets/Mountools/Tools/Mountools.Tools.asmdef16
-rwxr-xr-xAssets/Mountools/Tools/Mountools.Tools.asmdef.meta7
-rwxr-xr-xAssets/Mountools/Tools/MountoolsEditor.cs296
-rwxr-xr-xAssets/Mountools/Tools/MountoolsEditor.cs.meta11
-rwxr-xr-xAssets/Mountools/Tools/MountoolsLanguage.cs15
-rwxr-xr-xAssets/Mountools/Tools/MountoolsLanguage.cs.meta3
-rwxr-xr-xAssets/Mountools/Tools/MountoolsMath.cs58
-rwxr-xr-xAssets/Mountools/Tools/MountoolsMath.cs.meta11
-rwxr-xr-xAssets/Mountools/Tools/MountoolsShortcut.cs56
-rwxr-xr-xAssets/Mountools/Tools/MountoolsShortcut.cs.meta3
-rwxr-xr-xAssets/Mountools/Tools/ToolFreeCamera.cs167
-rwxr-xr-xAssets/Mountools/Tools/ToolFreeCamera.cs.meta11
-rwxr-xr-xAssets/Mountools/Tools/ToolInspectorBookmark.cs22
-rwxr-xr-xAssets/Mountools/Tools/ToolInspectorBookmark.cs.meta11
-rwxr-xr-xAssets/Mountools/Tools/ToolObjectMethodInvoker.cs500
-rwxr-xr-xAssets/Mountools/Tools/ToolObjectMethodInvoker.cs.meta11
-rwxr-xr-xAssets/Mountools/_RESOURCES.meta3
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS.meta3
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/ARCHIVE.meta3
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_ICON.pngbin0 -> 253 bytes
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_ICON.png.meta114
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_MANAGER.pngbin0 -> 253 bytes
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_MANAGER.png.meta114
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_SETTING.pngbin0 -> 444 bytes
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_SETTING.png.meta114
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/CONTROLS.meta8
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER.pngbin0 -> 411 bytes
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER.png.meta114
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER_COLLISION.pngbin0 -> 415 bytes
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER_COLLISION.png.meta114
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/CONTROLS/PLAYER_EYE.pngbin0 -> 345 bytes
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/CONTROLS/PLAYER_EYE.png.meta114
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/MOUNTOOLS.pngbin0 -> 1386 bytes
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/MOUNTOOLS.png.meta114
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/TOOLS.meta8
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/TOOLS/BOOKMARK.pngbin0 -> 290 bytes
-rwxr-xr-xAssets/Mountools/_RESOURCES/ICONS/TOOLS/BOOKMARK.png.meta114
-rwxr-xr-xAssets/Mountools/_RESOURCES/SCRIPT_TEMPLATE.meta8
-rwxr-xr-xAssets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorScriptTemplate.txt43
-rwxr-xr-xAssets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorScriptTemplate.txt.meta3
-rwxr-xr-xAssets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorWindowTemplate.txt61
-rwxr-xr-xAssets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorWindowTemplate.txt.meta3
-rwxr-xr-xAssets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/SceneScriptTemplate.txt22
-rwxr-xr-xAssets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/SceneScriptTemplate.txt.meta3
-rwxr-xr-xAssets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/ScriptableObjectTemplate.txt19
-rwxr-xr-xAssets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/ScriptableObjectTemplate.txt.meta3
124 files changed, 7056 insertions, 0 deletions
diff --git a/Assets/Mountools/Extends.meta b/Assets/Mountools/Extends.meta
new file mode 100755
index 0000000..6af1630
--- /dev/null
+++ b/Assets/Mountools/Extends.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c1bf0a072bd956f4c9a2db5a1d4edc78
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen.meta b/Assets/Mountools/Extends/LoadingScreen.meta
new file mode 100755
index 0000000..a7691d8
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 061db937c8380f344b0d2bde83a331ed
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Editor.meta b/Assets/Mountools/Extends/LoadingScreen/Editor.meta
new file mode 100755
index 0000000..e9a8b41
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fcb2d42e33814ee4ba0539711eb1f27f
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Editor/LoadingScreenEditor.cs b/Assets/Mountools/Extends/LoadingScreen/Editor/LoadingScreenEditor.cs
new file mode 100755
index 0000000..0f0d1cb
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Editor/LoadingScreenEditor.cs
@@ -0,0 +1,103 @@
+#if UNITY_EDITOR
+using Mountools.Tools;
+using UnityEditor;
+using UnityEngine;
+
+namespace Mountools.LoadingScreen.Editor
+{
+ [CustomEditor(typeof(LoadingScreen))]
+ public class LoadingScreenEditor : UnityEditor.Editor
+ {
+ public LoadingScreen editorTarget;
+
+ private void OnEnable()
+ {
+ editorTarget = (LoadingScreen) target;
+ }
+
+ public override void OnInspectorGUI()
+ {
+ Undo.RecordObject(editorTarget, "Edit LoadingScreen");
+ EditorGUI.BeginChangeCheck();
+
+ // DrawDefaultInspector();
+ DrawLoadingScreenEditor();
+
+ if (EditorGUI.EndChangeCheck())
+ {
+ EditorUtility.SetDirty(editorTarget);
+ Undo.FlushUndoRecordObjects();
+ }
+ }
+
+ private void DrawLoadingScreenEditor()
+ {
+
+#if MT_L_CHINESE
+ var strTitle = "加载界面属性";
+ var strLoadingStartWaitSeconds = "加载前动画长度 (秒)";
+ var strLoadingDoneWaitSeconds = "加载完成动画长度 (秒)";
+ var strFakeLoadingRate = "测试用假加载速度 (秒)";
+
+ var strStatus = "当前状态";
+
+ var strWaiting = "待命 ...";
+ var strLoading = "正在加载场景 : ";
+ var strProgress = "进度 : ";
+#endif
+#if MT_L_ENGLISH
+ var strTitle = "Screen Setting";
+ var strLoadingStartWaitSeconds = "Loading Start Wait (Sec)";
+ var strLoadingDoneWaitSeconds = "Loading Done Wait (Sec)";
+ var strFakeLoadingRate = "Fake Loading Rate (Sec)";
+
+ var strStatus = "Status";
+
+ var strWaiting = "Waiting ...";
+ var strLoading = "Loading : ";
+ var strProgress = "Progress : ";
+#endif
+
+ EditorGUILayout.LabelField(strTitle, MountoolsEditor.GUIStyles.titleStyleSmall);
+
+ EditorGUI.indentLevel++;
+ {
+ editorTarget.loadingStartWaitSeconds = EditorGUILayout.FloatField(strLoadingStartWaitSeconds,
+ editorTarget.loadingStartWaitSeconds);
+
+ editorTarget.loadingDoneWaitSeconds = EditorGUILayout.FloatField(strLoadingDoneWaitSeconds,
+ editorTarget.loadingDoneWaitSeconds);
+
+ editorTarget.fakeLoadingRate = EditorGUILayout.Slider(strFakeLoadingRate,
+ editorTarget.fakeLoadingRate,
+ 0.001f, 1
+ );
+ }
+ EditorGUI.indentLevel--;
+
+ EditorGUILayout.Space();
+
+ if (Application.isPlaying)
+ {
+ EditorGUILayout.HelpBox("Invoke --> LoadingScreen.LoadScene (\"Your Scene\");", MessageType.Info);
+
+ EditorGUILayout.LabelField(strStatus, MountoolsEditor.GUIStyles.titleStyleSmall);
+
+ EditorGUI.indentLevel++;
+ {
+ if (editorTarget.isLoading)
+ {
+ EditorGUILayout.LabelField(strLoading, editorTarget.loadingSceneName);
+ EditorGUILayout.LabelField(strProgress, editorTarget.progress * 100 + "%");
+ }
+ else
+ {
+ EditorGUILayout.LabelField(strWaiting);
+ }
+ }
+ EditorGUI.indentLevel--;
+ }
+ }
+ }
+}
+#endif \ No newline at end of file
diff --git a/Assets/Mountools/Extends/LoadingScreen/Editor/LoadingScreenEditor.cs.meta b/Assets/Mountools/Extends/LoadingScreen/Editor/LoadingScreenEditor.cs.meta
new file mode 100755
index 0000000..df59902
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Editor/LoadingScreenEditor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0fd6ef64014a4ce459bddc4f7b5f5cf5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Editor/MenuItems.cs b/Assets/Mountools/Extends/LoadingScreen/Editor/MenuItems.cs
new file mode 100755
index 0000000..00462fc
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Editor/MenuItems.cs
@@ -0,0 +1,35 @@
+#if UNITY_EDITOR
+using Mountools.Tools;
+using UnityEditor;
+using UnityEngine;
+
+namespace Mountools.LoadingScreen.Editor
+{
+ public static class MenuItems
+ {
+#if MT_L_CHINESE
+ [MenuItem("GameObject/Mountools/加载画面")]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("GameObject/Mountools/Loading Screen")]
+#endif
+ public static void CreateLoadingScreen()
+ {
+ var loadingScreen = Object.FindObjectOfType<LoadingScreen>();
+ if (loadingScreen == null)
+ MountoolsEditor.CreateGameObject<LoadingScreen>("Loading Screen");
+ }
+
+#if MT_L_CHINESE
+ [MenuItem("Mountools/加载画面/加载画面管理器", priority = 10)]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("Mountools/Loading Screen/Loading Screen Manager", priority = 10)]
+#endif
+ public static void OpenLoadingScreenManager()
+ {
+ LoadingScreenManager.OpenWindow();
+ }
+ }
+}
+#endif
diff --git a/Assets/Mountools/Extends/LoadingScreen/Editor/MenuItems.cs.meta b/Assets/Mountools/Extends/LoadingScreen/Editor/MenuItems.cs.meta
new file mode 100755
index 0000000..3fa5d09
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Editor/MenuItems.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 208331b50541499488a5b2a63ee9c3e9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/LoadingScreen.cs b/Assets/Mountools/Extends/LoadingScreen/LoadingScreen.cs
new file mode 100755
index 0000000..a83ae0e
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/LoadingScreen.cs
@@ -0,0 +1,155 @@
+using System;
+using System.Collections;
+using Mountools.Tools;
+using UnityEngine;
+using UnityEngine.Events;
+using UnityEngine.SceneManagement;
+
+namespace Mountools.LoadingScreen
+{
+ [DisallowMultipleComponent]
+#if MT_L_CHINESE
+ [AddComponentMenu("Mountools/加载画面/异步加载画面")]
+#endif
+#if MT_L_ENGLISH
+ [AddComponentMenu("Mountools/Loading Screen/Async Loading Screen")]
+#endif
+ public class LoadingScreen : MonoBehaviour
+ {
+ public static LoadingScreen GetLoadingScreen()
+ {
+ return FindObjectOfType<LoadingScreen>();
+ }
+
+ public float loadingStartWaitSeconds = 2;
+ public float loadingDoneWaitSeconds = 2;
+
+ public float fakeLoadingRate = 0.1f;
+
+ private Coroutine _loadSceneCoroutine;
+ public float progress;
+ public bool isLoading;
+ public string loadingSceneName;
+
+ public UnityEvent<string> onLoad;
+ public UnityEvent<float> onLoading;
+ public UnityEvent onLoaded;
+
+ public static void LoadScene(int sceneIndex, LoadSceneMode mode = LoadSceneMode.Single, bool fakeLoad = false)
+ {
+ LoadScene(SceneManager.GetSceneAt(sceneIndex).name, mode, fakeLoad);
+ }
+
+ public static void LoadScene(string sceneName, LoadSceneMode mode = LoadSceneMode.Single, bool fakeLoad = false)
+ {
+ var loadingScreen = GetLoadingScreen();
+
+ if (loadingScreen == null)
+ {
+ Debug.LogWarning(
+ MountoolsLanguage.Lang(
+ "场景内没有加载画面!",
+ "There are no Loading Screen in the scene!"
+ ));
+
+ SceneManager.LoadScene(sceneName, mode);
+ }
+ else
+ {
+ loadingScreen.Load(sceneName, mode, fakeLoad);
+ }
+ }
+
+ private void Load(string sceneName, LoadSceneMode mode = LoadSceneMode.Single, bool fakeLoad = false)
+ {
+ loadingSceneName = sceneName;
+
+ if (_loadSceneCoroutine == null)
+ {
+ _loadSceneCoroutine = StartCoroutine(LoadSceneAsync(sceneName, mode, fakeLoad));
+ }
+ else
+ {
+ Debug.LogWarning(
+ MountoolsLanguage.Lang("请勿重复加载场景!", "Do not load the scene repeatedly!")
+ );
+ }
+ }
+
+ private IEnumerator LoadSceneAsync(string sceneName, LoadSceneMode mode, bool fakeLoad)
+ {
+ // 设置状态,调用事件
+ isLoading = true;
+ onLoad.Invoke(sceneName);
+
+ // 等待动画播放
+ yield return new WaitForSecondsRealtime(loadingStartWaitSeconds);
+
+ // 开始加载
+ var loadAsync = SceneManager.LoadSceneAsync(sceneName, mode);
+ loadAsync.allowSceneActivation = false;
+
+ progress = 0;
+
+ if (fakeLoad)
+ {
+ // 假加载 (测试用)
+ while (progress < 0.9f)
+ {
+ progress += 0.1f;
+ onLoading.Invoke(progress);
+ yield return new WaitForSecondsRealtime(fakeLoadingRate);
+ }
+ }
+ else
+ {
+ // 真加载
+ while (progress < 0.86f)
+ {
+ progress = (float) Math.Round(Mathf.Lerp(progress, loadAsync.progress, 0.2f), 3);
+ onLoading.Invoke(progress);
+ yield return new WaitForEndOfFrame();
+ }
+
+ // 等待完全加载
+ while (loadAsync.progress < 0.9f)
+ {
+ yield return new WaitForEndOfFrame();
+ }
+
+ // 完全加载后,进入新场景
+ loadAsync.allowSceneActivation = true;
+
+ // 继续播放剩余 10% 的动画
+ while (progress < 0.99f)
+ {
+ progress = (float) Math.Round(Mathf.Lerp(progress, 1f, 0.2f), 3);
+ onLoading.Invoke(progress);
+ yield return new WaitForEndOfFrame();
+ }
+ }
+
+ // 进度条设置为 100%
+ progress = 1;
+
+ // 执行加载后事件
+ onLoaded.Invoke();
+
+ // 等待退出动画的播放
+ yield return new WaitForSecondsRealtime(loadingDoneWaitSeconds);
+
+ // 设置加载完成
+ isLoading = false;
+ }
+
+ private void Start()
+ {
+ DontDestroyOnLoad(gameObject);
+
+ onLoaded.AddListener(() =>
+ {
+ _loadSceneCoroutine = null;
+ });
+ }
+ }
+}
diff --git a/Assets/Mountools/Extends/LoadingScreen/LoadingScreen.cs.meta b/Assets/Mountools/Extends/LoadingScreen/LoadingScreen.cs.meta
new file mode 100755
index 0000000..55b5e8d
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/LoadingScreen.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8aeae8c80ea82db47a8db991ff6b11a3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/LoadingScreenManager.cs b/Assets/Mountools/Extends/LoadingScreen/LoadingScreenManager.cs
new file mode 100755
index 0000000..1f5f8f6
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/LoadingScreenManager.cs
@@ -0,0 +1,128 @@
+#if UNITY_EDITOR
+
+using System.Collections.Generic;
+using Mountools.Tools;
+using UnityEditor;
+using UnityEngine;
+using UnityEngine.SceneManagement;
+
+namespace Mountools.LoadingScreen
+{
+ public class LoadingScreenManager : EditorWindow
+ {
+#if MT_L_CHINESE
+ private static readonly string WindowName = "加载画面管理器";
+#endif
+#if MT_L_ENGLISH
+ private static readonly string WindowName = "Loading Screen Manager";
+#endif
+ private static readonly Vector2 WindowMinSize = new(200, 400);
+ private static readonly Vector2 WindowMaxSize = new(400, 800);
+
+ private LoadingScreenPresets _presets;
+ private Vector2 _scroll;
+ private string _search = "";
+ private int _select;
+
+ private void OnDrawWindow()
+ {
+ // 加载画面
+ var loadingScreen = LoadingScreen.GetLoadingScreen();
+
+ EditorGUI.BeginDisabledGroup(
+ loadingScreen != null && loadingScreen.isLoading // 若正在加载
+ );
+ {
+ // 搜索
+ _search = EditorGUILayout.TextField("", _search, "SearchTextField");
+
+ // 转场列表
+ _scroll = EditorGUILayout.BeginScrollView(_scroll, "OL box NoExpand");
+ {
+ foreach (var screen in _presets.loadingScreens)
+ {
+ if (string.IsNullOrEmpty(_search.Trim()) ||
+ screen.name.Trim().ToLower().Contains(_search.Trim().ToLower())
+ )
+ {
+ if (GUILayout.Button(screen.name, "TE toolbarbutton"))
+ LoadingScreenPresets.ChangePreset(screen);
+ EditorGUILayout.Space(3);
+ }
+ }
+
+ }
+ EditorGUILayout.EndScrollView();
+
+
+ }
+ EditorGUI.EndDisabledGroup();
+
+
+ // 场景跳转
+ var sceneCount = SceneManager.sceneCountInBuildSettings;
+ var scenePathList = new List<string>();
+ for (var i = 0; i < sceneCount; i ++)
+ {
+ scenePathList.Add(SceneUtility.GetScenePathByBuildIndex(i));
+ }
+
+ if (loadingScreen != null)
+ {
+ EditorGUI.BeginDisabledGroup(
+ ! Application.isPlaying // 不在游玩
+ );
+ {
+ EditorGUILayout.BeginHorizontal();
+ {
+ _select = EditorGUILayout.Popup("", _select, scenePathList.ToArray());
+
+ // 加载场景
+ EditorGUI.BeginDisabledGroup(
+ SceneManager.GetActiveScene().path == scenePathList[_select] || // 需要跳转的为当前场景
+ loadingScreen.isLoading // 当前场景正在加载
+ );
+ {
+ if (GUILayout.Button(MountoolsLanguage.Lang("加载场景", "Load Scene"),
+ "TE toolbarbutton"))
+ {
+ LoadingScreen.LoadScene(scenePathList[_select]);
+ }
+ }
+ EditorGUI.EndDisabledGroup();
+
+ // 复制代码
+ var copyText = $"LoadingScreen.LoadScene(\"{scenePathList[_select]}\");";
+ EditorGUI.BeginDisabledGroup(copyText == EditorGUIUtility.systemCopyBuffer);
+ {
+ if (GUILayout.Button(MountoolsLanguage.Lang("复制代码", "Copy Code"),
+ "TE toolbarbutton"))
+ {
+ EditorGUIUtility.systemCopyBuffer = copyText;
+ }
+ }
+ EditorGUI.EndDisabledGroup();
+ }
+ EditorGUILayout.EndHorizontal();
+ }
+ EditorGUI.EndDisabledGroup();
+ }
+ }
+
+ public static void OpenWindow()
+ {
+ var window = GetWindow<LoadingScreenManager>(WindowName);
+
+ window.minSize = WindowMinSize;
+ window.maxSize = WindowMaxSize;
+
+ window._presets = LoadingScreenPresets.GetPresets();
+
+ window.Show();
+ }
+
+ private void OnGUI() { OnDrawWindow(); }
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/Assets/Mountools/Extends/LoadingScreen/LoadingScreenManager.cs.meta b/Assets/Mountools/Extends/LoadingScreen/LoadingScreenManager.cs.meta
new file mode 100755
index 0000000..2914364
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/LoadingScreenManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ab4e2471a94ccef4f86e0e4b3671a3b9
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/LoadingScreenPresets.cs b/Assets/Mountools/Extends/LoadingScreen/LoadingScreenPresets.cs
new file mode 100755
index 0000000..00b8a8a
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/LoadingScreenPresets.cs
@@ -0,0 +1,56 @@
+using System.Collections.Generic;
+using Mountools.Tools;
+using UnityEngine;
+
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+namespace Mountools.LoadingScreen
+{
+ public class LoadingScreenPresets : ScriptableObject
+ {
+ public List<GameObject> loadingScreens = new();
+
+ public static LoadingScreenPresets GetPresets()
+ {
+ LoadingScreenPresets presets = null;
+#if UNITY_EDITOR
+ var path = @$"{MountoolsEditor.rootPath}/Extends/LoadingScreen/Presets/Presets.asset";
+ presets = AssetDatabase.LoadAssetAtPath<LoadingScreenPresets>(path);
+ if (presets == null)
+ {
+ presets = CreateInstance<LoadingScreenPresets>();
+
+ Debug.Log("Presets Created");
+ AssetDatabase.CreateAsset(presets, path);
+ AssetDatabase.SaveAssets();
+ AssetDatabase.Refresh();
+ }
+#endif
+ return presets;
+ }
+
+ public static void ChangePreset(GameObject gameObject)
+ {
+#if UNITY_EDITOR
+ var screen = LoadingScreen.GetLoadingScreen();
+
+ if (screen == null)
+ {
+ var obj = Instantiate(gameObject);
+ obj.name = gameObject.name;
+ Undo.RegisterCreatedObjectUndo(obj, "Replace Loading Screen");
+ }
+ else
+ {
+ Undo.DestroyObjectImmediate(screen.gameObject);
+
+ var obj = Instantiate(gameObject);
+ obj.name = gameObject.name;
+ Undo.RegisterCreatedObjectUndo(obj, "Replace Loading Screen");
+ }
+#endif
+ }
+ }
+} \ No newline at end of file
diff --git a/Assets/Mountools/Extends/LoadingScreen/LoadingScreenPresets.cs.meta b/Assets/Mountools/Extends/LoadingScreen/LoadingScreenPresets.cs.meta
new file mode 100755
index 0000000..10518e5
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/LoadingScreenPresets.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5fedd50951323a6458821dbd03b3efc6
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Mountools.LoadingScreen.asmdef b/Assets/Mountools/Extends/LoadingScreen/Mountools.LoadingScreen.asmdef
new file mode 100755
index 0000000..f46ae3a
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Mountools.LoadingScreen.asmdef
@@ -0,0 +1,18 @@
+{
+ "name": "Mountools.LoadingScreen",
+ "rootNamespace": "",
+ "references": [
+ "GUID:badcfa392cfb92b438720b19250e4fee"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [
+ "MOUNTOOLS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+} \ No newline at end of file
diff --git a/Assets/Mountools/Extends/LoadingScreen/Mountools.LoadingScreen.asmdef.meta b/Assets/Mountools/Extends/LoadingScreen/Mountools.LoadingScreen.asmdef.meta
new file mode 100755
index 0000000..7c896d0
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Mountools.LoadingScreen.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 507755f5954d18a4da63c3118ef07d6f
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets.meta b/Assets/Mountools/Extends/LoadingScreen/Presets.meta
new file mode 100755
index 0000000..8e494d5
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c8a791e3f2e7f3d4fa1ebc1569398039
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask.meta
new file mode 100755
index 0000000..24efe79
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 043a21ba317f72a42a6dc2c6bd7025cd
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim.meta
new file mode 100755
index 0000000..a536e39
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a4545164e3149904393c9851e5762400
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Circle Mask Loading Screen.controller b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Circle Mask Loading Screen.controller
new file mode 100755
index 0000000..5ec211a
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Circle Mask Loading Screen.controller
@@ -0,0 +1,263 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1102 &-3253482506034781856
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Transition
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -287516100606315078}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 77a89a3c9b59fda4f92a4580f389a448, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &-2124821548811820225
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Wait
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: 739814532078466794}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: f8018828f8f182945ba24128a947ba73, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &-968555042688892223
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 2
+ m_ConditionEvent: Loading
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 7993041434494963484}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0.75
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &-287516100606315078
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions: []
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 7511665898633577266}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!91 &9100000
+AnimatorController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Circle Mask Loading Screen
+ serializedVersion: 5
+ m_AnimatorParameters:
+ - m_Name: Loading
+ m_Type: 4
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
+ m_AnimatorLayers:
+ - serializedVersion: 5
+ m_Name: Base Layer
+ m_StateMachine: {fileID: 8819588752438152008}
+ m_Mask: {fileID: 0}
+ m_Motions: []
+ m_Behaviours: []
+ m_BlendingMode: 0
+ m_SyncedLayerIndex: -1
+ m_DefaultWeight: 0
+ m_IKPass: 0
+ m_SyncedLayerAffectsTiming: 0
+ m_Controller: {fileID: 9100000}
+--- !u!1101 &739814532078466794
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: Loading
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -3253482506034781856}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0.75
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &5248427045209789724
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions: []
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -2124821548811820225}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &7511665898633577266
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Loading
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -968555042688892223}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 0dcffc2e8aeb15640a061bfff7501dc2, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &7993041434494963484
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Transition Invert
+ m_Speed: -1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: 5248427045209789724}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 77a89a3c9b59fda4f92a4580f389a448, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1107 &8819588752438152008
+AnimatorStateMachine:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Base Layer
+ m_ChildStates:
+ - serializedVersion: 1
+ m_State: {fileID: -2124821548811820225}
+ m_Position: {x: -30, y: 230, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 7511665898633577266}
+ m_Position: {x: -20, y: 490, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -3253482506034781856}
+ m_Position: {x: 150, y: 340, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 7993041434494963484}
+ m_Position: {x: -210, y: 340, z: 0}
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: 50, y: 20, z: 0}
+ m_EntryPosition: {x: -20, y: 120, z: 0}
+ m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: -2124821548811820225}
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Circle Mask Loading Screen.controller.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Circle Mask Loading Screen.controller.meta
new file mode 100755
index 0000000..a5f562e
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Circle Mask Loading Screen.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bf8295bc49b8eac4c84af8069f740eb8
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 9100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Loading.anim b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Loading.anim
new file mode 100755
index 0000000..1aabd35
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Loading.anim
@@ -0,0 +1,206 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Loading
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: value
+ path:
+ classID: 114
+ script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Black
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Image
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 1488509770
+ attribute: 4228073214
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 335570237
+ attribute: 4228073214
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 494360628
+ script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: value
+ path:
+ classID: 114
+ script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Black
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Image
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Loading.anim.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Loading.anim.meta
new file mode 100755
index 0000000..d1cc437
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Loading.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0dcffc2e8aeb15640a061bfff7501dc2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Transition.anim b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Transition.anim
new file mode 100755
index 0000000..f0cf5ab
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Transition.anim
@@ -0,0 +1,296 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Transition
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.083333336
+ value: 0.021
+ inSlope: 0.126
+ outSlope: 0.126
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.6666667
+ value: 0.115
+ inSlope: 0.41018182
+ outSlope: 0.41018182
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: value
+ path:
+ classID: 114
+ script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Black
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Image
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 0
+ attribute: 494360628
+ script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 1488509770
+ attribute: 4228073214
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 335570237
+ attribute: 4228073214
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 1
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 0
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.083333336
+ value: 0.021
+ inSlope: 0.126
+ outSlope: 0.126
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 0.6666667
+ value: 0.115
+ inSlope: 0.41018182
+ outSlope: 0.41018182
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: value
+ path:
+ classID: 114
+ script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Black
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ - serializedVersion: 3
+ time: 1
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Image
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Transition.anim.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Transition.anim.meta
new file mode 100755
index 0000000..a0b045e
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Transition.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 77a89a3c9b59fda4f92a4580f389a448
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Wait.anim b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Wait.anim
new file mode 100755
index 0000000..43a8978
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Wait.anim
@@ -0,0 +1,206 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Wait
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Image
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Black
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: value
+ path:
+ classID: 114
+ script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ flags: 0
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 335570237
+ attribute: 4228073214
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 1488509770
+ attribute: 4228073214
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 0
+ attribute: 494360628
+ script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Image
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Black
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: value
+ path:
+ classID: 114
+ script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Wait.anim.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Wait.anim.meta
new file mode 100755
index 0000000..b5736b9
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Anim/Wait.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f8018828f8f182945ba24128a947ba73
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Circle Mask Loading Screen.prefab b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Circle Mask Loading Screen.prefab
new file mode 100755
index 0000000..a454006
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Circle Mask Loading Screen.prefab
@@ -0,0 +1,464 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &812609065330795675
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8099910326895778529}
+ - component: {fileID: 5756463204592868498}
+ - component: {fileID: 3300261694238627532}
+ - component: {fileID: 2980860137068381429}
+ m_Layer: 0
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8099910326895778529
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 812609065330795675}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6296371019487834336}
+ - {fileID: 3844925452281252003}
+ m_Father: {fileID: 4949703257866412254}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!223 &5756463204592868498
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 812609065330795675}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 0
+ m_AdditionalShaderChannelsFlag: 1
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 10
+ m_TargetDisplay: 0
+--- !u!114 &3300261694238627532
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 812609065330795675}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!114 &2980860137068381429
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 812609065330795675}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!1 &1227026129706253145
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6296371019487834336}
+ - component: {fileID: 945897389803027428}
+ - component: {fileID: 5130415027058518206}
+ - component: {fileID: 9190372394555712910}
+ m_Layer: 0
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6296371019487834336
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1227026129706253145}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8099910326895778529}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &945897389803027428
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1227026129706253145}
+ m_CullTransparentMesh: 1
+--- !u!114 &5130415027058518206
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1227026129706253145}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 2100000, guid: 79ccfc6af03200444b538283948fb7e1, type: 2}
+ m_Color: {r: 0, g: 0, b: 0, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &9190372394555712910
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1227026129706253145}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 020ee4c1798a3d243a4b8cbfee6cac2d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+--- !u!1 &2704755312586057064
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1542791841864944857}
+ - component: {fileID: 8942858404556628248}
+ - component: {fileID: 3299554192437232554}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1542791841864944857
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2704755312586057064}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4949703257866412254}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8942858404556628248
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2704755312586057064}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!114 &3299554192437232554
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2704755312586057064}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SendPointerHoverToParent: 1
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!1 &5797885686541887895
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4949703257866412254}
+ - component: {fileID: 972130607286471050}
+ - component: {fileID: 4714150344143921249}
+ - component: {fileID: 611282727004502778}
+ - component: {fileID: 7571728704617554568}
+ m_Layer: 0
+ m_Name: Circle Mask Loading Screen
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4949703257866412254
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5797885686541887895}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 8099910326895778529}
+ - {fileID: 1542791841864944857}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!95 &972130607286471050
+Animator:
+ serializedVersion: 5
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5797885686541887895}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 9100000, guid: bf8295bc49b8eac4c84af8069f740eb8, type: 2}
+ m_CullingMode: 0
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_StabilizeFeet: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorStateOnDisable: 0
+ m_WriteDefaultValuesOnDisable: 0
+--- !u!114 &4714150344143921249
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5797885686541887895}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8aeae8c80ea82db47a8db991ff6b11a3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ loadingStartWaitSeconds: 1
+ loadingDoneWaitSeconds: 1
+ fakeLoadingRate: 0.1
+ progress: 0
+ isLoading: 0
+ loadingSceneName:
+ onLoad:
+ m_PersistentCalls:
+ m_Calls: []
+ onLoading:
+ m_PersistentCalls:
+ m_Calls: []
+ onLoaded:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &611282727004502778
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5797885686541887895}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 246e46bb2d91805459b1074b84c3d1fe, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ loadingScreen: {fileID: 0}
+ animator: {fileID: 0}
+--- !u!114 &7571728704617554568
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5797885686541887895}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 58bff50c4a195db48838d158f7af4dab, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ color: {r: 0, g: 0, b: 0, a: 1}
+ image: {fileID: 5130415027058518206}
+ black: {fileID: 6032736666808736973}
+ value: 0
+--- !u!1 &6576408854880364812
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3844925452281252003}
+ - component: {fileID: 2369622149248049939}
+ - component: {fileID: 6032736666808736973}
+ - component: {fileID: 1475855569537919029}
+ m_Layer: 0
+ m_Name: Black
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3844925452281252003
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6576408854880364812}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8099910326895778529}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2369622149248049939
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6576408854880364812}
+ m_CullTransparentMesh: 1
+--- !u!114 &6032736666808736973
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6576408854880364812}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &1475855569537919029
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6576408854880364812}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 020ee4c1798a3d243a4b8cbfee6cac2d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Circle Mask Loading Screen.prefab.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Circle Mask Loading Screen.prefab.meta
new file mode 100755
index 0000000..0f8703a
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Circle Mask Loading Screen.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 01514d93afc5df34cb928150b0a169b7
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMask.cs b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMask.cs
new file mode 100755
index 0000000..1e1bee2
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMask.cs
@@ -0,0 +1,35 @@
+using System;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Mountools.LoadingScreen.Presets.Circle_Mask
+{
+ [ExecuteAlways]
+ public class CircleMask : MonoBehaviour
+ {
+ public Color color = Color.black;
+ public Image image;
+ public Image black;
+
+ [Range(0,1)] public float value;
+
+ private void Update()
+ {
+ if (image != null && black != null)
+ {
+ var lerpScale = Mathf.Lerp(0, 20, value);
+ image.material.SetTextureScale("_DetailTex", lerpScale * Vector2.one);
+ image.color = new Color(color.r, color.g, color.b, 1);
+ if (value >= 0.9)
+ {
+ var newLerpValue = 1 - (1 - value) * 10;
+ black.color = new Color(color.r, color.g, color.b, newLerpValue);
+ }
+ else
+ {
+ black.color = new Color(color.r, color.g, color.b, 0);
+ }
+ }
+ }
+ }
+}
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMask.cs.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMask.cs.meta
new file mode 100755
index 0000000..9eea9b7
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMask.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 58bff50c4a195db48838d158f7af4dab
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMaskLoadingScreen.cs b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMaskLoadingScreen.cs
new file mode 100755
index 0000000..ec52867
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMaskLoadingScreen.cs
@@ -0,0 +1,24 @@
+using UnityEngine;
+
+namespace Mountools.LoadingScreen.Presets.Circle_Mask
+{
+ public class CircleMaskLoadingScreen : LoadingScreenPresetHandle
+ {
+ private static readonly int Loading = Animator.StringToHash("Loading");
+
+ protected override void OnLoad(string sceneName)
+ {
+ animator.SetBool(Loading, true);
+ }
+
+ protected override void OnLoading(float progress)
+ {
+
+ }
+
+ protected override void OnLoaded()
+ {
+ animator.SetBool(Loading, false);
+ }
+ }
+}
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMaskLoadingScreen.cs.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMaskLoadingScreen.cs.meta
new file mode 100755
index 0000000..9219832
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/CircleMaskLoadingScreen.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 246e46bb2d91805459b1074b84c3d1fe
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat.meta
new file mode 100755
index 0000000..3e363f4
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a5f045a7a2722ce489663b9d63da8c62
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat/Mask.mat b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat/Mask.mat
new file mode 100644
index 0000000..3f5624f
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat/Mask.mat
@@ -0,0 +1,145 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-4421254927167637441
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Mask
+ m_Shader: {fileID: 4800000, guid: b5320d808953ec8428e8b1746d8da7d3, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailTex:
+ m_Texture: {fileID: 2800000, guid: f539ec9ad5b337c46aebd62ee548c369, type: 3}
+ m_Scale: {x: 0, y: 0}
+ m_Offset: {x: 0.5, y: 0.5}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _ColorMask: 15
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 0
+ - _Glossiness: 0
+ - _GlossyReflections: 0
+ - _Metallic: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.005
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Stencil: 0
+ - _StencilComp: 8
+ - _StencilOp: 0
+ - _StencilReadMask: 255
+ - _StencilWriteMask: 255
+ - _Strength: 0.2
+ - _Surface: 0
+ - _UseUIAlphaClip: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat/Mask.mat.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat/Mask.mat.meta
new file mode 100755
index 0000000..bf63e64
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Mat/Mask.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 79ccfc6af03200444b538283948fb7e1
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad.meta
new file mode 100755
index 0000000..38c0b8c
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fa6ae930ffa469a43aaea9f7c2e7d952
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad/CircleMask.shader b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad/CircleMask.shader
new file mode 100755
index 0000000..f339468
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad/CircleMask.shader
@@ -0,0 +1,145 @@
+// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
+
+Shader "Mountools/LoadingScreen/Presets/CircleMask/Mask"
+{
+ Properties
+ {
+ [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
+ _Color ("Main Color", Color) = (1,1,1,1)
+
+ _DetailTex ("Detail (RGB)", 2D) = "white" {}
+ _Strength ("Detail Strength", Range(0.0, 1.0)) = 0.2
+
+ _StencilComp ("Stencil Comparison", Float) = 8
+ _Stencil ("Stencil ID", Float) = 0
+ _StencilOp ("Stencil Operation", Float) = 0
+ _StencilWriteMask ("Stencil Write Mask", Float) = 255
+ _StencilReadMask ("Stencil Read Mask", Float) = 255
+
+ _ColorMask ("Color Mask", Float) = 15
+
+ [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
+ }
+
+ SubShader
+ {
+ LOD 100
+
+ Tags
+ {
+ "Queue" = "Transparent"
+ "IgnoreProjector" = "True"
+ "RenderType" = "Transparent"
+ "PreviewType"="Plane"
+ }
+
+ Stencil
+ {
+ Ref [_Stencil]
+ Comp [_StencilComp]
+ Pass [_StencilOp]
+ ReadMask [_StencilReadMask]
+ WriteMask [_StencilWriteMask]
+ }
+
+ Cull Off
+ Lighting Off
+ ZWrite Off
+ ZTest [unity_GUIZTestMode]
+ Blend SrcAlpha OneMinusSrcAlpha
+ ColorMask [_ColorMask]
+
+ Pass
+ {
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+
+ #include "UnityCG.cginc"
+ #include "UnityUI.cginc"
+
+ #pragma multi_compile_local _ UNITY_UI_CLIP_RECT
+ #pragma multi_compile_local _ UNITY_UI_ALPHACLIP
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ float2 texcoord : TEXCOORD0;
+ float2 texcoord2 : TEXCOORD1;
+ fixed4 color : COLOR;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ float2 texcoord : TEXCOORD0;
+ float2 texcoord2 : TEXCOORD1;
+ float4 worldPosition : TEXCOORD2;
+ fixed4 color : COLOR;
+ UNITY_VERTEX_OUTPUT_STEREO
+ };
+
+ sampler2D _MainTex;
+ sampler2D _DetailTex;
+ float4 _MainTex_ST;
+ float4 _DetailTex_ST;
+ float4 _DetailTex_TexelSize;
+ fixed4 _Color;
+ fixed _Strength;
+
+ fixed4 _TextureSampleAdd;
+
+ bool _UseClipRect;
+ float4 _ClipRect;
+
+ bool _UseAlphaClip;
+
+ int _UIVertexColorAlwaysGammaSpace;
+
+ v2f vert (appdata_t v)
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ o.worldPosition = v.vertex;
+ o.vertex = UnityObjectToClipPos(o.worldPosition);
+
+ o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
+ o.texcoord2 = TRANSFORM_TEX(v.texcoord2 * _DetailTex_TexelSize.xy, _DetailTex);
+
+ if (_UIVertexColorAlwaysGammaSpace)
+ {
+ if(!IsGammaSpace())
+ {
+ v.color.rgb = UIGammaToLinear(v.color.rgb);
+ }
+ }
+
+ o.color = v.color * _Color;
+
+ return o;
+ }
+
+ fixed4 frag (v2f i) : SV_Target
+ {
+ fixed4 color = (tex2D(_MainTex, i.texcoord) + _TextureSampleAdd) * i.color;
+ fixed4 detail = tex2D(_DetailTex, i.texcoord2);
+ color.a = color.a - detail.a;
+ color = color * _Color;
+
+ #ifdef UNITY_UI_CLIP_RECT
+ color.a *= UnityGet2DClipping(i.worldPosition.xy, _ClipRect);
+ #endif
+
+ #ifdef UNITY_UI_ALPHACLIP
+ clip (color.a - 0.001);
+ #endif
+
+ return color;
+ }
+ ENDCG
+
+ }
+ }
+}
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad/CircleMask.shader.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad/CircleMask.shader.meta
new file mode 100755
index 0000000..eab0054
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Shad/CircleMask.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b5320d808953ec8428e8b1746d8da7d3
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex.meta
new file mode 100755
index 0000000..8043d11
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 937cc5c3cde12a741bf3c31916422431
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex/Circle.png b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex/Circle.png
new file mode 100755
index 0000000..a819a94
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex/Circle.png
Binary files differ
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex/Circle.png.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex/Circle.png.meta
new file mode 100755
index 0000000..5e53f50
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Circle Mask/Tex/Circle.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: f539ec9ad5b337c46aebd62ee548c369
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade.meta
new file mode 100755
index 0000000..91da3fa
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e6dbfba1d96ca334f800b860bdcf97e4
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim.meta
new file mode 100755
index 0000000..ff0e73b
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6d230675e9ff337448952159b1a48cf2
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Fade Loading Screen.controller b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Fade Loading Screen.controller
new file mode 100755
index 0000000..db5a7d7
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Fade Loading Screen.controller
@@ -0,0 +1,159 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1107 &-4276906711885386955
+AnimatorStateMachine:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Base Layer
+ m_ChildStates:
+ - serializedVersion: 1
+ m_State: {fileID: -4088336307944742336}
+ m_Position: {x: -30, y: 230, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 6192311308138196408}
+ m_Position: {x: 220, y: 230, z: 0}
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: 50, y: 20, z: 0}
+ m_EntryPosition: {x: 50, y: 120, z: 0}
+ m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: 6192311308138196408}
+--- !u!1102 &-4088336307944742336
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Loading
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: 6542857521253501555}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 878d59fc2935e764cbc5098aa0eb716b, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!91 &9100000
+AnimatorController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Fade Loading Screen
+ serializedVersion: 5
+ m_AnimatorParameters:
+ - m_Name: Loading
+ m_Type: 4
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
+ m_AnimatorLayers:
+ - serializedVersion: 5
+ m_Name: Base Layer
+ m_StateMachine: {fileID: -4276906711885386955}
+ m_Mask: {fileID: 0}
+ m_Motions: []
+ m_Behaviours: []
+ m_BlendingMode: 0
+ m_SyncedLayerIndex: -1
+ m_DefaultWeight: 0
+ m_IKPass: 0
+ m_SyncedLayerAffectsTiming: 0
+ m_Controller: {fileID: 9100000}
+--- !u!1101 &1401635835944255918
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: Loading
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -4088336307944742336}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 1
+ m_TransitionOffset: 0
+ m_ExitTime: 0.75
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &6192311308138196408
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Waiting
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: 1401635835944255918}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 6ee19eadc9bebd949886eb0ae696181e, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &6542857521253501555
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 2
+ m_ConditionEvent: Loading
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 6192311308138196408}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 1
+ m_TransitionOffset: 0
+ m_ExitTime: 0.75
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Fade Loading Screen.controller.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Fade Loading Screen.controller.meta
new file mode 100755
index 0000000..fcb4ca9
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Fade Loading Screen.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f8d5dbea6e9e79d4b8f7debe4866a6b9
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 9100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Loading.anim b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Loading.anim
new file mode 100755
index 0000000..e57f68b
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Loading.anim
@@ -0,0 +1,155 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Loading
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Panel
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_Color.a
+ path: Canvas/Panel
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 1938862701
+ attribute: 4228073214
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 1938862701
+ attribute: 304273561
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Panel
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_Color.a
+ path: Canvas/Panel
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Loading.anim.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Loading.anim.meta
new file mode 100755
index 0000000..b3796d8
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Loading.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 878d59fc2935e764cbc5098aa0eb716b
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Waiting.anim b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Waiting.anim
new file mode 100755
index 0000000..cbbb918
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Waiting.anim
@@ -0,0 +1,155 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Waiting
+ serializedVersion: 7
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Panel
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_Color.a
+ path: Canvas/Panel
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ m_PPtrCurves: []
+ m_SampleRate: 60
+ m_WrapMode: 0
+ m_Bounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 0, y: 0, z: 0}
+ m_ClipBindingConstant:
+ genericBindings:
+ - serializedVersion: 2
+ path: 1938862701
+ attribute: 4228073214
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ - serializedVersion: 2
+ path: 1938862701
+ attribute: 304273561
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ typeID: 114
+ customType: 0
+ isPPtrCurve: 0
+ isIntCurve: 0
+ isSerializeReferenceCurve: 0
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ m_LoopBlend: 0
+ m_LoopBlendOrientation: 0
+ m_LoopBlendPositionY: 0
+ m_LoopBlendPositionXZ: 0
+ m_KeepOriginalOrientation: 0
+ m_KeepOriginalPositionY: 1
+ m_KeepOriginalPositionXZ: 0
+ m_HeightFromFeet: 0
+ m_Mirror: 0
+ m_EditorCurves:
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: Infinity
+ outSlope: Infinity
+ tangentMode: 103
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_RaycastTarget
+ path: Canvas/Panel
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ - serializedVersion: 2
+ curve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 136
+ weightedMode: 0
+ inWeight: 0
+ outWeight: 0
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ attribute: m_Color.a
+ path: Canvas/Panel
+ classID: 114
+ script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ flags: 0
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Waiting.anim.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Waiting.anim.meta
new file mode 100755
index 0000000..485ddaf
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Anim/Waiting.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6ee19eadc9bebd949886eb0ae696181e
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen (Progress).prefab b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen (Progress).prefab
new file mode 100755
index 0000000..a9cf00a
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen (Progress).prefab
@@ -0,0 +1,493 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &592095924304336745
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1974921762378448095}
+ - component: {fileID: 3288327742868898026}
+ - component: {fileID: 3699089235482016574}
+ - component: {fileID: 3348306206763899895}
+ m_Layer: 0
+ m_Name: Progress
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1974921762378448095
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 592095924304336745}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2528762152400020606}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: -90, y: 90}
+ m_SizeDelta: {x: 80, y: 80}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3288327742868898026
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 592095924304336745}
+ m_CullTransparentMesh: 1
+--- !u!114 &3699089235482016574
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 592095924304336745}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 4622fe18253baa84eaf6eb9fb8039e4b, type: 3}
+ m_Type: 3
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 0
+ m_FillClockwise: 1
+ m_FillOrigin: 2
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &3348306206763899895
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 592095924304336745}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7500438354a542748a4be3a997c48b21, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ loadingScreen: {fileID: 2326113720688641454}
+--- !u!1 &3683035824592119363
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 533502253015667870}
+ - component: {fileID: 6536086559759010897}
+ - component: {fileID: 2326113720688641454}
+ - component: {fileID: 6668824221471949561}
+ - component: {fileID: 3296789288479129903}
+ - component: {fileID: 6001558305394997324}
+ - component: {fileID: 4012304864600790546}
+ m_Layer: 0
+ m_Name: Fade Loading Screen (Progress)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &533502253015667870
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 2528762152400020606}
+ - {fileID: 7168054892420066216}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!95 &6536086559759010897
+Animator:
+ serializedVersion: 5
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 9100000, guid: f8d5dbea6e9e79d4b8f7debe4866a6b9, type: 2}
+ m_CullingMode: 0
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_StabilizeFeet: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorStateOnDisable: 0
+ m_WriteDefaultValuesOnDisable: 0
+--- !u!114 &2326113720688641454
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8aeae8c80ea82db47a8db991ff6b11a3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ loadingStartWaitSeconds: 1
+ loadingDoneWaitSeconds: 1
+ fakeLoadingRate: 0.1
+ progress: 0
+ isLoading: 0
+ loadingSceneName:
+ onLoad:
+ m_PersistentCalls:
+ m_Calls: []
+ onLoading:
+ m_PersistentCalls:
+ m_Calls: []
+ onLoaded:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &6668824221471949561
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b581e1e5f148554468ce926ad712c98b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ loadingScreen: {fileID: 0}
+ animator: {fileID: 0}
+--- !u!222 &3296789288479129903
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_CullTransparentMesh: 1
+--- !u!114 &6001558305394997324
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 0
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &4012304864600790546
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7500438354a542748a4be3a997c48b21, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ loadingScreen: {fileID: 2326113720688641454}
+--- !u!1 &6744053944627975034
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2528762152400020606}
+ - component: {fileID: 8591877239228982221}
+ - component: {fileID: 5923530958657183913}
+ - component: {fileID: 6499944686657666625}
+ m_Layer: 0
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2528762152400020606
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6744053944627975034}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 674887513961742594}
+ - {fileID: 1974921762378448095}
+ m_Father: {fileID: 533502253015667870}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!223 &8591877239228982221
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6744053944627975034}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 1
+ m_AdditionalShaderChannelsFlag: 0
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 1
+ m_TargetDisplay: 0
+--- !u!114 &5923530958657183913
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6744053944627975034}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!114 &6499944686657666625
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6744053944627975034}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!1 &7839007905057096165
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7168054892420066216}
+ - component: {fileID: 8924067543297665489}
+ - component: {fileID: 3372936652806608345}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7168054892420066216
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7839007905057096165}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 533502253015667870}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8924067543297665489
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7839007905057096165}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!114 &3372936652806608345
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7839007905057096165}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SendPointerHoverToParent: 1
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!1 &7910745976281393077
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 674887513961742594}
+ - component: {fileID: 7819542920721132849}
+ - component: {fileID: 3120311752097781307}
+ m_Layer: 0
+ m_Name: Panel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &674887513961742594
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7910745976281393077}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2528762152400020606}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7819542920721132849
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7910745976281393077}
+ m_CullTransparentMesh: 1
+--- !u!114 &3120311752097781307
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7910745976281393077}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen (Progress).prefab.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen (Progress).prefab.meta
new file mode 100755
index 0000000..29ed7d3
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen (Progress).prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 19b29b52e75926e4daab87faaa8df26a
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen.prefab b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen.prefab
new file mode 100755
index 0000000..38f7757
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen.prefab
@@ -0,0 +1,403 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3683035824592119363
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 533502253015667870}
+ - component: {fileID: 6536086559759010897}
+ - component: {fileID: 2326113720688641454}
+ - component: {fileID: 6668824221471949561}
+ - component: {fileID: 3296789288479129903}
+ - component: {fileID: 6001558305394997324}
+ - component: {fileID: 4012304864600790546}
+ m_Layer: 0
+ m_Name: Fade Loading Screen
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &533502253015667870
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 2528762152400020606}
+ - {fileID: 7168054892420066216}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 100, y: 100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!95 &6536086559759010897
+Animator:
+ serializedVersion: 5
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 9100000, guid: f8d5dbea6e9e79d4b8f7debe4866a6b9, type: 2}
+ m_CullingMode: 0
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_StabilizeFeet: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorStateOnDisable: 0
+ m_WriteDefaultValuesOnDisable: 0
+--- !u!114 &2326113720688641454
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8aeae8c80ea82db47a8db991ff6b11a3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ loadingStartWaitSeconds: 1
+ loadingDoneWaitSeconds: 1
+ fakeLoadingRate: 0.1
+ progress: 0
+ isLoading: 0
+ loadingSceneName:
+ onLoad:
+ m_PersistentCalls:
+ m_Calls: []
+ onLoading:
+ m_PersistentCalls:
+ m_Calls: []
+ onLoaded:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &6668824221471949561
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b581e1e5f148554468ce926ad712c98b, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ loadingScreen: {fileID: 0}
+ animator: {fileID: 0}
+--- !u!222 &3296789288479129903
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_CullTransparentMesh: 1
+--- !u!114 &6001558305394997324
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 0
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &4012304864600790546
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3683035824592119363}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7500438354a542748a4be3a997c48b21, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ loadingScreen: {fileID: 2326113720688641454}
+--- !u!1 &6744053944627975034
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2528762152400020606}
+ - component: {fileID: 8591877239228982221}
+ - component: {fileID: 5923530958657183913}
+ - component: {fileID: 6499944686657666625}
+ m_Layer: 0
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2528762152400020606
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6744053944627975034}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 674887513961742594}
+ m_Father: {fileID: 533502253015667870}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!223 &8591877239228982221
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6744053944627975034}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_VertexColorAlwaysGammaSpace: 1
+ m_AdditionalShaderChannelsFlag: 0
+ m_UpdateRectTransformForStandalone: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 1
+ m_TargetDisplay: 0
+--- !u!114 &5923530958657183913
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6744053944627975034}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 0
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+ m_PresetInfoIsWorld: 0
+--- !u!114 &6499944686657666625
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6744053944627975034}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!1 &7839007905057096165
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7168054892420066216}
+ - component: {fileID: 8924067543297665489}
+ - component: {fileID: 3372936652806608345}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &7168054892420066216
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7839007905057096165}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 533502253015667870}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &8924067543297665489
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7839007905057096165}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!114 &3372936652806608345
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7839007905057096165}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_SendPointerHoverToParent: 1
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!1 &7910745976281393077
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 674887513961742594}
+ - component: {fileID: 7819542920721132849}
+ - component: {fileID: 3120311752097781307}
+ m_Layer: 0
+ m_Name: Panel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &674887513961742594
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7910745976281393077}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 2528762152400020606}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7819542920721132849
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7910745976281393077}
+ m_CullTransparentMesh: 1
+--- !u!114 &3120311752097781307
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7910745976281393077}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen.prefab.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen.prefab.meta
new file mode 100755
index 0000000..3fcaed7
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Fade Loading Screen.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 311b56cb11e41b84793069a044c94e36
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/FadeLoadingScreen.cs b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/FadeLoadingScreen.cs
new file mode 100755
index 0000000..a1ff2fd
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/FadeLoadingScreen.cs
@@ -0,0 +1,25 @@
+using UnityEngine;
+
+namespace Mountools.LoadingScreen.Presets.Fade
+{
+ [RequireComponent(typeof(ProgressCircle))]
+ public class FadeLoadingScreen : LoadingScreenPresetHandle
+ {
+ private static readonly int Loading = Animator.StringToHash("Loading");
+
+ protected override void OnLoad(string sceneName)
+ {
+ animator.SetBool(Loading, true);
+ }
+
+ protected override void OnLoading(float progress)
+ {
+
+ }
+
+ protected override void OnLoaded()
+ {
+ animator.SetBool(Loading, false);
+ }
+ }
+}
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/FadeLoadingScreen.cs.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/FadeLoadingScreen.cs.meta
new file mode 100755
index 0000000..d16b995
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/FadeLoadingScreen.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b581e1e5f148554468ce926ad712c98b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/ProgressCircle.cs b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/ProgressCircle.cs
new file mode 100755
index 0000000..51895e3
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/ProgressCircle.cs
@@ -0,0 +1,25 @@
+using System;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Mountools.LoadingScreen.Presets.Fade
+{
+ [RequireComponent(typeof(Image))]
+ [ExecuteAlways]
+ public class ProgressCircle : MonoBehaviour
+ {
+ public LoadingScreen loadingScreen;
+
+ private Image _image;
+
+ private void Start()
+ {
+ _image = GetComponent<Image>();
+ }
+
+ private void Update()
+ {
+ _image.fillAmount = loadingScreen.isLoading ? loadingScreen.progress : 0;
+ }
+ }
+}
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/ProgressCircle.cs.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/ProgressCircle.cs.meta
new file mode 100755
index 0000000..da81597
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/ProgressCircle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7500438354a542748a4be3a997c48b21
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex.meta
new file mode 100755
index 0000000..5595010
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2804e6132b17caf46bd0cfb49f0adef3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex/Circle.png b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex/Circle.png
new file mode 100755
index 0000000..a819a94
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex/Circle.png
Binary files differ
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex/Circle.png.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex/Circle.png.meta
new file mode 100755
index 0000000..4fa8f21
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Fade/Tex/Circle.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 4622fe18253baa84eaf6eb9fb8039e4b
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/LoadingScreenPresetHandle.cs b/Assets/Mountools/Extends/LoadingScreen/Presets/LoadingScreenPresetHandle.cs
new file mode 100755
index 0000000..eba0207
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/LoadingScreenPresetHandle.cs
@@ -0,0 +1,31 @@
+using System;
+using UnityEngine;
+
+namespace Mountools.LoadingScreen.Presets
+{
+ [RequireComponent(typeof(LoadingScreen))]
+ [RequireComponent(typeof(Animator))]
+ public abstract class LoadingScreenPresetHandle : MonoBehaviour
+ {
+ [HideInInspector] public LoadingScreen loadingScreen;
+ [HideInInspector] public Animator animator;
+
+ private void Start()
+ {
+ loadingScreen = GetComponent<LoadingScreen>();
+ animator = GetComponent<Animator>();
+
+ loadingScreen.onLoad.AddListener(OnLoad);
+ loadingScreen.onLoading.AddListener(OnLoading);
+ loadingScreen.onLoaded.AddListener(OnLoaded);
+
+ Initialize();
+ }
+
+ protected virtual void Initialize() {}
+
+ protected abstract void OnLoad(string sceneName);
+ protected abstract void OnLoading(float progress);
+ protected abstract void OnLoaded();
+ }
+}
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/LoadingScreenPresetHandle.cs.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/LoadingScreenPresetHandle.cs.meta
new file mode 100755
index 0000000..067130e
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/LoadingScreenPresetHandle.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e9cde93998427ce429627a1d266e466d
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Mountools.LoadingScreen.Presets.asmdef b/Assets/Mountools/Extends/LoadingScreen/Presets/Mountools.LoadingScreen.Presets.asmdef
new file mode 100755
index 0000000..9004255
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Mountools.LoadingScreen.Presets.asmdef
@@ -0,0 +1,19 @@
+{
+ "name": "Mountools.LoadingScreen.Presets",
+ "rootNamespace": "",
+ "references": [
+ "GUID:badcfa392cfb92b438720b19250e4fee",
+ "GUID:507755f5954d18a4da63c3118ef07d6f"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [
+ "MOUNTOOLS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+} \ No newline at end of file
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Mountools.LoadingScreen.Presets.asmdef.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Mountools.LoadingScreen.Presets.asmdef.meta
new file mode 100755
index 0000000..bbb7bb6
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Mountools.LoadingScreen.Presets.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: c9b0ad008808253429974b70cf67af28
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Presets.asset b/Assets/Mountools/Extends/LoadingScreen/Presets/Presets.asset
new file mode 100755
index 0000000..1c01db3
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Presets.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5fedd50951323a6458821dbd03b3efc6, type: 3}
+ m_Name: Presets
+ m_EditorClassIdentifier:
+ loadingScreens:
+ - {fileID: 3683035824592119363, guid: 311b56cb11e41b84793069a044c94e36, type: 3}
+ - {fileID: 3683035824592119363, guid: 19b29b52e75926e4daab87faaa8df26a, type: 3}
+ - {fileID: 5797885686541887895, guid: 01514d93afc5df34cb928150b0a169b7, type: 3}
diff --git a/Assets/Mountools/Extends/LoadingScreen/Presets/Presets.asset.meta b/Assets/Mountools/Extends/LoadingScreen/Presets/Presets.asset.meta
new file mode 100755
index 0000000..c327deb
--- /dev/null
+++ b/Assets/Mountools/Extends/LoadingScreen/Presets/Presets.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 625e2eaa3d5b864459095b36ef8bdf52
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Setup.cs b/Assets/Mountools/Setup.cs
new file mode 100755
index 0000000..4acfbd5
--- /dev/null
+++ b/Assets/Mountools/Setup.cs
@@ -0,0 +1,67 @@
+#if UNITY_EDITOR
+using System.Collections.Generic;
+using UnityEditor;
+using UnityEditor.Build;
+
+namespace Mountools
+{
+ public static class Setup
+ {
+#if MOUNTOOLS
+#else
+ [MenuItem("\"Mountools Setup !\"/Choose Your Language/中文")]
+ public static void MountoolsLanguageChinese()
+ {
+ ChangeLanguageTo("CHINESE");
+
+ SetupMontools();
+ }
+
+ [MenuItem("\"Mountools Setup !\"/Choose Your Language/English")]
+ public static void MountoolsLanguageEnglish()
+ {
+ ChangeLanguageTo("ENGLISH");
+
+ SetupMontools();
+ }
+
+ private static void SetupMontools()
+ {
+ List<string> defineSymbols =
+ new List<string>(
+ PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.Standalone).Split(";")
+ );
+
+ defineSymbols.Insert(0, "MOUNTOOLS");
+
+ PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.Standalone, defineSymbols.ToArray());
+ }
+#endif
+
+ public static void ChangeLanguageTo(string language)
+ {
+ List<string> defineSymbols =
+ new List<string>(
+ PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.Standalone).Split(";")
+ );
+
+ List<string> removeSymbols = new List<string>();
+ foreach (var symbol in defineSymbols)
+ {
+ if (symbol.Contains("MT_L_"))
+ {
+ removeSymbols.Add(symbol);
+ }
+ }
+
+ foreach (var removeSymbol in removeSymbols)
+ {
+ defineSymbols.Remove(removeSymbol);
+ }
+
+ defineSymbols.Add("MT_L_" + language);
+ PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.Standalone, defineSymbols.ToArray());
+ }
+ }
+}
+#endif \ No newline at end of file
diff --git a/Assets/Mountools/Setup.cs.meta b/Assets/Mountools/Setup.cs.meta
new file mode 100755
index 0000000..b3e7895
--- /dev/null
+++ b/Assets/Mountools/Setup.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 1f18f88744614cf8aacbbb460f41b6ae
+timeCreated: 1718479961 \ No newline at end of file
diff --git a/Assets/Mountools/Tools.meta b/Assets/Mountools/Tools.meta
new file mode 100755
index 0000000..905454a
--- /dev/null
+++ b/Assets/Mountools/Tools.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d45202852ac881941a6d92c774e1b73a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Tools/Editor.meta b/Assets/Mountools/Tools/Editor.meta
new file mode 100755
index 0000000..cc64abf
--- /dev/null
+++ b/Assets/Mountools/Tools/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ac8cd71a8e4f37f4f965fe4e13cc7b44
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Tools/Editor/LabelAttribute.cs b/Assets/Mountools/Tools/Editor/LabelAttribute.cs
new file mode 100755
index 0000000..51302df
--- /dev/null
+++ b/Assets/Mountools/Tools/Editor/LabelAttribute.cs
@@ -0,0 +1,14 @@
+using UnityEngine;
+
+namespace Mountools.Tools.Editor
+{
+ public class LabelAttribute : PropertyAttribute
+ {
+ public string Name { get; }
+
+ public LabelAttribute(string name)
+ {
+ Name = name;
+ }
+ }
+} \ No newline at end of file
diff --git a/Assets/Mountools/Tools/Editor/LabelAttribute.cs.meta b/Assets/Mountools/Tools/Editor/LabelAttribute.cs.meta
new file mode 100755
index 0000000..ac6aa51
--- /dev/null
+++ b/Assets/Mountools/Tools/Editor/LabelAttribute.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 9eb0e6417a53467c99d5d28aacd1bde0
+timeCreated: 1718475094 \ No newline at end of file
diff --git a/Assets/Mountools/Tools/Editor/LabelAttributeDrawer.cs b/Assets/Mountools/Tools/Editor/LabelAttributeDrawer.cs
new file mode 100755
index 0000000..7a11334
--- /dev/null
+++ b/Assets/Mountools/Tools/Editor/LabelAttributeDrawer.cs
@@ -0,0 +1,20 @@
+#if UNITY_EDITOR
+using UnityEditor;
+using UnityEngine;
+
+namespace Mountools.Tools.Editor
+{
+ [CustomPropertyDrawer(typeof(LabelAttribute))]
+ public class LabelAttributeDrawer : PropertyDrawer
+ {
+ public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+ {
+ if (attribute is LabelAttribute attr && attr.Name.Length > 0)
+ {
+ label.text = attr.Name;
+ }
+ EditorGUI.PropertyField(position, property, label);
+ }
+ }
+}
+#endif \ No newline at end of file
diff --git a/Assets/Mountools/Tools/Editor/LabelAttributeDrawer.cs.meta b/Assets/Mountools/Tools/Editor/LabelAttributeDrawer.cs.meta
new file mode 100755
index 0000000..cf8ff29
--- /dev/null
+++ b/Assets/Mountools/Tools/Editor/LabelAttributeDrawer.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 192a1578461144b39d96a190c9d904ff
+timeCreated: 1718475094 \ No newline at end of file
diff --git a/Assets/Mountools/Tools/Editor/MenuItems.cs b/Assets/Mountools/Tools/Editor/MenuItems.cs
new file mode 100755
index 0000000..f00eb4f
--- /dev/null
+++ b/Assets/Mountools/Tools/Editor/MenuItems.cs
@@ -0,0 +1,246 @@
+#if UNITY_EDITOR
+using System;
+using System.Collections.Generic;
+using System.IO;
+using UnityEditor;
+using UnityEditor.Build;
+using UnityEditor.ProjectWindowCallback;
+using UnityEngine;
+using Object = UnityEngine.Object;
+
+namespace Mountools.Tools.Editor
+{
+ public static class MenuItems
+ {
+ #region 基础
+
+#if MT_L_CHINESE
+ [MenuItem("Mountools/语言/英文")]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("Mountools/Language/English")]
+#endif
+ public static void ChangeLanguageToEnglish()
+ {
+ ChangeLanguageTo("ENGLISH");
+ }
+
+#if MT_L_CHINESE
+ [MenuItem("Mountools/语言/中文")]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("Mountools/Language/Chinese")]
+#endif
+ public static void ChangeLanguageToChinese()
+ {
+ ChangeLanguageTo("CHINESE");
+ }
+
+ public static void ChangeLanguageTo(string language)
+ {
+ List<string> defineSymbols =
+ new List<string>(
+ PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.Standalone).Split(";")
+ );
+
+ List<string> removeSymbols = new List<string>();
+ foreach (var symbol in defineSymbols)
+ {
+ if (symbol.Contains("MT_L_"))
+ {
+ removeSymbols.Add(symbol);
+ }
+ }
+
+ foreach (var removeSymbol in removeSymbols)
+ {
+ defineSymbols.Remove(removeSymbol);
+ }
+
+ defineSymbols.Add("MT_L_" + language);
+ PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.Standalone, defineSymbols.ToArray());
+ }
+
+ #endregion
+
+ #region 脚本模板
+
+#if MT_L_CHINESE
+ [MenuItem("Assets/Create/脚本模板/编辑器脚本", false, 79)]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("Assets/Create/C# Templates/Editor Script", false, 79)]
+#endif
+ public static void CreateNewEditorScript()
+ {
+ ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0,
+ ScriptableObject.CreateInstance<CreateEditorScriptAssetAction>(),
+ GetSelectedPathOrFallback() + "/MonoBehaviourEditor.cs",
+ EditorGUIUtility.FindTexture("d_cs Script Icon"),
+ "EditorScript");
+ }
+
+#if MT_L_CHINESE
+ [MenuItem("Assets/Create/脚本模板/编辑器窗口", false, 79)]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("Assets/Create/C# Templates/Editor Window", false, 79)]
+#endif
+ public static void CreateEditorWindowScript()
+ {
+ ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0,
+ ScriptableObject.CreateInstance<CreateScriptableObjectScriptAssetAction>(),
+ GetSelectedPathOrFallback() + "/NewEditorWindow.cs",
+ EditorGUIUtility.FindTexture("d_cs Script Icon"),
+ "EditorWindow");
+ }
+
+#if MT_L_CHINESE
+ [MenuItem("Assets/Create/脚本模板/可序列化对象", false, 79)]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("Assets/Create/C# Templates/Scriptable Object", false, 80)]
+#endif
+ public static void CreateNewScriptableObjectScript()
+ {
+ ProjectWindowUtil.StartNameEditingIfProjectWindowExists(0,
+ ScriptableObject.CreateInstance<CreateScriptableObjectScriptAssetAction>(),
+ GetSelectedPathOrFallback() + "/NewScriptableObjectScript.cs",
+ EditorGUIUtility.FindTexture("d_cs Script Icon"),
+ "ScriptableObject");
+ }
+
+ private static string GetSelectedPathOrFallback()
+ {
+ string path = "Assets";
+ foreach (Object obj in Selection.GetFiltered(typeof(Object), SelectionMode.Assets))
+ {
+ path = AssetDatabase.GetAssetPath(obj);
+ if (!string.IsNullOrEmpty(path) && File.Exists(path))
+ {
+ path = Path.GetDirectoryName(path);
+ break;
+ }
+ }
+ return path;
+ }
+
+ #endregion
+
+ #region 工具
+
+#if MT_L_CHINESE
+ [MenuItem("Mountools/工具/游戏内自由相机 #G")]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("Mountools/Tools/In-Game Free Camera #G")]
+#endif
+ private static void FreeCameraEnter()
+ {
+ ToolFreeCamera.FreeCameraEnter();
+ }
+
+#if MT_L_CHINESE
+ [MenuItem("Mountools/工具/方法调用器")]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("Mountools/Tools/Object Method Invoker")]
+#endif
+ public static void ObjectMethodInvoker()
+ {
+ ToolObjectMethodInvoker invoker = EditorWindow.GetWindow<ToolObjectMethodInvoker>("Object Method Invoker");
+
+#if MT_L_CHINESE
+ var strMethodInvoker = "方法调用器";
+#endif
+#if MT_L_ENGLISH
+ var strMethodInvoker = "Method Invoker";
+#endif
+
+ invoker.titleContent = new GUIContent(strMethodInvoker);
+ }
+
+#if MT_L_CHINESE
+ [MenuItem("Mountools/工具/添加 Visual Scripting 适配")]
+#endif
+#if MT_L_ENGLISH
+ [MenuItem("Mountools/Tools/Add Visual Scripting Support")]
+#endif
+ public static void SupportVisualScripting()
+ {
+ List<string> defineSymbols =
+ new List<string>(
+ PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.Standalone).Split(";")
+ );
+
+ foreach (var symbol in defineSymbols)
+ {
+ if (symbol.Contains("MT_TOOL_VS"))
+ {
+ return;
+ }
+ }
+
+ defineSymbols.Add("MT_TOOL_VS");
+ PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.Standalone, defineSymbols.ToArray());
+ }
+ #endregion
+ }
+
+ public class CreateEditorScriptAssetAction : EndNameEditAction
+ {
+ public override void Action(int instanceId, string pathName, string resourceFile)
+ {
+ var file = new FileInfo(new DirectoryInfo(Application.dataPath).Parent + "/"
+ + pathName.Replace(".cs", "Editor.cs"));
+
+ var name = file.Name.Replace("Editor.cs", "");
+ var templateText = MountoolsEditor.ScriptTemplate(resourceFile)
+ .Replace("[NameVariable]", name.Substring(0, 1).ToLower() + name.Substring(1))
+ .Replace("[NameSpace]", MountoolsEditor.GetNamespaceByPath(pathName))
+ .Replace("[Name]", name)
+ .Replace("[Author]", Application.companyName)
+ .Replace("[Date]", DateTime.Today.ToString("yyyy / MM / dd - HH:mm:ss"));
+ File.WriteAllText(file.FullName, templateText);
+
+ AssetDatabase.Refresh();
+ }
+ }
+
+ public class CreateEditorWindowAssetAction : EndNameEditAction
+ {
+ public override void Action(int instanceId, string pathName, string resourceFile)
+ {
+ var file = new FileInfo(new DirectoryInfo(Application.dataPath).Parent + "/"
+ + pathName);
+
+ var templateText = MountoolsEditor.ScriptTemplate(resourceFile)
+ .Replace("[NameSpace]", MountoolsEditor.GetNamespaceByPath(pathName))
+ .Replace("[Name]", file.Name.Replace(".cs", ""))
+ .Replace("[Author]", Application.companyName)
+ .Replace("[Date]", DateTime.Today.ToString("yyyy / MM / dd - HH:mm:ss"));
+ File.WriteAllText(file.FullName, templateText);
+
+ AssetDatabase.Refresh();
+ }
+ }
+
+ public class CreateScriptableObjectScriptAssetAction : EndNameEditAction
+ {
+ public override void Action(int instanceId, string pathName, string resourceFile)
+ {
+ var file = new FileInfo(new DirectoryInfo(Application.dataPath).Parent + "/"
+ + pathName);
+
+ var templateText = MountoolsEditor.ScriptTemplate(resourceFile)
+ .Replace("[NameSpace]", MountoolsEditor.GetNamespaceByPath(pathName))
+ .Replace("[Name]", file.Name.Replace(".cs", ""))
+ .Replace("[Author]", Application.companyName)
+ .Replace("[Date]", DateTime.Today.ToString("yyyy / MM / dd - HH:mm:ss"));
+ File.WriteAllText(file.FullName, templateText);
+
+ AssetDatabase.Refresh();
+ }
+ }
+}
+#endif
diff --git a/Assets/Mountools/Tools/Editor/MenuItems.cs.meta b/Assets/Mountools/Tools/Editor/MenuItems.cs.meta
new file mode 100755
index 0000000..31bcef4
--- /dev/null
+++ b/Assets/Mountools/Tools/Editor/MenuItems.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1f79ee2a4c458864d90468256a109524
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Tools/Editor/ToolInspectorBookmarkEditor.cs b/Assets/Mountools/Tools/Editor/ToolInspectorBookmarkEditor.cs
new file mode 100755
index 0000000..1fbd688
--- /dev/null
+++ b/Assets/Mountools/Tools/Editor/ToolInspectorBookmarkEditor.cs
@@ -0,0 +1,50 @@
+#if UNITY_EDITOR
+using UnityEditor;
+using UnityEngine;
+
+namespace Mountools.Tools.Editor
+{
+ [CustomEditor(typeof(ToolInspectorBookmark))]
+ public class ToolInspectorBookmarkEditor : UnityEditor.Editor
+ {
+ /*
+ * Editor page created by Mountools
+ * Author : CatilGrass
+ * Date : 2024 / 10 / 21 - 00:00:00
+ */
+
+ public ToolInspectorBookmark bookmark;
+
+ private void OnEnable()
+ {
+ bookmark = (ToolInspectorBookmark) target;
+ }
+
+ private void DrawToolInspectorBookmarkEditor()
+ {
+ EditorGUILayout.BeginVertical();
+ {
+ var lineCount = bookmark.bookmarkContent.Split("\n").Length;
+ bookmark.bookmarkContent = EditorGUILayout.TextArea(bookmark.bookmarkContent
+ , GUILayout.Height(lineCount * 15 + 5));
+ }
+ EditorGUILayout.EndVertical();
+ }
+
+ public override void OnInspectorGUI()
+ {
+ Undo.RecordObject(bookmark, "Edit ToolInspectorBookmark");
+ EditorGUI.BeginChangeCheck();
+
+ // DrawDefaultInspector();
+ DrawToolInspectorBookmarkEditor();
+
+ if (EditorGUI.EndChangeCheck())
+ {
+ EditorUtility.SetDirty(bookmark);
+ Undo.FlushUndoRecordObjects();
+ }
+ }
+ }
+}
+#endif \ No newline at end of file
diff --git a/Assets/Mountools/Tools/Editor/ToolInspectorBookmarkEditor.cs.meta b/Assets/Mountools/Tools/Editor/ToolInspectorBookmarkEditor.cs.meta
new file mode 100755
index 0000000..306db22
--- /dev/null
+++ b/Assets/Mountools/Tools/Editor/ToolInspectorBookmarkEditor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 09cf465d97bd97541a7b735333d39c8c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Tools/Mountools.Tools.asmdef b/Assets/Mountools/Tools/Mountools.Tools.asmdef
new file mode 100755
index 0000000..adbaf5d
--- /dev/null
+++ b/Assets/Mountools/Tools/Mountools.Tools.asmdef
@@ -0,0 +1,16 @@
+{
+ "name": "Mountools.Tools",
+ "rootNamespace": "",
+ "references": [],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [
+ "MOUNTOOLS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+} \ No newline at end of file
diff --git a/Assets/Mountools/Tools/Mountools.Tools.asmdef.meta b/Assets/Mountools/Tools/Mountools.Tools.asmdef.meta
new file mode 100755
index 0000000..db6b539
--- /dev/null
+++ b/Assets/Mountools/Tools/Mountools.Tools.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: badcfa392cfb92b438720b19250e4fee
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Tools/MountoolsEditor.cs b/Assets/Mountools/Tools/MountoolsEditor.cs
new file mode 100755
index 0000000..7551615
--- /dev/null
+++ b/Assets/Mountools/Tools/MountoolsEditor.cs
@@ -0,0 +1,296 @@
+using System;
+using UnityEngine;
+using Object = UnityEngine.Object;
+
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+namespace Mountools.Tools
+{
+ // Mountools 编辑器相关
+ public static class MountoolsEditor
+ {
+ public static string rootPath = "Assets/Mountools";
+
+ // 设置已修改 (任何时候)
+ public static void SetDirty(Object obj)
+ {
+#if UNITY_EDITOR
+ if (Application.isPlaying)
+ {
+ EditorUtility.SetDirty(obj);
+ }
+#endif
+ }
+
+ // 创建游戏对象
+ public static GameObject CreateEmptyGameObject(string name = "New Game Object", bool moveToView = true)
+ {
+ var obj = new GameObject(name);
+
+#if UNITY_EDITOR
+ if (! Application.isPlaying)
+ {
+ if (moveToView)
+ SceneView.lastActiveSceneView.MoveToView(obj.transform);
+
+ obj.transform.parent = Selection.gameObjects.Length > 0 ? Selection.gameObjects[0].transform : null;
+ SetDirty(obj);
+ Undo.RegisterCreatedObjectUndo(obj, $"Create GameObject \"{name}\"");
+ }
+#endif
+
+ return obj;
+ }
+
+ // 创建带组件的游戏对象
+ public static T CreateGameObject<T> (string name = "", bool moveToView = true) where T : Component
+ {
+ var obj = new GameObject(name == "" ? typeof(T).Name : name);
+ var component = obj.AddComponent<T>();
+
+#if UNITY_EDITOR
+ if (! Application.isPlaying)
+ {
+ if (moveToView)
+ SceneView.lastActiveSceneView.MoveToView(obj.transform);
+
+ obj.transform.parent = Selection.gameObjects.Length > 0 ? Selection.gameObjects[0].transform : null;
+ SetDirty(obj);
+ Undo.RegisterCreatedObjectUndo(obj, $"Create {typeof(T).Name}");
+ }
+#endif
+
+ return component;
+ }
+
+ // 获得脚本模板内容
+ public static string ScriptTemplate(string templateName)
+ {
+ var result = "";
+
+#if UNITY_EDITOR
+ var fullName = $"{rootPath}/_RESOURCES/SCRIPT_TEMPLATE/" + templateName.Trim() + "Template.txt";
+ TextAsset templateText = AssetDatabase.LoadAssetAtPath<TextAsset>(fullName);
+ result = templateText.text;
+#endif
+
+ return result.Trim();
+ }
+
+ // 通过路径计算命名空间
+ public static string GetNamespaceByPath(string pathName)
+ {
+ var start = pathName.IndexOf('/') + 1;
+ return pathName.Substring
+ (start, pathName.LastIndexOf('/') - start)
+ .Replace("/", ".");
+ }
+
+ public static void FoldoutMenu(ref bool fold, string title, Action layout)
+ {
+#if UNITY_EDITOR
+ EditorGUILayout.BeginHorizontal("FrameBox");
+ {
+ EditorGUILayout.LabelField("", GUILayout.Width(20));
+
+ fold = ! EditorGUILayout.Foldout(! fold, title);
+ }
+ EditorGUILayout.EndHorizontal();
+
+ if (! fold)
+ {
+ EditorGUI.indentLevel++;
+
+ EditorGUILayout.BeginVertical("OL box NoExpand");
+ {
+ layout.Invoke();
+ }
+ EditorGUILayout.EndVertical();
+
+ EditorGUI.indentLevel--;
+
+ EditorGUILayout.Space();
+ }
+#endif
+ }
+
+ public static void FoldoutMenuWithToggle(ref bool fold, ref bool toggle, string title, Action layout)
+ {
+#if UNITY_EDITOR
+ EditorGUILayout.BeginHorizontal("FrameBox");
+ {
+ EditorGUILayout.LabelField("", GUILayout.Width(20));
+
+ fold = ! EditorGUILayout.Foldout(! fold, title);
+
+ toggle = EditorGUILayout.Toggle("", toggle, GUILayout.Width(20));
+ }
+ EditorGUILayout.EndHorizontal();
+
+ if (! fold)
+ {
+ EditorGUI.BeginDisabledGroup(! toggle);
+ {
+ EditorGUI.indentLevel++;
+
+ EditorGUILayout.BeginVertical("OL box NoExpand");
+ {
+ layout.Invoke();
+ }
+ EditorGUILayout.EndVertical();
+
+ EditorGUI.indentLevel--;
+ }
+ EditorGUI.EndDisabledGroup();
+
+ EditorGUILayout.Space();
+ }
+#endif
+ }
+
+ public static class GUIStyles
+ {
+ public static GUIStyle titleStyleLarge => new()
+ {
+ normal = { textColor = GUI.contentColor },
+ fontStyle = FontStyle.Bold,
+ fontSize = 16
+ };
+
+ public static GUIStyle titleStyleSmall => new()
+ {
+ normal = { textColor = GUI.contentColor },
+ fontStyle = FontStyle.Bold
+ };
+
+ public static GUIStyle contentStyleItalic => new()
+ {
+ normal = { textColor = GUI.contentColor },
+ fontStyle = FontStyle.Italic
+ };
+ }
+ }
+
+ // Mountools 数据
+
+ // 可视化 Vector2 范围
+ [Serializable]
+ public struct Vector2Square
+ {
+ public float x;
+
+ public float y;
+
+ public Vector2Square(float x = 0.5f, float y = 0.5f)
+ {
+ this.x = x;
+ this.y = y;
+ }
+ }
+
+#if UNITY_EDITOR
+ [CustomPropertyDrawer(typeof(Vector2Square))]
+ public class Vector2SquarePropertyDrawer : PropertyDrawer
+ {
+ private Rect drawerPosition;
+
+ public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+ {
+ drawerPosition = position;
+
+ EditorGUI.BeginProperty(position, label, property);
+ {
+ // xy的参数
+ var xValue = (float) typeof(Vector2Square).GetField("x").GetValue(property.boxedValue);
+ var yValue = (float) typeof(Vector2Square).GetField("y").GetValue(property.boxedValue);
+
+ // 自身对象
+ var selfObject = (Vector2Square) property.boxedValue;
+
+ // 事件
+ Event currentEvent = Event.current;
+
+ {
+ // ----------- 绘制部分
+
+ // 绘制文本
+ position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
+ position.y += 25;
+
+ // 绘制方块
+ var size = drawerPosition.width / 3;
+ var squareRect = new Rect(new Vector2(20, position.y), size * Vector2.one);
+ EditorGUI.HelpBox(squareRect, "", MessageType.None);
+ // position.x += size;
+
+ // 绘制点
+ var pointSize = 2;
+ var pointRect = new Rect(
+ new Vector2(
+ Mathf.Lerp(squareRect.xMin, squareRect.xMax, xValue),
+ Mathf.Lerp(squareRect.yMax, squareRect.yMin, yValue)
+ ),
+ pointSize * Vector2.one
+ );
+ EditorGUI.DrawRect(pointRect, Color.white);
+
+ // 绘制数值拖动条
+ EditorGUI.BeginChangeCheck();
+ {
+ selfObject.x = EditorGUI.Slider(position, "", xValue, 0, 1);
+ position.y += 35;
+ selfObject.y = EditorGUI.Slider(position, "", yValue, 0, 1);
+ }
+ if (EditorGUI.EndChangeCheck())
+ {
+ property.boxedValue = selfObject;
+ property.serializedObject.ApplyModifiedProperties();
+ }
+
+ // ----------- 数值更改部分
+
+ // 鼠标点击
+ if ((currentEvent.type == EventType.MouseDrag || currentEvent.type == EventType.MouseDown)
+ && currentEvent.button == 0)
+ {
+ // 鼠标位置
+ var pos = currentEvent.mousePosition;
+
+ // 若在范围
+ if (
+ MountoolsMath.IsInRange(pos.x, squareRect.xMin - 5, squareRect.xMax + 5) &&
+ MountoolsMath.IsInRange(pos.y, squareRect.yMin - 5, squareRect.yMax + 5)
+ )
+ {
+ var newX =
+ Mathf.Lerp(0, 1, Mathf.InverseLerp(squareRect.xMin, squareRect.xMax, pos.x));
+
+ var newY =
+ Mathf.Lerp(0, 1, Mathf.InverseLerp(squareRect.yMax, squareRect.yMin, pos.y));
+
+ selfObject.x = newX;
+ selfObject.y = newY;
+
+ property.boxedValue = selfObject;
+ property.serializedObject.ApplyModifiedProperties();
+ }
+ }
+ }
+ }
+ EditorGUI.EndProperty();
+ }
+
+ public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+ {
+ var height = 0f;
+ height += 25; // 第一行
+ height += drawerPosition.width / 3; // 方块
+ height += 5;
+
+ return height;
+ }
+ }
+#endif
+}
diff --git a/Assets/Mountools/Tools/MountoolsEditor.cs.meta b/Assets/Mountools/Tools/MountoolsEditor.cs.meta
new file mode 100755
index 0000000..967933c
--- /dev/null
+++ b/Assets/Mountools/Tools/MountoolsEditor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 758b469ed37f76e42abc008db85ab298
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Tools/MountoolsLanguage.cs b/Assets/Mountools/Tools/MountoolsLanguage.cs
new file mode 100755
index 0000000..cabe183
--- /dev/null
+++ b/Assets/Mountools/Tools/MountoolsLanguage.cs
@@ -0,0 +1,15 @@
+namespace Mountools.Tools
+{
+ public static class MountoolsLanguage
+ {
+ public static string Lang(string chinese, string english)
+ {
+#if MT_L_CHINESE
+ return chinese;
+#endif
+#if MT_L_ENGLISH
+ return english;
+#endif
+ }
+ }
+} \ No newline at end of file
diff --git a/Assets/Mountools/Tools/MountoolsLanguage.cs.meta b/Assets/Mountools/Tools/MountoolsLanguage.cs.meta
new file mode 100755
index 0000000..de02711
--- /dev/null
+++ b/Assets/Mountools/Tools/MountoolsLanguage.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d86babedc80646fca88a520413c044af
+timeCreated: 1719412570 \ No newline at end of file
diff --git a/Assets/Mountools/Tools/MountoolsMath.cs b/Assets/Mountools/Tools/MountoolsMath.cs
new file mode 100755
index 0000000..3b982e5
--- /dev/null
+++ b/Assets/Mountools/Tools/MountoolsMath.cs
@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Linq.Expressions;
+using UnityEngine;
+
+#if UNITY_EDITOR
+using UnityEditorInternal;
+#endif
+
+namespace Mountools.Tools
+{
+ public static class MountoolsMath
+ {
+ public static bool IsInRange(int n, int min, int max, bool equals = true)
+ {
+ return equals ?
+ n <= max && n >= min :
+ n < max && n > min ;
+ }
+
+ public static bool IsInRange(float n, float min, float max, bool equals = true)
+ {
+ return equals ?
+ n <= max && n >= min :
+ n < max && n > min ;
+ }
+
+ public static int InRange(int n, int min, int max)
+ {
+ if (n < min) return min;
+ if (n > max) return max;
+ return n;
+ }
+
+ public static float InRange(float n, float min, float max)
+ {
+ if (n < min) return min;
+ if (n > max) return max;
+ return n;
+ }
+
+ public static float To(float a, float b, float t)
+ {
+ if (a > b) return InRange(a - t, b, a);
+ if (a < b) return InRange(a + t, a, b);
+ return a;
+ }
+
+ public static int To(int a, int b, int t)
+ {
+ if (a > b) return InRange(a - t, b, a);
+ if (a < b) return InRange(a + t, a, b);
+ return a;
+ }
+ }
+}
diff --git a/Assets/Mountools/Tools/MountoolsMath.cs.meta b/Assets/Mountools/Tools/MountoolsMath.cs.meta
new file mode 100755
index 0000000..d8c4fdc
--- /dev/null
+++ b/Assets/Mountools/Tools/MountoolsMath.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 59ccbe5b0e8b24c43bbe38561c115bca
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Tools/MountoolsShortcut.cs b/Assets/Mountools/Tools/MountoolsShortcut.cs
new file mode 100755
index 0000000..32beebb
--- /dev/null
+++ b/Assets/Mountools/Tools/MountoolsShortcut.cs
@@ -0,0 +1,56 @@
+using UnityEngine;
+
+namespace Mountools.Tools
+{
+ public class MountoolsShortcut
+ {
+ public static bool ctrl =>
+ Input.GetKey(KeyCode.LeftControl)
+ || Input.GetKey(KeyCode.LeftCommand)
+ || Input.GetKey(KeyCode.RightControl)
+ || Input.GetKey(KeyCode.RightCommand);
+
+ public static bool shift =>
+ Input.GetKey(KeyCode.LeftShift)
+ || Input.GetKey(KeyCode.RightShift);
+
+ public static bool alt =>
+ Input.GetKey(KeyCode.LeftAlt)
+ || Input.GetKey(KeyCode.RightAlt);
+
+ public static bool Ctrl(KeyCode keyCode, bool checkHold = false)
+ {
+ return ctrl && !shift && !alt && (checkHold ? Input.GetKey(keyCode) : Input.GetKeyDown(keyCode));
+ }
+
+ public static bool CtrlShift(KeyCode keyCode, bool checkHold = false)
+ {
+ return ctrl && shift && !alt && (checkHold ? Input.GetKey(keyCode) : Input.GetKeyDown(keyCode));
+ }
+
+ public static bool CtrlAlt(KeyCode keyCode, bool checkHold = false)
+ {
+ return ctrl && !shift && alt && (checkHold ? Input.GetKey(keyCode) : Input.GetKeyDown(keyCode));
+ }
+
+ public static bool CtrlShiftAlt(KeyCode keyCode, bool checkHold = false)
+ {
+ return ctrl && shift && alt && (checkHold ? Input.GetKey(keyCode) : Input.GetKeyDown(keyCode));
+ }
+
+ public static bool Shift(KeyCode keyCode, bool checkHold = false)
+ {
+ return !ctrl && shift && !alt && (checkHold ? Input.GetKey(keyCode) : Input.GetKeyDown(keyCode));
+ }
+
+ public static bool ShiftAlt(KeyCode keyCode, bool checkHold = false)
+ {
+ return !ctrl && shift && alt && (checkHold ? Input.GetKey(keyCode) : Input.GetKeyDown(keyCode));
+ }
+
+ public static bool Alt(KeyCode keyCode, bool checkHold = false)
+ {
+ return !ctrl && !shift && alt && (checkHold ? Input.GetKey(keyCode) : Input.GetKeyDown(keyCode));
+ }
+ }
+} \ No newline at end of file
diff --git a/Assets/Mountools/Tools/MountoolsShortcut.cs.meta b/Assets/Mountools/Tools/MountoolsShortcut.cs.meta
new file mode 100755
index 0000000..dab0986
--- /dev/null
+++ b/Assets/Mountools/Tools/MountoolsShortcut.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: cbce2c729f31492d812ae5af45e43b75
+timeCreated: 1719412590 \ No newline at end of file
diff --git a/Assets/Mountools/Tools/ToolFreeCamera.cs b/Assets/Mountools/Tools/ToolFreeCamera.cs
new file mode 100755
index 0000000..8f7fce8
--- /dev/null
+++ b/Assets/Mountools/Tools/ToolFreeCamera.cs
@@ -0,0 +1,167 @@
+#if UNITY_EDITOR
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Mountools.Tools
+{
+ public class ToolFreeCamera : MonoBehaviour
+ {
+ [HideInInspector] public string cameraRotationX = "Mouse Y";
+ [HideInInspector] public string cameraRotationY = "Mouse X";
+ [HideInInspector] public string cameraRotationZ = "Horizontal";
+ [HideInInspector] public string cameraForwardAxisName = "Vertical";
+ [HideInInspector] public string cameraFastMoveButton = "Fire3";
+ [HideInInspector] public string enableRotationZ = "Fire1";
+ [HideInInspector] public string cameraRotationZRecover = "Jump";
+
+ public float cameraSensitivity = 150f;
+ public float cameraMovingSpeed = 20f;
+ public float cameraFastMovingSpeed = 50f;
+ public bool canCameraRotationZ;
+
+ // 场景内相机状态
+ private readonly Dictionary<Camera, bool> _cameraStatus = new();
+
+ private float _currentSpeed;
+ private Vector3 _currentRotation;
+
+ // 相机状态
+ public bool active => FindObjectOfType<ToolFreeCamera>() != null;
+
+ public static void FreeCameraEnter()
+ {
+ if (! Application.isPlaying) return;
+ if (FindObjectOfType<ToolFreeCamera>() != null) return;
+
+ GameObject gameObject = new GameObject("Free Camera");
+ Camera selfCamera = gameObject.AddComponent<Camera>();
+ ToolFreeCamera freeCamera = gameObject.AddComponent<ToolFreeCamera>();
+ Camera[] cameras = FindObjectsOfType<Camera>(true);
+
+ freeCamera._cameraStatus.Clear();
+ foreach (var cam in cameras)
+ {
+ if (cam == selfCamera) continue;
+
+ freeCamera._cameraStatus.Add(cam, cam.gameObject.activeSelf);
+
+ if (cam.gameObject.activeSelf)
+ {
+ var camTransform = cam.transform;
+ var selfCameraTransform = selfCamera.transform;
+
+ selfCameraTransform.position = camTransform.position;
+ freeCamera._currentRotation = camTransform.rotation.eulerAngles;
+
+ selfCamera.fieldOfView = cam.fieldOfView;
+ selfCamera.orthographic = cam.orthographic;
+ selfCamera.depth = cam.depth;
+ selfCamera.aspect = cam.aspect;
+ selfCamera.clearFlags = cam.clearFlags;
+ selfCamera.backgroundColor = cam.backgroundColor;
+
+ cam.gameObject.SetActive(false);
+ continue;
+ }
+
+ cam.gameObject.SetActive(false);
+ }
+
+ Cursor.lockState = CursorLockMode.Locked;
+ Cursor.visible = false;
+ }
+
+ public static void FreeCameraExit()
+ {
+ if (! Application.isPlaying) return;
+ var freeCamera = FindObjectOfType<ToolFreeCamera>();
+ if (freeCamera == null) return;
+
+ freeCamera.gameObject.SetActive(false);
+
+ foreach (var cameras in freeCamera._cameraStatus)
+ {
+ cameras.Key.gameObject.SetActive(cameras.Value);
+ }
+
+ Destroy(freeCamera.gameObject);
+ }
+
+ private void Update()
+ {
+ if (Input.GetKeyDown(KeyCode.Mouse0))
+ {
+ Cursor.lockState = CursorLockMode.Locked;
+ Cursor.visible = false;
+ }
+
+ if (Input.GetKeyDown(KeyCode.Mouse1) || Input.GetKeyDown(KeyCode.Escape))
+ {
+ if (Cursor.lockState == CursorLockMode.None)
+ {
+ FreeCameraExit();
+ }
+ else
+ {
+ Cursor.lockState = CursorLockMode.None;
+ Cursor.visible = true;
+ }
+ }
+
+ UpdateCameraRotation();
+ }
+
+ public void UpdateCameraRotation()
+ {
+ if (Cursor.lockState == CursorLockMode.None) return;
+
+ var camRotationZ = Input.GetAxis(cameraRotationZ);
+
+ var canRotationZ = canCameraRotationZ && Input.GetButton(enableRotationZ);
+
+ // Rotation Control
+ var rotationVector = new Vector3
+ {
+ x = Input.GetAxis(cameraRotationX),
+ y = Input.GetAxis(cameraRotationY),
+ z = canRotationZ ? camRotationZ : 0
+ };
+
+ // Change Rotation
+ var t = transform;
+ _currentRotation.x -= cameraSensitivity * Time.fixedDeltaTime * rotationVector.x;
+ _currentRotation.y += cameraSensitivity * Time.fixedDeltaTime * rotationVector.y;
+ _currentRotation.z -= cameraSensitivity * Time.fixedDeltaTime * rotationVector.z;
+ _currentRotation.x = ClampRotation(_currentRotation.x, -90, 90);
+ _currentRotation.z = ClampRotation(_currentRotation.z, -90, 90);
+
+ if (Input.GetButton(cameraRotationZRecover))
+ _currentRotation.z = Mathf.Lerp(_currentRotation.z, 0, 0.2f);
+
+ t.rotation = Quaternion.Euler(_currentRotation);
+
+ // Movement Control
+ var movementAxisForward = Input.GetAxis(cameraForwardAxisName);
+ var movementAxisRight = canRotationZ ? 0 : camRotationZ;
+
+ var speed = Input.GetButton(cameraFastMoveButton) ? cameraFastMovingSpeed : cameraMovingSpeed;
+ _currentSpeed = Mathf.Lerp(_currentSpeed, speed, 0.3f);
+
+ t.position += t.forward * (Time.deltaTime * _currentSpeed * movementAxisForward) +
+ t.right * (Time.deltaTime * _currentSpeed * movementAxisRight);
+ }
+
+ private static float ClampRotation(float n, float min, float max)
+ {
+ if (n < -360)
+ n += 360;
+
+ if (n > 360)
+ n-= 360;
+
+ return Mathf.Clamp(n, min, max);
+ }
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/Assets/Mountools/Tools/ToolFreeCamera.cs.meta b/Assets/Mountools/Tools/ToolFreeCamera.cs.meta
new file mode 100755
index 0000000..36661c9
--- /dev/null
+++ b/Assets/Mountools/Tools/ToolFreeCamera.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e92933fc3e5cf944998e2203f13c3dd5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Tools/ToolInspectorBookmark.cs b/Assets/Mountools/Tools/ToolInspectorBookmark.cs
new file mode 100755
index 0000000..50ee7fb
--- /dev/null
+++ b/Assets/Mountools/Tools/ToolInspectorBookmark.cs
@@ -0,0 +1,22 @@
+using UnityEngine;
+
+namespace Mountools.Tools
+{
+#if MT_L_CHINESE
+ [AddComponentMenu("Mountools/工具/书签")]
+#endif
+#if MT_L_ENGLISH
+ [AddComponentMenu("Mountools/Tools/Bookmark")]
+#endif
+ [Icon("Assets/Mountools/_RESOURCES/ICONS/TOOLS/BOOKMARK.png")]
+ public class ToolInspectorBookmark : MonoBehaviour
+ {
+ [HideInInspector]
+#if MT_L_CHINESE
+ public string bookmarkContent = "写点啥 :)";
+#endif
+#if MT_L_ENGLISH
+ public string bookmarkContent = "Write something :)";
+#endif
+ }
+}
diff --git a/Assets/Mountools/Tools/ToolInspectorBookmark.cs.meta b/Assets/Mountools/Tools/ToolInspectorBookmark.cs.meta
new file mode 100755
index 0000000..96e6fe2
--- /dev/null
+++ b/Assets/Mountools/Tools/ToolInspectorBookmark.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b7a24f53e89a97f4d931bde1d8810ae3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/Tools/ToolObjectMethodInvoker.cs b/Assets/Mountools/Tools/ToolObjectMethodInvoker.cs
new file mode 100755
index 0000000..148f121
--- /dev/null
+++ b/Assets/Mountools/Tools/ToolObjectMethodInvoker.cs
@@ -0,0 +1,500 @@
+#if UNITY_EDITOR
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using UnityEditor;
+using UnityEngine;
+
+namespace Mountools.Tools
+{
+ public class ToolObjectMethodInvoker : EditorWindow
+ {
+ private string _search = "";
+
+ private Vector2 _scrollPositionRight = Vector2.zero;
+
+ private Dictionary<ParameterInfo, object> _parameterCache;
+ private Dictionary<MethodInfo, bool> _foldoutEnableMethod;
+
+ private bool _showGetter;
+ private bool _showSetter;
+ private bool _showPrivate;
+ private bool _showInherit;
+
+ private Component _debugComponent;
+
+ private void OnGUI()
+ {
+ EditorGUILayout.BeginVertical();
+ Draw();
+ EditorGUILayout.EndVertical();
+ }
+
+ private void Draw()
+ {
+ if (_parameterCache == null)
+ _parameterCache = new();
+
+ if (_foldoutEnableMethod == null)
+ _foldoutEnableMethod = new();
+
+ if (Selection.gameObjects == null || Selection.gameObjects.Length < 1)
+ {
+ return;
+ }
+
+ GameObject debugObject = Selection.gameObjects[0];
+
+ var components = debugObject.GetComponents<Component>();
+
+ EditorGUILayout.BeginVertical();
+ {
+ EditorGUILayout.BeginVertical(GUILayout.Height(20));
+ {
+ int select = 0;
+ var i = 0;
+ Component[] selections = components;
+ List<string> names = new List<string>();
+ foreach (var component in components)
+ {
+ names.Add(component.GetType().Name);
+
+ if (component == _debugComponent)
+ select = i;
+ i++;
+ }
+ _debugComponent = selections[GUILayout.Toolbar(select, names.ToArray(), "toolbarbuttonRight")];
+
+
+ }
+ EditorGUILayout.EndVertical();
+
+ EditorGUILayout.BeginHorizontal();
+ {
+ _showSetter = GUILayout.Toggle(_showSetter, "Setter", "TE toolbarbutton", GUILayout.Width(45));
+ _showGetter = GUILayout.Toggle(_showGetter, "Getter", "TE toolbarbutton", GUILayout.Width(45));
+ _showInherit = GUILayout.Toggle(_showInherit, "Inherit", "TE toolbarbutton", GUILayout.Width(60));
+ _showPrivate = GUILayout.Toggle(_showPrivate, "Private", "TE toolbarbutton", GUILayout.Width(60));
+ _search = EditorGUILayout.TextField("", _search, "SearchTextField");
+ }
+ EditorGUILayout.EndHorizontal();
+
+ _scrollPositionRight = EditorGUILayout.BeginScrollView(_scrollPositionRight, "OL box NoExpand");
+ {
+ DrawComponentMethodInvokerView(_debugComponent);
+ }
+ EditorGUILayout.EndScrollView();
+ }
+ EditorGUILayout.EndVertical();
+ }
+
+ private void DrawComponentMethodInvokerView(Component component)
+ {
+ if (component == null)
+ {
+ return;
+ }
+
+ var style = new GUIStyle { fontSize = 12, fontStyle = FontStyle.Bold, normal = { textColor = GUI.contentColor } };
+
+#if MT_L_CHINESE
+ var strMethod = "有参数方法列表";
+#endif
+#if MT_L_ENGLISH
+ var strMethod = "Method";
+#endif
+ EditorGUILayout.LabelField(" " + strMethod, style);
+
+ EditorGUILayout.BeginVertical();
+ {
+ List<MethodInfo> noParameterMethodInfos = new List<MethodInfo>();
+ var methods = component.GetType().GetMethods();
+ var drawCount = 0;
+ foreach (var method in methods)
+ {
+ if (method.Name.Contains("get_") && !_showGetter) continue;
+ if (method.Name.Contains("set_") && !_showSetter) continue;
+ if (method.IsPrivate && !_showPrivate) continue;
+ if (method.DeclaringType != method.ReflectedType && !_showInherit) continue;
+ if (_search.Trim() != "" && !method.Name.ToLower().Contains(_search.Trim().ToLower())) continue;
+
+ if (!method.ContainsGenericParameters && !method.IsGenericMethod && !method.IsAbstract &&
+ !method.IsConstructor && !method.IsAssembly)
+ {
+ ParameterInfo[] paremeters = method.GetParameters();
+ if (paremeters.Length > 0)
+ {
+ DrawMethodInvoker(component, method, paremeters);
+ drawCount ++;
+ }
+ else
+ {
+ noParameterMethodInfos.Add(method);
+ }
+ }
+ }
+#if MT_L_CHINESE
+ var strNone = "无";
+ var strNoParameter = "无参数方法列表";
+#endif
+#if MT_L_ENGLISH
+ var strNone = "None";
+ var strNoParameter = "No Parameter";
+#endif
+ if (drawCount == 0)
+ {
+ EditorGUILayout.LabelField(strNone);
+ }
+
+ EditorGUILayout.Space();
+
+ EditorGUILayout.LabelField(" " + strNoParameter, style);
+
+ if (noParameterMethodInfos.Count < 1)
+ {
+ EditorGUILayout.LabelField(strNone);
+ }
+ else
+ {
+ foreach (var method in noParameterMethodInfos)
+ {
+ if (EditorGUILayout.LinkButton(method.Name + "();"))
+ {
+ PrintReturnValue(method, method.Invoke(component, null));
+ }
+ }
+ }
+ }
+ EditorGUILayout.EndVertical();
+ }
+
+ private void DrawMethodInvoker(Component obj, MethodInfo methodInfo, ParameterInfo[] parameters)
+ {
+ string parameterNames = "";
+ foreach (var parameter in parameters)
+ {
+ parameterNames += parameter.ParameterType.Name + " " + parameter.Name + ", ";
+ }
+
+ string n = (methodInfo.Name + " (" + parameterNames + ");")
+ .Replace("Single", "float")
+ .Replace("Int32", "int")
+ .Replace(", );", ");");
+
+ SetFoldoutMethod(methodInfo,
+ EditorGUILayout.BeginFoldoutHeaderGroup(GetFoldoutMethod(methodInfo), n, "FoldoutHeader"));
+ EditorGUILayout.EndFoldoutHeaderGroup();
+
+ EditorGUILayout.BeginHorizontal();
+ {
+ if (GetFoldoutMethod(methodInfo))
+ {
+ EditorGUILayout.BeginVertical("OL box NoExpand");
+ {
+ bool canInvoke = true;
+
+ foreach (var parameter in parameters)
+ {
+ if (!DrawParameterInputField(parameter))
+ canInvoke = false;
+ }
+
+#if MT_L_CHINESE
+ var strInvoke = "调用方法";
+ var strInvokeUnsafe = "调用方法 (非安全)";
+#endif
+#if MT_L_ENGLISH
+ var strInvoke = "Invoke";
+ var strInvokeUnsafe = "Invoke (Unsafe)";
+#endif
+
+ bool click = canInvoke
+ ? GUILayout.Button(strInvoke)
+ : GUILayout.Button(strInvokeUnsafe);
+
+ if (click)
+ {
+ List<object> param = new List<object>();
+ foreach (var parameter in parameters)
+ {
+ param.Add(GetParameter(parameter));
+ }
+
+ PrintReturnValue(methodInfo, methodInfo.Invoke(obj, param.ToArray()));
+ }
+ }
+ EditorGUILayout.EndVertical();
+ }
+ }
+ EditorGUILayout.EndHorizontal();
+ }
+
+ private bool DrawParameterInputField(ParameterInfo parameterInfo)
+ {
+ var type = parameterInfo.ParameterType;
+ var parameterNameRaw = parameterInfo.Name;
+ var parameterName = "";
+
+ // Name Formatter
+ var i = 0;
+ foreach (var nameChar in parameterNameRaw.Trim())
+ {
+ if (Char.IsUpper(nameChar))
+ {
+ parameterName += " " + nameChar;
+ continue;
+ }
+
+ parameterName += nameChar;
+ }
+
+ if (parameterName.Length > 1)
+ parameterName = parameterName.Substring(0, 1).ToUpper() + parameterName.Substring(1);
+ else
+ parameterName = parameterName.ToUpper();
+
+ if (type == typeof(int))
+ {
+ string t = parameterInfo.Name.ToLower();
+ if (t.Contains("mask") || t.Contains("layer"))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.LayerField(parameterName, (int) GetParameter(parameterInfo, 0)));
+ return true;
+ }
+
+ SetParameter(parameterInfo,
+ EditorGUILayout.IntField(parameterName, (int) GetParameter(parameterInfo, 0)));
+ return true;
+ }
+
+ if (type == typeof(float))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.FloatField(parameterName, (float) GetParameter(parameterInfo, 0f)));
+ return true;
+ }
+
+ if (type == typeof(string))
+ {
+ string t = parameterName.ToLower();
+ if (t.Contains("password") || t.Contains("pswd") || t.Contains("passwd"))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.PasswordField(parameterName, (string) GetParameter(parameterInfo, 0)));
+ return true;
+ }
+
+ SetParameter(parameterInfo,
+ EditorGUILayout.TextField(parameterName, (string) GetParameter(parameterInfo, "")));
+ return true;
+ }
+
+ if (type == typeof(bool))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.Toggle(parameterName, (bool) GetParameter(parameterInfo, false)));
+ return true;
+ }
+
+ if (type == typeof(Quaternion))
+ {
+ Quaternion q = (Quaternion) GetParameter(parameterInfo, Quaternion.Euler(0, 0, 0));
+ Vector4 qv4 = new Vector4(q.x, q.y, q.z, q.w);
+ Vector4 v = EditorGUILayout.Vector4Field(parameterName, qv4);
+ SetParameter(parameterInfo,
+ new Quaternion(v.x, v.y, v.z, v.w));
+ return true;
+ }
+
+ if (type == typeof(Vector4))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.Vector4Field(parameterName, (Vector4) GetParameter(parameterInfo, Vector4.zero)));
+ return true;
+ }
+
+ if (type == typeof(Vector3))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.Vector3Field(parameterName, (Vector3) GetParameter(parameterInfo, Vector3.zero)));
+ return true;
+ }
+
+ if (type == typeof(Vector2))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.Vector2Field(parameterName, (Vector2) GetParameter(parameterInfo, Vector2.zero)));
+ return true;
+ }
+
+ if (type == typeof(Color))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.ColorField(parameterName, (Color) GetParameter(parameterInfo, Color.black)));
+ return true;
+ }
+
+ if (type == typeof(Gradient))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.GradientField(parameterName, (Gradient) GetParameter(parameterInfo)));
+ return true;
+ }
+
+ if (type == typeof(Bounds))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.BoundsField(parameterName, (Bounds) GetParameter(parameterInfo)));
+ return true;
+ }
+
+ if (type == typeof(AnimationCurve))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.CurveField(parameterName, (AnimationCurve) GetParameter(parameterInfo)));
+ return true;
+ }
+
+ if (type == typeof(double))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.DoubleField(parameterName, (double) GetParameter(parameterInfo)));
+ return true;
+ }
+
+ if (type == typeof(long))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.LongField(parameterName, (long) GetParameter(parameterInfo)));
+ return true;
+ }
+
+ if (type == typeof(Rect))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.RectField(parameterName, (Rect) GetParameter(parameterInfo)));
+ return true;
+ }
+
+ if (type == typeof(Transform))
+ {
+ SetParameter(parameterInfo,
+ EditorGUILayout.ObjectField(parameterName, (Transform) GetParameter(parameterInfo), typeof(Transform), true));
+ return true;
+ }
+
+ GUILayout.Label(parameterName);
+ return false;
+ }
+
+ private void PrintReturnValue(MethodInfo methodInfo, object obj)
+ {
+ if (obj == null) return;
+
+ Type type = obj.GetType();
+
+ if (type == typeof(int) ||
+ type == typeof(float) ||
+ type == typeof(double) ||
+ type == typeof(string) ||
+ type == typeof(char) ||
+ type == typeof(long))
+ {
+ PrintReturnValueFormat(methodInfo, obj.ToString());
+ return;
+ }
+
+ if (type == typeof(Color))
+ {
+ Color v = (Color)obj;
+ PrintReturnValueFormat(methodInfo, $"argb:{v.a},{v.r},{v.g},{v.b}");
+ return;
+ }
+
+ if (type == typeof(Vector2))
+ {
+ Vector2 v = (Vector2)obj;
+ PrintReturnValueFormat(methodInfo, $"xy:{v.x},{v.y}");
+ return;
+ }
+
+ if (type == typeof(Vector3))
+ {
+ Vector3 v = (Vector3)obj;
+ PrintReturnValueFormat(methodInfo, $"xyz:{v.x},{v.y},{v.z}");
+ return;
+ }
+
+ if (type == typeof(Vector4))
+ {
+ Vector4 v = (Vector4)obj;
+ PrintReturnValueFormat(methodInfo, $"xyzw:{v.x},{v.y},{v.z},{v.w}");
+ return;
+ }
+
+ if (type == typeof(Quaternion))
+ {
+ Quaternion v = (Quaternion)obj;
+ Vector3 e = v.eulerAngles;
+ PrintReturnValueFormat(methodInfo, $"xyzw:{v.x},{v.y},{v.z},{v.w} euler:{e.x},{e.y},{e.z}");
+ return;
+ }
+ }
+
+ private void PrintReturnValueFormat(MethodInfo methodInfo, string value)
+ {
+ Debug.Log(methodInfo.Name + " Returned : ( " + methodInfo.ReturnType.Name + " ) " + value, _debugComponent);
+ }
+
+ private object GetParameter(ParameterInfo parameterInfo, object defaultValue = null)
+ {
+ if (_parameterCache.ContainsKey(parameterInfo))
+ {
+ if (_parameterCache[parameterInfo] == null && defaultValue != null)
+ {
+ SetParameter(parameterInfo, defaultValue);
+ }
+ return _parameterCache[parameterInfo];
+ }
+
+ _parameterCache.Add(parameterInfo, defaultValue);
+ return defaultValue;
+ }
+
+ private void SetParameter(ParameterInfo parameterInfo, object value)
+ {
+ if (_parameterCache.ContainsKey(parameterInfo))
+ {
+ _parameterCache[parameterInfo] = value;
+ return;
+ }
+
+ _parameterCache.Add(parameterInfo, value);
+ }
+
+ private bool GetFoldoutMethod(MethodInfo method)
+ {
+ if (_foldoutEnableMethod.ContainsKey(method))
+ {
+ return _foldoutEnableMethod[method];
+ }
+
+ _foldoutEnableMethod.Add(method, false);
+ return false;
+ }
+
+ private void SetFoldoutMethod(MethodInfo method, bool enable)
+ {
+ if (_foldoutEnableMethod.ContainsKey(method))
+ {
+ _foldoutEnableMethod[method] = enable;
+ return;
+ }
+
+ _foldoutEnableMethod.Add(method, enable);
+ }
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/Assets/Mountools/Tools/ToolObjectMethodInvoker.cs.meta b/Assets/Mountools/Tools/ToolObjectMethodInvoker.cs.meta
new file mode 100755
index 0000000..98fe05f
--- /dev/null
+++ b/Assets/Mountools/Tools/ToolObjectMethodInvoker.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 79ff1afa25b1fb94e90305c389a7b9d2
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES.meta b/Assets/Mountools/_RESOURCES.meta
new file mode 100755
index 0000000..ace2d94
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 9bde8a652df645958cac0f82740cfb26
+timeCreated: 1719412930 \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/ICONS.meta b/Assets/Mountools/_RESOURCES/ICONS.meta
new file mode 100755
index 0000000..799ee90
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: b8c5aeba5adc418b9018541086a57e58
+timeCreated: 1719412941 \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE.meta b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE.meta
new file mode 100755
index 0000000..d3873a9
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 7c222507c25345498b9039d9356ddb3b
+timeCreated: 1719412954 \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_ICON.png b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_ICON.png
new file mode 100755
index 0000000..5989481
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_ICON.png
Binary files differ
diff --git a/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_ICON.png.meta b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_ICON.png.meta
new file mode 100755
index 0000000..989e9d2
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_ICON.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 5d77cc67b6c59814fbb352146fc1ce25
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_MANAGER.png b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_MANAGER.png
new file mode 100755
index 0000000..5989481
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_MANAGER.png
Binary files differ
diff --git a/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_MANAGER.png.meta b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_MANAGER.png.meta
new file mode 100755
index 0000000..139453b
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_MANAGER.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: ba9dd4899558add448edd67546550fee
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_SETTING.png b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_SETTING.png
new file mode 100755
index 0000000..90d02e3
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_SETTING.png
Binary files differ
diff --git a/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_SETTING.png.meta b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_SETTING.png.meta
new file mode 100755
index 0000000..88b9cb4
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/ARCHIVE/ARCHIVE_SETTING.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 4211abbd5eb31a444ae9bee43f45fdc3
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/ICONS/CONTROLS.meta b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS.meta
new file mode 100755
index 0000000..082e873
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2eef7872ae27dc24bb5543425b11c224
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER.png b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER.png
new file mode 100755
index 0000000..90f275d
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER.png
Binary files differ
diff --git a/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER.png.meta b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER.png.meta
new file mode 100755
index 0000000..e09bde1
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 9ec82271e667b554f86db850c08ea5ab
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER_COLLISION.png b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER_COLLISION.png
new file mode 100755
index 0000000..9b0bb1b
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER_COLLISION.png
Binary files differ
diff --git a/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER_COLLISION.png.meta b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER_COLLISION.png.meta
new file mode 100755
index 0000000..d810a24
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/KINEMATIC_PLAYER_COLLISION.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 4d52170e01847b74fa4dca0976a1288c
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/PLAYER_EYE.png b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/PLAYER_EYE.png
new file mode 100755
index 0000000..9bac0e6
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/PLAYER_EYE.png
Binary files differ
diff --git a/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/PLAYER_EYE.png.meta b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/PLAYER_EYE.png.meta
new file mode 100755
index 0000000..ddc3c49
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/CONTROLS/PLAYER_EYE.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 89a9a4117fc978d4895f782623696f33
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/ICONS/MOUNTOOLS.png b/Assets/Mountools/_RESOURCES/ICONS/MOUNTOOLS.png
new file mode 100755
index 0000000..78bae45
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/MOUNTOOLS.png
Binary files differ
diff --git a/Assets/Mountools/_RESOURCES/ICONS/MOUNTOOLS.png.meta b/Assets/Mountools/_RESOURCES/ICONS/MOUNTOOLS.png.meta
new file mode 100755
index 0000000..5a1cc80
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/MOUNTOOLS.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 459161a30ea5edd40be7826bc4d4471e
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 0
+ wrapV: 0
+ wrapW: 0
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/ICONS/TOOLS.meta b/Assets/Mountools/_RESOURCES/ICONS/TOOLS.meta
new file mode 100755
index 0000000..0be4bb6
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/TOOLS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5388febc8f0e7ab41b14f2780bc9cab1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/ICONS/TOOLS/BOOKMARK.png b/Assets/Mountools/_RESOURCES/ICONS/TOOLS/BOOKMARK.png
new file mode 100755
index 0000000..99e8fbe
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/TOOLS/BOOKMARK.png
Binary files differ
diff --git a/Assets/Mountools/_RESOURCES/ICONS/TOOLS/BOOKMARK.png.meta b/Assets/Mountools/_RESOURCES/ICONS/TOOLS/BOOKMARK.png.meta
new file mode 100755
index 0000000..b373307
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/ICONS/TOOLS/BOOKMARK.png.meta
@@ -0,0 +1,114 @@
+fileFormatVersion: 2
+guid: 7dc93e6d9419318408fb68306fe1a5fb
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 0
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 2
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 0
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID:
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE.meta b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE.meta
new file mode 100755
index 0000000..ba58f1f
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f8099240e1cd13f4cb2c154e1a1784d3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorScriptTemplate.txt b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorScriptTemplate.txt
new file mode 100755
index 0000000..5027fb1
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorScriptTemplate.txt
@@ -0,0 +1,43 @@
+#if UNITY_EDITOR
+using UnityEditor;
+
+namespace [NameSpace]
+{
+ [CustomEditor(typeof([Name]))]
+ public class [Name]Editor : UnityEditor.Editor
+ {
+ /*
+ * Editor page created by Mountools
+ * Author : [Author]
+ * Date : [Date]
+ */
+
+ public [Name] [NameVariable];
+
+ private void OnEnable()
+ {
+ [NameVariable] = ([Name]) target;
+ }
+
+ private void Draw[Name]Editor()
+ {
+ // TODO :: Edit the InspectorGUI here :)
+ }
+
+ public override void OnInspectorGUI()
+ {
+ Undo.RecordObject([NameVariable], "Edit [Name]");
+ EditorGUI.BeginChangeCheck();
+
+ DrawDefaultInspector();
+ Draw[Name]Editor();
+
+ if (EditorGUI.EndChangeCheck())
+ {
+ EditorUtility.SetDirty([NameVariable]);
+ Undo.FlushUndoRecordObjects();
+ }
+ }
+ }
+}
+#endif \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorScriptTemplate.txt.meta b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorScriptTemplate.txt.meta
new file mode 100755
index 0000000..5d4587a
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorScriptTemplate.txt.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 861bd5fa43b04c90a6545a73a416d1c8
+timeCreated: 1708590379 \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorWindowTemplate.txt b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorWindowTemplate.txt
new file mode 100755
index 0000000..519356a
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorWindowTemplate.txt
@@ -0,0 +1,61 @@
+#if UNITY_EDITOR
+using UnityEditor;
+using UnityEngine;
+
+namespace [NameSpace]
+{
+ public class [Name] : EditorWindow
+ {
+ /*
+ * Window created by Mountools
+ * Author : [Author]
+ * Date : [Date]
+ */
+
+ // TODO :: Window Setting
+ private static readonly string WindowName = "[Name]";
+ private static readonly Vector2 WindowMinSize = new(800, 600);
+ private static readonly Vector2 WindowMaxSize = new(800, 600);
+
+ private [Name]Variables _var;
+ private class [Name]Variables : ScriptableObject
+ {
+ // TODO :: Window Variables
+ public string label = "Hello [Name]";
+ }
+
+ private void OnDrawWindow([Name]Variables variable)
+ {
+ // TODO :: Window Contents
+ variable.label = EditorGUILayout.TextField("Label", variable.label);
+ }
+
+ // [MenuItem("Window/[Name]")]
+ [MenuItem("Custom/Window/[Name]")]
+ public static void OpenWindow()
+ {
+ var window = GetWindow<[Name]>(WindowName);
+
+ window._var = CreateInstance<[Name]Variables>();
+ window.minSize = WindowMinSize;
+ window.maxSize = WindowMaxSize;
+
+ window.Show();
+ }
+
+ private void OnGUI()
+ {
+ Undo.RecordObject(_var, "[Name] Variables");
+ EditorGUI.BeginChangeCheck();
+
+ OnDrawWindow(_var);
+
+ if (EditorGUI.EndChangeCheck())
+ {
+ Undo.FlushUndoRecordObjects();
+ }
+ }
+ }
+}
+
+#endif \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorWindowTemplate.txt.meta b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorWindowTemplate.txt.meta
new file mode 100755
index 0000000..db558e9
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/EditorWindowTemplate.txt.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 013bcd70a746447e97e9e4983a39cc40
+timeCreated: 1718998928 \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/SceneScriptTemplate.txt b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/SceneScriptTemplate.txt
new file mode 100755
index 0000000..2325f2a
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/SceneScriptTemplate.txt
@@ -0,0 +1,22 @@
+using Mountools.Archive;
+using UnityEngine;
+
+public class [Name] : MonoBehaviour
+{
+ private void Start()
+ {
+ // TODO :: Game Start
+ }
+
+ [ExecuteOnLoad]
+ public void OnLoadGame()
+ {
+ // TODO :: Executed when the game loads
+ }
+
+ [ExecuteOnWrite]
+ public void OnWriteGame()
+ {
+ // TODO :: Executed on game write
+ }
+} \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/SceneScriptTemplate.txt.meta b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/SceneScriptTemplate.txt.meta
new file mode 100755
index 0000000..98b818e
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/SceneScriptTemplate.txt.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: e8764bed2cb3408395ecf757900ea779
+timeCreated: 1708589726 \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/ScriptableObjectTemplate.txt b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/ScriptableObjectTemplate.txt
new file mode 100755
index 0000000..d3d7dd9
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/ScriptableObjectTemplate.txt
@@ -0,0 +1,19 @@
+using UnityEngine;
+
+namespace [NameSpace]
+{
+ [CreateAssetMenu(fileName = "[Name] Asset", menuName = "Custom/[Name] Asset")]
+ public class [Name] : ScriptableObject
+ {
+ /*
+ * Scriptable Object created by Mountools
+ * Author : [Author]
+ * Date : [Date]
+ * */
+
+ private void Reset()
+ {
+ // TODO :: Scriptable Object Reset
+ }
+ }
+} \ No newline at end of file
diff --git a/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/ScriptableObjectTemplate.txt.meta b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/ScriptableObjectTemplate.txt.meta
new file mode 100755
index 0000000..25a94ad
--- /dev/null
+++ b/Assets/Mountools/_RESOURCES/SCRIPT_TEMPLATE/ScriptableObjectTemplate.txt.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 0239e5f4ccd24ee4bba97f37c77933bf
+timeCreated: 1708677212 \ No newline at end of file