using System; using Godot; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Console; using HttpClient = System.Net.Http.HttpClient; namespace BITKit; /// /// 为Godot提供的BITApp加载服务 /// public partial class BITAppForGodot : Node { /// /// 在构造函数中注册Logger /// public BITAppForGodot() { BIT4Log.OnLog += GD.Print; BIT4Log.OnWarning += GD.PushWarning; BIT4Log.OnNextLine += () => GD.Print(); BIT4Log.OnException += x=>GD.PrintErr(x.ToString()); //启动BITApp BITApp.Start(); BIT4Log.Log("已创建BITApp"); } public override void _Ready() { BIT4Log.Log("正在创建BITWebApp"); //添加测试用HttpClient BITApp.ServiceCollection.AddSingleton(); //构造依赖服务提供接口 BITApp.BuildService(); } protected override void Dispose(bool disposing) { #pragma warning disable CS4014 //停止BITApp BITApp.Stop(); #pragma warning restore CS4014 BIT4Log.Log("已安全退出App"); } }