Editor/Window/EditorMenu.cs (68 lines of code) (raw):

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 using System; using UnityEditor; using UnityEngine; namespace AmazonGameLift.Editor { internal class EditorMenu { private static readonly Type _inspectorType = Type.GetType("UnityEditor.GameView,UnityEditor.dll"); private static readonly string _filePackagePath = $"Packages/{Paths.PackageName}/{Paths.SampleGameInPackage}"; private static GameLiftPlugin GetPluginWindow() { var window = EditorWindow.GetWindow<GameLiftPlugin>(_inspectorType); window.titleContent = new GUIContent("Amazon GameLift", window.Icon); return window; } [MenuItem("Amazon GameLift/Show Amazon GameLift Window", priority = 0)] public static void ShowWindow() { GetPluginWindow(); } [MenuItem("Amazon GameLift/Bring Panel to Front", priority = 1)] public static void FocusPanel() { ShowWindow(); } [MenuItem("Amazon GameLift/Set up your user profile", priority = 100)] public static void OpenAccountProfilesTab() { GetPluginWindow().OpenTab(GameLiftPlugin.Pages.Credentials); } [MenuItem("Amazon GameLift/Host with Anywhere", priority = 101)] public static void OpenAnywhereTab() { GetPluginWindow().OpenTab(GameLiftPlugin.Pages.Anywhere); } [MenuItem("Amazon GameLift/Host with Managed EC2", priority = 102)] public static void OpenEC2Tab() { GetPluginWindow().OpenTab(GameLiftPlugin.Pages.ManagedEC2); } [MenuItem("Amazon GameLift/Host with Managed Containers", priority = 103)] public static void OpenContainersTab() { GetPluginWindow().OpenTab(GameLiftPlugin.Pages.Containers); } [MenuItem("Amazon GameLift/Sample Game/Import Sample Game", priority = 104)] public static void ImportSampleGame() { AssetDatabase.ImportPackage(_filePackagePath, interactive: true); } [MenuItem("Amazon GameLift/Help/Documentation", priority = 200)] public static void OpenDocumentation() { Application.OpenURL(Urls.AwsHelpGameLiftUnityDocumentation); } [MenuItem("Amazon GameLift/Help/AWS GameTech Forum", priority = 201)] public static void OpenGameTechForums() { Application.OpenURL(Urls.AwsGameTechForums); } [MenuItem("Amazon GameLift/Help/Report Issues", priority = 202)] public static void OpenReportIssues() { Application.OpenURL(Urls.GitHubAwsIssues); } } }