TH1/DotNet/App/Program.cs

37 lines
1.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Threading;
namespace ET
{
public static class Program
{
public static void Main()
{
//这里大家看着可能比较困惑为什么要绕一大圈呢之前这里直接调用Model层现在却要在CoderLoader中获取Model的程序集找到Entry入口再调用
//原因是之前DotNet.App直接依赖Model但是在客户端之前的Mono却不依赖Model。这导致前端跟后端程序集依赖不太一样
//所以这次加了个Loader的程序集客户端的Mono程序集也改成Loader这样前后端Model都引用LoaderLoader通过反射去调用Model的Entry。
//这样前后端的程序集依赖就保持了一致。这里调用了Entry.Init()是为了防止dotnet裁剪Model的程序集毕竟如果App没有调用model那么dotnet认为
//model并没有用到就不会加载结果会导致CodeLoader反射调用model失败。
//客户端服务端不热更不共享的组件可以写到Loader中比如表现层需要一个组件不需要热更可以写在Loader中这样性能更高。如果客户端跟服务端共享的并且不需要热更的
//的组件可以写在Core中
Entry.Init();
Init init = new();
init.Start();
while (true)
{
Thread.Sleep(1);
try
{
init.Update();
init.LateUpdate();
}
catch (Exception e)
{
Log.Error(e);
}
}
}
}
}