Ein Bisschen mehr Geilheit, achso und uMotion installiert
This commit is contained in:
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 747652bb89215c641be828370972f946
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,125 @@
|
||||
#if UNITY_EDITOR
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
namespace UMotionEditor
|
||||
{
|
||||
public class AssetResourcesFile : ScriptableObject
|
||||
{
|
||||
//********************************************************************************
|
||||
// Public Properties
|
||||
//********************************************************************************
|
||||
|
||||
//********************************************************************************
|
||||
// Private Properties
|
||||
//********************************************************************************
|
||||
|
||||
#pragma warning disable 0649 // Suppress "Field 'field' is never assigned to, and will always have its default value 'value'"
|
||||
[Serializable]
|
||||
private struct ResourceDefinition
|
||||
{
|
||||
public string Name;
|
||||
public UnityEngine.Object Reference;
|
||||
// Added because in Unity 2022.2 (alpha), the FileID of dlls has changed. In order to support all Unity versions, we need two different versions of the reference: One compatible pre 2022.2 and one post 2022.2.
|
||||
public UnityEngine.Object AlternativeReference;
|
||||
}
|
||||
#pragma warning restore 0649
|
||||
|
||||
//----------------------
|
||||
// Inspector
|
||||
//----------------------
|
||||
[SerializeField]private List<ResourceDefinition> resourcesList = new List<ResourceDefinition>();
|
||||
[SerializeField]private List<ResourceDefinition> optionalResourcesList = new List<ResourceDefinition>();
|
||||
private Dictionary<string, UnityEngine.Object> resourcesDictionary = new Dictionary<string, UnityEngine.Object>();
|
||||
|
||||
//----------------------
|
||||
// Internal
|
||||
//----------------------
|
||||
|
||||
//********************************************************************************
|
||||
// Public Methods
|
||||
//********************************************************************************
|
||||
|
||||
public static AssetResourcesFile FindAssetResourcesFile()
|
||||
{
|
||||
string[] resourceFilesGUID = AssetDatabase.FindAssets("UMotionResources t:AssetResourcesFile");
|
||||
|
||||
if (resourceFilesGUID.Length > 1)
|
||||
{
|
||||
throw new UnityException("More than one resource file was found. Please remove all UMotion files and install UMotion again.");
|
||||
}
|
||||
else if (resourceFilesGUID.Length == 0)
|
||||
{
|
||||
throw new UnityException("Resource file not found. Please install UMotion again.");
|
||||
}
|
||||
else
|
||||
{
|
||||
AssetResourcesFile resourceFile = AssetDatabase.LoadAssetAtPath<AssetResourcesFile>(AssetDatabase.GUIDToAssetPath(resourceFilesGUID[0]));
|
||||
|
||||
resourceFile.InitializeDictionary();
|
||||
|
||||
return resourceFile;
|
||||
}
|
||||
}
|
||||
|
||||
public string GetEditorDataPath()
|
||||
{
|
||||
string resourcesPath = AssetDatabase.GetAssetPath(this);
|
||||
|
||||
string dataPath = Path.GetDirectoryName(resourcesPath);
|
||||
dataPath = Path.Combine(Path.GetDirectoryName(dataPath), "Data");
|
||||
|
||||
return dataPath;
|
||||
}
|
||||
|
||||
public T GetResource<T>(string name, bool required = true) where T : UnityEngine.Object
|
||||
{
|
||||
T loadedObject = null;
|
||||
UnityEngine.Object obj;
|
||||
if (resourcesDictionary.TryGetValue(name, out obj))
|
||||
{
|
||||
loadedObject = obj as T;
|
||||
}
|
||||
|
||||
if (required && (loadedObject == null))
|
||||
{
|
||||
throw new Exception(string.Format("Resource \"{0}\" can not be loaded.", name));
|
||||
}
|
||||
else
|
||||
{
|
||||
return loadedObject;
|
||||
}
|
||||
}
|
||||
|
||||
//********************************************************************************
|
||||
// Private Methods
|
||||
//********************************************************************************
|
||||
|
||||
private void InitializeDictionary()
|
||||
{
|
||||
resourcesDictionary.Clear();
|
||||
foreach (ResourceDefinition resourceDef in resourcesList)
|
||||
{
|
||||
UnityEngine.Object reference = (resourceDef.Reference == null) ? resourceDef.AlternativeReference : resourceDef.Reference;
|
||||
|
||||
if (reference == null)
|
||||
{
|
||||
throw new UnityException(string.Format("Required resource \"{0}\" not found. Please reinstall UMotion.", resourceDef.Name));
|
||||
}
|
||||
else
|
||||
{
|
||||
resourcesDictionary.Add(resourceDef.Name, reference);
|
||||
}
|
||||
}
|
||||
foreach (ResourceDefinition resourceDef in optionalResourcesList)
|
||||
{
|
||||
UnityEngine.Object reference = (resourceDef.Reference == null) ? resourceDef.AlternativeReference : resourceDef.Reference;
|
||||
resourcesDictionary.Add(resourceDef.Name, reference);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c4518f215ae949c4e9341e0353fc63b2
|
||||
timeCreated: 1518871555
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "UMotionSourceApplication",
|
||||
"references": [],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": []
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8a7b60ba7421eeb4e9d4e0809ac8ccbd
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,156 @@
|
||||
#if UNITY_EDITOR
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UMotionEditor
|
||||
{
|
||||
public static class VersionCompatibilityUtility
|
||||
{
|
||||
#if !UNITY_2017_4_OR_NEWER
|
||||
#error "This Unity version is not supported by UMotion. Please update to Unity 2017.4 or higher."
|
||||
#endif
|
||||
|
||||
//********************************************************************************
|
||||
// Public Properties
|
||||
//********************************************************************************
|
||||
|
||||
public enum EditorPlatform
|
||||
{
|
||||
Windows = 0,
|
||||
Mac,
|
||||
Linux,
|
||||
Invalid
|
||||
}
|
||||
|
||||
public static EditorPlatform CurrentEditorPlatform
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (Application.platform)
|
||||
{
|
||||
case RuntimePlatform.WindowsEditor:
|
||||
return EditorPlatform.Windows;
|
||||
|
||||
case RuntimePlatform.OSXEditor:
|
||||
return EditorPlatform.Mac;
|
||||
|
||||
case RuntimePlatform.LinuxEditor:
|
||||
return EditorPlatform.Linux;
|
||||
|
||||
default:
|
||||
return EditorPlatform.Invalid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool Unity2018_1_OrNewer
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public static bool Unity2018_3_OrNewer
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_2018_3_OR_NEWER
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public static bool Unity2019_1_Or_Newer
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_2019_1_OR_NEWER
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public static bool Unity2020_2_OrNewer
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_2020_2_OR_NEWER
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public static bool Unity2021_2_OrNewer
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_2021_2_OR_NEWER
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static bool Unity2022_2_OrNewer
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_2022_2_OR_NEWER
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public static bool UsesScriptableRenderPipeline
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_2019_1_OR_NEWER
|
||||
return (UnityEngine.Rendering.RenderPipelineManager.currentPipeline != null);
|
||||
#else
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
return (UnityEngine.Experimental.Rendering.RenderPipelineManager.currentPipeline != null);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetCurrentAssemblyName()
|
||||
{
|
||||
return Assembly.GetExecutingAssembly().GetName().Name;
|
||||
}
|
||||
|
||||
//********************************************************************************
|
||||
// Private Properties
|
||||
//********************************************************************************
|
||||
|
||||
//********************************************************************************
|
||||
// Public Methods
|
||||
//********************************************************************************
|
||||
|
||||
//********************************************************************************
|
||||
// Private Methods
|
||||
//********************************************************************************
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fec42e10ecaca094ba9237b4c4b68039
|
||||
timeCreated: 1513775087
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
8
3d Prototyp/Assets/UMotionEditor/Scripts/Editor.meta
Normal file
8
3d Prototyp/Assets/UMotionEditor/Scripts/Editor.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c2083eabd3abe2840866cb6515a60ea3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,105 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System.Collections;
|
||||
using System.Reflection;
|
||||
|
||||
namespace UMotionEditor
|
||||
{
|
||||
public static class AnimationCurveUtilityRecent
|
||||
{
|
||||
//********************************************************************************
|
||||
// Public Properties
|
||||
//********************************************************************************
|
||||
|
||||
public static bool WeightedTangentsImplemented
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
//********************************************************************************
|
||||
// Private Properties
|
||||
//********************************************************************************
|
||||
|
||||
//----------------------
|
||||
// Inspector
|
||||
//----------------------
|
||||
|
||||
//----------------------
|
||||
// Internal
|
||||
//----------------------
|
||||
|
||||
//********************************************************************************
|
||||
// Public Methods
|
||||
//********************************************************************************
|
||||
|
||||
public static void SetKeyWeightedMode(ref Keyframe key, int weightedMode)
|
||||
{
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
key.weightedMode = (WeightedMode)weightedMode;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static int GetKeyWeightedMode(Keyframe key)
|
||||
{
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
return (int)key.weightedMode;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static void SetKeyLeftWeight(ref Keyframe key, float weight)
|
||||
{
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
key.inWeight = weight;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static float GetKeyLeftWeight(Keyframe key)
|
||||
{
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
return key.inWeight;
|
||||
#else
|
||||
return 1f / 3f;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static void SetKeyRightWeight(ref Keyframe key, float weight)
|
||||
{
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
key.outWeight = weight;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static float GetKeyRightWeight(Keyframe key)
|
||||
{
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
return key.outWeight;
|
||||
#else
|
||||
return 1f / 3f;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static void InitializeKeyframe(int frame, float value, float inTangent, float outTangent, int weightedMode, float leftWeight, float rightWeight, out Keyframe key)
|
||||
{
|
||||
key = new Keyframe(frame, value, inTangent, outTangent);
|
||||
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
key.weightedMode = (WeightedMode)weightedMode;
|
||||
key.inWeight = leftWeight;
|
||||
key.outWeight = rightWeight;
|
||||
#endif
|
||||
}
|
||||
|
||||
//********************************************************************************
|
||||
// Private Methods
|
||||
//********************************************************************************
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8bb13d32d833dc9428b3d5471491263c
|
||||
timeCreated: 1479194383
|
||||
licenseType: Store
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,92 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using UnityEditor.Compilation;
|
||||
#if UNITY_2021_2_OR_NEWER
|
||||
using UnityEditor.SceneManagement;
|
||||
#else
|
||||
#if UNITY_2018_3_OR_NEWER
|
||||
using UnityEditor.Experimental.SceneManagement;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
namespace UMotionEditor
|
||||
{
|
||||
public static class EditorVersionCompatibilityUtility
|
||||
{
|
||||
//********************************************************************************
|
||||
// Public Properties
|
||||
//********************************************************************************
|
||||
|
||||
public static float HandlesLineThickness
|
||||
{
|
||||
get
|
||||
{
|
||||
#if UNITY_2020_2_OR_NEWER
|
||||
return Handles.lineThickness;
|
||||
#else
|
||||
return 1f;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
//********************************************************************************
|
||||
// Private Properties
|
||||
//********************************************************************************
|
||||
|
||||
//----------------------
|
||||
// Inspector
|
||||
//----------------------
|
||||
|
||||
//----------------------
|
||||
// Internal
|
||||
//----------------------
|
||||
|
||||
//********************************************************************************
|
||||
// Public Methods
|
||||
//********************************************************************************
|
||||
|
||||
public static bool IsModelPrefab(GameObject gameObject)
|
||||
{
|
||||
#if UNITY_2018_3_OR_NEWER
|
||||
return (PrefabUtility.GetPrefabAssetType(gameObject) == PrefabAssetType.Model);
|
||||
#else
|
||||
return (PrefabUtility.GetPrefabType(gameObject) == PrefabType.ModelPrefab);
|
||||
#endif
|
||||
}
|
||||
|
||||
public static bool IsPrefab(GameObject gameObject)
|
||||
{
|
||||
#if UNITY_2018_3_OR_NEWER
|
||||
return (PrefabUtility.GetPrefabAssetType(gameObject) != PrefabAssetType.NotAPrefab);
|
||||
#else
|
||||
return (PrefabUtility.GetPrefabType(gameObject) != PrefabType.None);
|
||||
#endif
|
||||
}
|
||||
|
||||
public static bool IsInPrefabStage()
|
||||
{
|
||||
#if UNITY_2018_3_OR_NEWER
|
||||
return (PrefabStageUtility.GetCurrentPrefabStage() != null);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
public static void DrawWireArc(Vector3 center, Vector3 normal, Vector3 from, float angle, float radius, float thickness)
|
||||
{
|
||||
#if UNITY_2020_2_OR_NEWER
|
||||
Handles.DrawWireArc(center, normal, from, angle, radius, thickness);
|
||||
#else
|
||||
Handles.DrawWireArc(center, normal, from, angle, radius);
|
||||
#endif
|
||||
}
|
||||
|
||||
//********************************************************************************
|
||||
// Private Methods
|
||||
//********************************************************************************
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f6f554bcbc4309489c3a11930042443
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,102 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
|
||||
namespace UMotionEditor
|
||||
{
|
||||
public static class GUICompatibilityUtility
|
||||
{
|
||||
//********************************************************************************
|
||||
// Public Properties
|
||||
//********************************************************************************
|
||||
|
||||
public static event System.Action<SceneView> OnSceneGui
|
||||
{
|
||||
add
|
||||
{
|
||||
#if UNITY_2019_1_OR_NEWER
|
||||
SceneView.duringSceneGui += value;
|
||||
#else
|
||||
legacySceneViewGUI += value;
|
||||
if (!initialized)
|
||||
{
|
||||
// Doing this in a static constructor instead caused an exception in Unity 2017.4
|
||||
SceneView.onSceneGUIDelegate += delegate(SceneView sceneView) { legacySceneViewGUI(sceneView); };
|
||||
initialized = true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
remove
|
||||
{
|
||||
#if UNITY_2019_1_OR_NEWER
|
||||
SceneView.duringSceneGui -= value;
|
||||
#else
|
||||
legacySceneViewGUI -= value;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
//********************************************************************************
|
||||
// Private Properties
|
||||
//********************************************************************************
|
||||
|
||||
//----------------------
|
||||
// Inspector
|
||||
//----------------------
|
||||
|
||||
//----------------------
|
||||
// Internal
|
||||
//----------------------
|
||||
#if !UNITY_2019_1_OR_NEWER
|
||||
private static event System.Action<SceneView> legacySceneViewGUI;
|
||||
private static bool initialized = false;
|
||||
#endif
|
||||
|
||||
//********************************************************************************
|
||||
// Public Methods
|
||||
//********************************************************************************
|
||||
|
||||
[MenuItem("Window/UMotion Editor/Contact Support", true, 1232)]
|
||||
public static bool UMotionSupportMenuItemValidate()
|
||||
{
|
||||
CheckCurrentAssembly();
|
||||
return true;
|
||||
}
|
||||
|
||||
[MenuItem("Window/UMotion Editor/Contact Support", false, 1232)]
|
||||
public static void UMotionSupportMenuItem()
|
||||
{
|
||||
Help.BrowseURL("https://support.soxware.com");
|
||||
}
|
||||
|
||||
public static Color ColorField(GUIContent label, Color value, bool showEyedropper, bool showAlpha, bool hdr, params GUILayoutOption[] options)
|
||||
{
|
||||
#if UNITY_2018_1_OR_NEWER
|
||||
return EditorGUILayout.ColorField(label, value, showEyedropper, showAlpha, hdr, options);
|
||||
#else
|
||||
return EditorGUILayout.ColorField(label, value, showEyedropper, showAlpha, hdr, null, options);
|
||||
#endif
|
||||
}
|
||||
|
||||
//********************************************************************************
|
||||
// Private Methods
|
||||
//********************************************************************************
|
||||
|
||||
private static bool CheckCurrentAssembly()
|
||||
{
|
||||
string applicationAssemblyName = VersionCompatibilityUtility.GetCurrentAssemblyName();
|
||||
string editorAssemblyName = Assembly.GetExecutingAssembly().GetName().Name;
|
||||
|
||||
bool assemblyOk = (applicationAssemblyName == "UMotionSourceApplication") && (editorAssemblyName == "UMotionSourceEditor");
|
||||
|
||||
if (!assemblyOk)
|
||||
{
|
||||
string message = string.Format("The UMotion script files are not compiled to the correct assembly:\r\n\r\n\"{0}\"\r\n(should be \"UMotionSourceApplication\")\r\n\r\n\"{1}\"\r\n(should be \"UMotionSourceEditor\")\r\n\r\nMake sure that you haven't deleted or re-named the assembly definition files inside the UMotion folder.", applicationAssemblyName, editorAssemblyName);
|
||||
EditorUtility.DisplayDialog("UMotion - Invalid Assembly", message, "OK");
|
||||
}
|
||||
|
||||
return assemblyOk;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 903e27eafe5bb764db202389e0fefbfa
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "UMotionSourceEditor",
|
||||
"references": [
|
||||
"UMotionSourceApplication"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": []
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b3ddaa7f43eb8574a8d6541276fc1a67
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user