public IEnumerator AsyncLoadAssets() { // 加载UIRoot HotfixLog.Log("开始加载UIRoot"); var uiRoot = WindowManager.Instance.CreateUIRoot <CanvasRoot>("UIPanel/UIRoot"); yield return(uiRoot); // 加载窗口 HotfixLog.Log("开始加载登录窗口"); yield return(WindowManager.Instance.OpenWindow(typeof(UILogin), "UIPanel/UILogin")); // 加载模型 HotfixLog.Log("开始加载模型"); var handle = ResourceManager.Instance.LoadAssetAsync <GameObject>("Entity/Sphere"); yield return(handle); var sphere = handle.InstantiateObject; sphere.transform.position = Vector3.zero; sphere.transform.localScale = Vector3.one * 3f; HotfixLog.Log($"模型名字:{sphere.name}"); // 加载配表 HotfixLog.Log("开始加载配表"); yield return(ConfigManager.Instance.LoadConfig(typeof(CfgAvatar), "Config/Avatar")); CfgAvatar config = ConfigManager.Instance.GetConfig(typeof(CfgAvatar)) as CfgAvatar; CfgAvatarTable table = config.GetTable(1001) as CfgAvatarTable; HotfixLog.Log($"表格数据:{table.HeadIcon}"); HotfixLog.Log($"表格数据:{table.Model}"); }
public void Start() { HotfixNetManager.Instance.Create(); FsmManager.Instance.Create(); // 缓存所有的特性 HotfixLog.Log("收集所有热更类的属性并缓存"); { Attribute attribute1 = HotfixTypeHelper.GetAttribute <WindowAttribute>(typeof(UILogin)); ILRManager.Instance.CacheHotfixAttribute(typeof(UILogin), attribute1); Attribute attribute2 = HotfixTypeHelper.GetAttribute <WindowAttribute>(typeof(UIMain)); ILRManager.Instance.CacheHotfixAttribute(typeof(UIMain), attribute2); Attribute attribute3 = HotfixTypeHelper.GetAttribute <WindowAttribute>(typeof(UIMap)); ILRManager.Instance.CacheHotfixAttribute(typeof(UIMap), attribute3); } // 开启协程加载资源 MotionEngine.StartCoroutine(AsyncLoadAssets()); // 测试热更事件 HotfixEventManager.Instance.AddListener <HotfixEventDefine.ClickSkill1Event>(OnHandleEventMessage); HotfixEventManager.Instance.AddListener <HotfixEventDefine.ClickSkill2Event>(OnHandleEventMessage); HotfixEventManager.Instance.AddListener <HotfixEventDefine.ClickSkill3Event>(OnHandleEventMessage); HotfixEventManager.Instance.AddListener <HotfixEventDefine.ClickSkill4Event>(OnHandleEventMessage); HotfixEventManager.Instance.AddListener <HotfixEventDefine.ClickSkill5Event>(OnHandleEventMessage); }
/// <summary> /// 发送网络消息 /// </summary> public void SendHotfixMsg(IHotfixNetMessage msg) { HotfixLog.Log($"Send hotfix net message : {msg.GetType()}"); int msgID = _types.GetKeyByValue(msg.GetType()); DefaultNetworkPackage package = new DefaultNetworkPackage(); package.MsgID = msgID; package.BodyBytes = ProtobufHelper.Encode(msg); NetworkManager.Instance.SendMessage(package); }
/// <summary> /// 接收消息回调函数 /// </summary> private void OnHandleNetworkPackage(INetworkPackage pack) { DefaultNetworkPackage package = pack as DefaultNetworkPackage; Type msgType = _types.GetValueByKey(package.MsgID); HotfixLog.Log($"Handle hotfix net message : {msgType}"); object instance = Activator.CreateInstance(msgType); var message = ProtobufHelper.Decode(instance, package.BodyBytes); HotfixLog.Log(message.ToString()); }
public void Start() { HotfixNetManager.Instance.Create(); FsmManager.Instance.Create(); // 缓存所有的特性 HotfixLog.Log("收集所有热更类的属性并缓存"); { Attribute attribute1 = HotfixTypeHelper.GetAttribute <WindowAttribute>(typeof(UILogin)); ILRManager.Instance.CacheHotfixAttribute(typeof(UILogin), attribute1); Attribute attribute2 = HotfixTypeHelper.GetAttribute <WindowAttribute>(typeof(UIMain)); ILRManager.Instance.CacheHotfixAttribute(typeof(UIMain), attribute2); Attribute attribute3 = HotfixTypeHelper.GetAttribute <WindowAttribute>(typeof(UIMap)); ILRManager.Instance.CacheHotfixAttribute(typeof(UIMap), attribute3); } // 开启协程加载资源 MotionEngine.StartCoroutine(AsyncLoadAssets()); }
private void OnHandleEventMessage(IEventMessage msg) { if (msg is NetworkEventMessageDefine.ConnectFail) { HotfixLog.Log("连接服务器失败"); } else if (msg is NetworkEventMessageDefine.ConnectSuccess) { HotfixLog.Log("连接服务器成功"); // 发送登录消息 C2R_Login loginMsg = new C2R_Login { RpcId = 100, Account = "hello", Password = "******" }; HotfixNetManager.Instance.SendHotfixMsg(loginMsg); } }
public void OnEnter() { HotfixLog.Log("进入FsmLogin"); }
public void OnEnter() { HotfixLog.Log("进入FsmInit"); }
public void OnEnter() { HotfixLog.Log("进入FsmPlay"); }