SessionZero/SessionZeroClient/sessionzero/Assets/Scripts/Main.cs
2025-03-28 14:59:47 -05:00

38 lines
1015 B
C#

using Godot;
using System;
using SessionZeroClient.API;
namespace SessionZeroClient;
public partial class Main : Node
{
[Export] public CanvasLayer MainCanvasLayer { get; set; }
[Export] public PackedScene AccountScreenScene { get; set; }
private IApiHandler _apiHandler;
private AccountScreenLogic _accountScreenLogic;
private AccountManager _accountManager;
public override void _Ready()
{
_apiHandler = new ApiHandler();
_accountManager = new AccountManager(_apiHandler);
SetupAccountScreen();
}
private void SetupAccountScreen()
{
try
{
_accountScreenLogic = AccountScreenScene.Instantiate() as AccountScreenLogic;
_accountScreenLogic.Init(_apiHandler, _accountManager);
MainCanvasLayer.AddChild(_accountScreenLogic);
}
catch (Exception e)
{
throw new Exception($"Error instantiating AccountScreenLogic: {e.Message}");
}
}
}