update CCK to 3.10, fixing unity 2021 crash :)
This commit is contained in:
parent
48a978fa2a
commit
d11e0fb3a9
492 changed files with 2165204 additions and 437687 deletions
|
@ -1,66 +1,92 @@
|
|||
using System;
|
||||
using ABI.CCK.Components;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ABI.CCK.Scripts.Editor
|
||||
{
|
||||
|
||||
[CustomEditor(typeof(ABI.CCK.Components.CVRAssetInfo))]
|
||||
[CanEditMultipleObjects]
|
||||
[CustomEditor(typeof(CVRAssetInfo))]
|
||||
public class CCK_CVRAssetInfoEditor : UnityEditor.Editor
|
||||
{
|
||||
private CVRAssetInfo _info;
|
||||
private string _newGuid;
|
||||
private SerializedProperty _objectIdProperty;
|
||||
|
||||
private string _newGUID;
|
||||
|
||||
#region Unity Events
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (target == null)
|
||||
return;
|
||||
|
||||
_objectIdProperty = serializedObject.FindProperty("objectId");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
if (_info == null) _info = (CVRAssetInfo)target;
|
||||
serializedObject.Update();
|
||||
|
||||
EditorGUILayout.HelpBox(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_HEADER_INFORMATION"), MessageType.Info);
|
||||
DrawHeaderInfo();
|
||||
|
||||
if (!string.IsNullOrEmpty(_info.objectId))
|
||||
{
|
||||
EditorGUILayout.HelpBox(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_GUID_LABEL") + _info.objectId, MessageType.Info);
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
|
||||
if (GUILayout.Button(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON")))
|
||||
{
|
||||
bool detach = EditorUtility.DisplayDialog(
|
||||
CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON_DIALOG_TITLE"),
|
||||
CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON_DIALOG_BODY"),
|
||||
CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON_DIALOG_ACCEPT"),
|
||||
CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON_DIALOG_DENY"));
|
||||
if (detach) DetachGuid();
|
||||
}
|
||||
|
||||
if (GUILayout.Button(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_COPY_BUTTON")))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(_info.objectId))
|
||||
{
|
||||
GUIUtility.systemCopyBuffer = _info.objectId;
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(_objectIdProperty.stringValue))
|
||||
DrawDetachGUID();
|
||||
else
|
||||
{
|
||||
_newGuid = EditorGUILayout.TextField(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_ATTACH_LABEL"), _newGuid);
|
||||
EditorGUILayout.HelpBox(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_ATTACH_INFO"), MessageType.Warning);
|
||||
if (GUILayout.Button(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_ATTACH_BUTTON"))) ReattachGuid(_newGuid);
|
||||
}
|
||||
DrawAttachGUID();
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
|
||||
private void DetachGuid()
|
||||
#endregion
|
||||
|
||||
#region GUI Drawing
|
||||
|
||||
private void DrawHeaderInfo()
|
||||
{
|
||||
if (!string.IsNullOrEmpty(_info.objectId)) _info.objectId = string.Empty;
|
||||
}
|
||||
private void ReattachGuid(string Guid)
|
||||
{
|
||||
_info.objectId = Guid;
|
||||
EditorGUILayout.HelpBox(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_HEADER_INFORMATION"), MessageType.Info);
|
||||
}
|
||||
|
||||
private void DrawDetachGUID()
|
||||
{
|
||||
EditorGUILayout.HelpBox(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_GUID_LABEL") + _objectIdProperty.stringValue, MessageType.Info);
|
||||
|
||||
EditorGUILayout.BeginHorizontal();
|
||||
|
||||
if (GUILayout.Button(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON")))
|
||||
{
|
||||
bool shouldDetach = EditorUtility.DisplayDialog(
|
||||
CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON_DIALOG_TITLE"),
|
||||
CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON_DIALOG_BODY"),
|
||||
CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON_DIALOG_ACCEPT"),
|
||||
CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_DETACH_BUTTON_DIALOG_DENY"));
|
||||
|
||||
if (shouldDetach)
|
||||
{
|
||||
_newGUID = _objectIdProperty.stringValue;
|
||||
_objectIdProperty.stringValue = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
if (GUILayout.Button(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_COPY_BUTTON")))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(_objectIdProperty.stringValue))
|
||||
GUIUtility.systemCopyBuffer = _objectIdProperty.stringValue;
|
||||
}
|
||||
|
||||
EditorGUILayout.EndHorizontal();
|
||||
}
|
||||
|
||||
private void DrawAttachGUID()
|
||||
{
|
||||
_newGUID = EditorGUILayout.TextField(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_ATTACH_LABEL"), _newGUID);
|
||||
EditorGUILayout.HelpBox(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_ATTACH_INFO"), MessageType.Warning);
|
||||
|
||||
if (!GUILayout.Button(CCKLocalizationProvider.GetLocalizedText("ABI_UI_ASSET_INFO_ATTACH_BUTTON")))
|
||||
return;
|
||||
|
||||
if (System.Guid.TryParse(_newGUID, out _))
|
||||
_objectIdProperty.stringValue = _newGUID;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue