You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- using System;
-
- using UnityEngine;
-
- using GamecraftModdingAPI.Utility;
-
- namespace GamecraftModdingAPI.App
- {
- /// <summary>
- /// The Gamecraft application that is running this code right now.
- /// </summary>
- public class Client
- {
- // extensible engine
- protected static AppEngine appEngine = new AppEngine();
-
- /// <summary>
- /// An event that fires whenever the main menu is loaded.
- /// </summary>
- public static event EventHandler<MenuEventArgs> EnterMenu
- {
- add => appEngine.EnterMenu += value;
- remove => appEngine.EnterMenu -= value;
- }
-
- /// <summary>
- /// An event that fire whenever the main menu is exited.
- /// </summary>
- public static event EventHandler<MenuEventArgs> ExitMenu
- {
- add => appEngine.ExitMenu += value;
- remove => appEngine.ExitMenu -= value;
- }
-
- /// <summary>
- /// Gamecraft build version string.
- /// Usually this is in the form YYYY.mm.DD.HH.MM.SS
- /// </summary>
- /// <value>The version.</value>
- public string Version
- {
- get => Application.version;
- }
-
- /// <summary>
- /// Unity version string.
- /// </summary>
- /// <value>The unity version.</value>
- public string UnityVersion
- {
- get => Application.unityVersion;
- }
-
- /// <summary>
- /// Game saves currently visible in the menu.
- /// These take a second to completely populate after the EnterMenu event fires.
- /// </summary>
- /// <value>My games.</value>
- public Game[] MyGames
- {
- get
- {
- if (!appEngine.IsInMenu) return new Game[0];
- return appEngine.GetMyGames();
- }
- }
-
- /// <summary>
- /// Whether Gamecraft is in the Main Menu
- /// </summary>
- /// <value><c>true</c> if in menu; <c>false</c> when loading or in a game.</value>
- public bool InMenu
- {
- get => appEngine.IsInMenu;
- }
-
- internal static void Init()
- {
- MenuEngineManager.AddMenuEngine(appEngine);
- }
- }
- }
|