A game about forced loneliness, made by TACStudios
at master 3.4 kB view raw
1#if UNITY_EDITOR 2using System; 3 4namespace UnityEngine.InputSystem.Editor 5{ 6#if UNITY_2023_2_OR_NEWER 7 [UnityEngine.Analytics.AnalyticInfo(eventName: kEventName, maxEventsPerHour: kMaxEventsPerHour, 8 maxNumberOfElements: kMaxNumberOfElements, vendorKey: UnityEngine.InputSystem.InputAnalytics.kVendorKey)] 9#endif // UNITY_2023_2_OR_NEWER 10 internal class PlayerInputManagerEditorAnalytic : UnityEngine.InputSystem.InputAnalytics.IInputAnalytic 11 { 12 public const string kEventName = "input_playerinputmanager_editor_destroyed"; 13 public const int kMaxEventsPerHour = 100; // default: 1000 14 public const int kMaxNumberOfElements = 100; // default: 1000 15 16 public InputAnalytics.InputAnalyticInfo info => 17 new InputAnalytics.InputAnalyticInfo(kEventName, kMaxEventsPerHour, kMaxNumberOfElements); 18 19 private readonly UnityEditor.Editor m_Editor; 20 21 public PlayerInputManagerEditorAnalytic(UnityEditor.Editor editor) 22 { 23 m_Editor = editor; 24 } 25 26#if UNITY_2023_2_OR_NEWER 27 public bool TryGatherData(out UnityEngine.Analytics.IAnalytic.IData data, out Exception error) 28#else 29 public bool TryGatherData(out InputAnalytics.IInputAnalyticData data, out Exception error) 30#endif 31 { 32 try 33 { 34 data = new Data(m_Editor.target as PlayerInputManager); 35 error = null; 36 } 37 catch (Exception e) 38 { 39 data = null; 40 error = e; 41 } 42 return true; 43 } 44 45 internal struct Data : UnityEngine.InputSystem.InputAnalytics.IInputAnalyticData 46 { 47 public enum PlayerJoinBehavior 48 { 49 JoinPlayersWhenButtonIsPressed = 0, // default 50 JoinPlayersWhenJoinActionIsTriggered = 1, 51 JoinPlayersManually = 2 52 } 53 54 public InputEditorAnalytics.PlayerNotificationBehavior behavior; 55 public PlayerJoinBehavior join_behavior; 56 public bool joining_enabled_by_default; 57 public int max_player_count; 58 59 public Data(PlayerInputManager value) 60 { 61 behavior = InputEditorAnalytics.ToNotificationBehavior(value.notificationBehavior); 62 join_behavior = ToPlayerJoinBehavior(value.joinBehavior); 63 joining_enabled_by_default = value.joiningEnabled; 64 max_player_count = value.maxPlayerCount; 65 } 66 67 private static PlayerJoinBehavior ToPlayerJoinBehavior(UnityEngine.InputSystem.PlayerJoinBehavior value) 68 { 69 switch (value) 70 { 71 case UnityEngine.InputSystem.PlayerJoinBehavior.JoinPlayersWhenButtonIsPressed: 72 return PlayerJoinBehavior.JoinPlayersWhenButtonIsPressed; 73 case UnityEngine.InputSystem.PlayerJoinBehavior.JoinPlayersWhenJoinActionIsTriggered: 74 return PlayerJoinBehavior.JoinPlayersWhenJoinActionIsTriggered; 75 case UnityEngine.InputSystem.PlayerJoinBehavior.JoinPlayersManually: 76 return PlayerJoinBehavior.JoinPlayersManually; 77 default: 78 throw new ArgumentOutOfRangeException(nameof(value)); 79 } 80 } 81 } 82 } 83} 84#endif