feat: added android platform template
This commit is contained in:
60
Platforms/Android/Program.cs
Normal file
60
Platforms/Android/Program.cs
Normal file
@@ -0,0 +1,60 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
|
||||
using Android.App;
|
||||
using Android.Content.PM;
|
||||
using Android.OS;
|
||||
using Android.Views;
|
||||
using Engine.Integration.MonoGame;
|
||||
using Engine.Core;
|
||||
using Engine.Core.Debug;
|
||||
|
||||
namespace MyUniverse.Platforms.Android
|
||||
{
|
||||
[Activity(
|
||||
Label = "@string/app_name",
|
||||
MainLauncher = true,
|
||||
Icon = "@drawable/icon",
|
||||
AlwaysRetainTaskState = true,
|
||||
LaunchMode = LaunchMode.SingleInstance,
|
||||
ScreenOrientation = ScreenOrientation.Portrait,
|
||||
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden | ConfigChanges.ScreenSize
|
||||
)]
|
||||
public class Program : AndroidGameActivity
|
||||
{
|
||||
private MonoGameWindow _game;
|
||||
private View _view;
|
||||
|
||||
protected override void OnCreate(Bundle bundle)
|
||||
{
|
||||
base.OnCreate(bundle);
|
||||
|
||||
Universe universe = new();
|
||||
|
||||
ILogger logger = new RotatingFileLogger("Logs", "MyGame");
|
||||
|
||||
universe.InstantiateUniverseObject().SetUniverseObject("Logger")
|
||||
.BehaviourController.AddBehaviour<LoggerContainer>().Logger = ILogger.Shared = logger;
|
||||
|
||||
universe.InstantiateUniverseObject().SetUniverseObject("Desktop Inputs")
|
||||
.BehaviourController.AddBehaviour<MobileInputs>();
|
||||
|
||||
universe.InstantiateUniverseObject().SetUniverseObject("Visual Managers")
|
||||
.BehaviourController.AddBehaviour<DrawManager>()
|
||||
.BehaviourController.AddBehaviour<LoadContentManager>();
|
||||
|
||||
/* For Networking
|
||||
LiteNetLibClient client = universe.InstantiateUniverseObject().SetUniverseObject("Client").BehaviourController.AddBehaviour<LiteNetLibClient>();
|
||||
client.BehaviourController.AddBehaviour<NetworkManager>();
|
||||
universe.OnPreUpdate.AddOneTimeListener((_, _) => client.Connect("localhost", 8888));
|
||||
*/
|
||||
|
||||
Shared.UniverseSource.ApplyUniverse(universe);
|
||||
|
||||
_game = new MonoGameWindow(universe);
|
||||
_view = _game.Services.GetService(typeof(View)) as View;
|
||||
|
||||
SetContentView(_view);
|
||||
_game.Run();
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user