using System; using System.Reflection; using Base; using UnityEngine; using Object = Base.Object; namespace Controller { /// /// 初始化游戏 /// [Event(EventIdType.InitSceneStart)] public class InitSceneStartEvent_InitGame: IEvent { public async void Run() { GameObject code = (GameObject)Resources.Load("Code/Code"); byte[] assBytes = code.Get("Controller.dll").bytes; byte[] mdbBytes = code.Get("Controller.dll.mdb").bytes; Assembly assembly = Assembly.Load(assBytes, mdbBytes); Object.ObjectManager.Register("Controller", assembly); Object.ObjectManager.Register("Base", typeof(Game).Assembly); Game.Scene.AddComponent(); Game.Scene.AddComponent(); try { S2C_FetchServerTime s2CFetchServerTime = await Game.Scene.GetComponent().CallAsync(new C2S_FetchServerTime()); Log.Info($"server time is: {s2CFetchServerTime.ServerTime}"); } catch (RpcException e) { Log.Error(e.ToString()); } catch (Exception e) { Log.Error(e.ToString()); } } } }