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());
}
}
}
}