using UnityEditor; /// /// Class responsible for handling Logger related utilities added to Unity Menu /// namespace Ubisoft.Hotel.Logger.Editor { internal class LoggerEditorMenu { internal const string ROOT = "Hotel/Core/Logger/"; internal const string OPEN_PLAYER_LOGGER_PROPERTY = ROOT + "Open Player Logger Property"; [MenuItem(OPEN_PLAYER_LOGGER_PROPERTY)] public static void OpenPlayerLoggerProperty() { PlayerLoggerProperty playerLoggerProperty = null; string typeName = "PlayerLoggerProperty"; string[] guids = AssetDatabase.FindAssets($"t:{typeName}", null); if (guids.Length > 0) { string path = AssetDatabase.GUIDToAssetPath(guids[0]); playerLoggerProperty = AssetDatabase.LoadAssetAtPath(path); Selection.activeObject = playerLoggerProperty; } if (playerLoggerProperty == null) { Debug.EditorLogError($"No {Debug.FormatTextInCodeContext(typeName)} object found. Try again after opening Hotel Settings and applying a suite that contains a {Debug.FormatTextInCodeContext("LoggerProperty")} property."); } else { Selection.activeObject = playerLoggerProperty; } } } }