UI 자동화를 위해 바인딩 기능 구현
- 유니티 에셋 인증 오류로 meta 재생성
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
#if UNITY_EDITOR && UNITY_INPUT_SYSTEM_ENABLE_UI
|
||||
using System;
|
||||
using UnityEngine.InputSystem.OnScreen;
|
||||
|
||||
namespace UnityEngine.InputSystem.Editor
|
||||
{
|
||||
/// <summary>
|
||||
/// Analytics record for tracking engagement with Input Action Asset editor(s).
|
||||
/// </summary>
|
||||
#if UNITY_2023_2_OR_NEWER
|
||||
[UnityEngine.Analytics.AnalyticInfo(eventName: kEventName, maxEventsPerHour: kMaxEventsPerHour,
|
||||
maxNumberOfElements: kMaxNumberOfElements, vendorKey: UnityEngine.InputSystem.InputAnalytics.kVendorKey, version: 2)]
|
||||
#endif // UNITY_2023_2_OR_NEWER
|
||||
internal class OnScreenStickEditorAnalytic : UnityEngine.InputSystem.InputAnalytics.IInputAnalytic
|
||||
{
|
||||
public const string kEventName = "input_onscreenstick_editor_destroyed";
|
||||
public const int kMaxEventsPerHour = 100; // default: 1000
|
||||
public const int kMaxNumberOfElements = 100; // default: 1000
|
||||
|
||||
/// <summary>
|
||||
/// Represents select configuration data of interest related to an <see cref="OnScreenStick"/> component.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
internal struct Data : UnityEngine.InputSystem.InputAnalytics.IInputAnalyticData
|
||||
{
|
||||
public enum OnScreenStickBehaviour
|
||||
{
|
||||
RelativePositionWithStaticOrigin = 0,
|
||||
ExactPositionWithStaticOrigin = 1,
|
||||
ExactPositionWithDynamicOrigin = 2,
|
||||
}
|
||||
|
||||
private static OnScreenStickBehaviour ToBehaviour(OnScreenStick.Behaviour value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case OnScreenStick.Behaviour.RelativePositionWithStaticOrigin:
|
||||
return OnScreenStickBehaviour.RelativePositionWithStaticOrigin;
|
||||
case OnScreenStick.Behaviour.ExactPositionWithDynamicOrigin:
|
||||
return OnScreenStickBehaviour.ExactPositionWithDynamicOrigin;
|
||||
case OnScreenStick.Behaviour.ExactPositionWithStaticOrigin:
|
||||
return OnScreenStickBehaviour.ExactPositionWithStaticOrigin;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(value));
|
||||
}
|
||||
}
|
||||
|
||||
public Data(OnScreenStick value)
|
||||
{
|
||||
behavior = ToBehaviour(value.behaviour);
|
||||
movement_range = value.movementRange;
|
||||
dynamic_origin_range = value.dynamicOriginRange;
|
||||
use_isolated_input_actions = value.useIsolatedInputActions;
|
||||
}
|
||||
|
||||
public OnScreenStickBehaviour behavior;
|
||||
public float movement_range;
|
||||
public float dynamic_origin_range;
|
||||
public bool use_isolated_input_actions;
|
||||
}
|
||||
|
||||
private readonly UnityEditor.Editor m_Editor;
|
||||
|
||||
public OnScreenStickEditorAnalytic(UnityEditor.Editor editor)
|
||||
{
|
||||
m_Editor = editor;
|
||||
}
|
||||
|
||||
#if UNITY_2023_2_OR_NEWER
|
||||
public bool TryGatherData(out UnityEngine.Analytics.IAnalytic.IData data, out Exception error)
|
||||
#else
|
||||
public bool TryGatherData(out InputAnalytics.IInputAnalyticData data, out Exception error)
|
||||
#endif
|
||||
{
|
||||
try
|
||||
{
|
||||
data = new Data(m_Editor.target as OnScreenStick);
|
||||
error = null;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
data = null;
|
||||
error = e;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public InputAnalytics.InputAnalyticInfo info =>
|
||||
new InputAnalytics.InputAnalyticInfo(kEventName, kMaxEventsPerHour, kMaxNumberOfElements);
|
||||
}
|
||||
}
|
||||
#endif // UNITY_EDITOR
|
||||
Reference in New Issue
Block a user