// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
// Unity
using UnityEditor;
using UnityEngine;
// GameKit
using AWS.GameKit.Editor.Utils;
namespace AWS.GameKit.Editor
{
///
/// The "AWS GameKit" dropdown menu found along the top toolbar (alongside File, Edit, Assets, etc.).
///
public static class ToolbarMenu
{
///
/// Names of the items in the dropdown menu.
///
private static class ItemNames
{
public const string QUICK_ACCESS = AWS_GAMEKIT + "/QuickAccess";
public const string SETTINGS = AWS_GAMEKIT + "/Settings";
public const string DOCUMENTATION = AWS_GAMEKIT + "/Documentation";
private const string AWS_GAMEKIT = "AWS GameKit";
}
///
/// Sort order of the items in the dropdown menu. The menu is sorted in ascending order.
///
private static class ItemPriorities
{
private const int TOP_OF_LIST = 0;
// Unity adds a divider between menu items when their priority is more than 10 apart.
private const int ADD_DIVIDER = 11;
// First group
public const int QUICK_ACCESS = TOP_OF_LIST;
public const int SETTINGS = QUICK_ACCESS + 1;
// Second group
public const int DOCUMENTATION = ADD_DIVIDER + SETTINGS;
}
[MenuItem(ItemNames.QUICK_ACCESS, priority = ItemPriorities.QUICK_ACCESS)]
public static void OpenQuickAccess()
{
GameKitEditorManager.Get().QuickAccessWindowController.GetOrCreateQuickAccessWindow();
}
[MenuItem(ItemNames.SETTINGS, priority = ItemPriorities.SETTINGS)]
public static void OpenSettings()
{
GameKitEditorManager.Get().SettingsWindowController.GetOrCreateSettingsWindow();
}
[MenuItem(ItemNames.DOCUMENTATION, priority = ItemPriorities.DOCUMENTATION)]
public static void OpenDocumentation()
{
Application.OpenURL(DocumentationURLs.GAMEKIT_HOME);
}
}
}