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;
}
}
}
}