//加载场景时加载依赖资源的回调 private void OnLoadSceneDependencyAsset(object sender, GameEventArgs e) { LoadSceneDependencyAssetEventArgs ne = e as LoadSceneDependencyAssetEventArgs; if (ne.UserData != this) { return; } HotLog.Info("Load scene '{0}' dependency asset '{1}', count '{2}/{3}'.", ne.SceneAssetName, ne.DependencyAssetName, ne.LoadedCount.ToString(), ne.TotalCount.ToString()); }
//加载场景更新的回调 private void OnLoadSceneUpdate(object sender, GameEventArgs e) { LoadSceneUpdateEventArgs args = e as LoadSceneUpdateEventArgs; if (args.UserData != this) { return; } HotLog.Info("Load scene '{0}' update, progress '{1}'.", args.SceneAssetName, args.Progress.ToString("P2")); }
//点击退出按钮 public void OnQuitButtonClick() { HotLog.Info("On Click Quit Button"); //打开对话框 GameEntry.UI.OpenDialog(new DialogParams() { Mode = 2, Title = GameEntry.Localization.GetString("AskQuitGame.Title"), Message = GameEntry.Localization.GetString("AskQuitGame.Message"), OnClickConfirm = delegate(object userData) { UnityGameFrame.Runtime.GameEntry.Shutdown(ShutdownType.Quit); }, }); }
//加载场景成功的回调 private void OnLoadSceneSuccess(object sender, GameEventArgs e) { LoadSceneSuccessEventArgs args = e as LoadSceneSuccessEventArgs; if (args.UserData != this) { return; } HotLog.Info("Load scene '{0}' OK.", args.SceneAssetName); if (m_BackgroundMusicId > 0) { GameEntry.Sound.PlayMusic(m_BackgroundMusicId); } m_IsChangeSceneComplete = true; //加载完成的标志位 }
private Canvas m_CachedCanvas = null; //画布 //这种方法后期可以抽象出去,例如使用接口、使用特性获取调用等 public HPBarComponent() { GameObject obj = new GameObject("HP Bar"); obj.transform.SetParent(HotfixEntry.GlobalObj.transform.Find("Customs")); (obj.AddComponent(typeof(ComponentView)) as ComponentView).Component = this; GameObject InstaceObj = new GameObject("HP Bar Instance"); InstaceObj.transform.SetParent(obj.transform); m_CachedCanvas = InstaceObj.AddComponent(typeof(Canvas)) as Canvas; m_CachedCanvas.renderMode = RenderMode.ScreenSpaceOverlay; CanvasScaler scaler = InstaceObj.AddComponent(typeof(CanvasScaler)) as CanvasScaler; scaler.uiScaleMode = CanvasScaler.ScaleMode.ScaleWithScreenSize; scaler.referenceResolution = new Vector2(1080, 1920); scaler.screenMatchMode = CanvasScaler.ScreenMatchMode.MatchWidthOrHeight; scaler.matchWidthOrHeight = 0; m_HPBarInstanceRoot = InstaceObj.transform; if (m_HPBarInstanceRoot == null) { HotLog.Error("You must set HP bar instance root first."); return; } m_HPBarItemObjectPool = HotfixEntry.ObjectPool.CreateSingleSpawnObjectPool <HPBarItemObject>("HPBarItem", m_InstancePoolCapacity); m_ListActiveHPBar = new List <HPBarItem>(); GameEntry.Resource.LoadAsset(HotAssetUtility.GetUIItemsAsset("HPBarItem"), RuntimeConstant.AssetPriority.UIFormAsset, (assetName, asset, duration, userData) => { HotLog.Info("Load HPBarItem OK."); m_HPBarItemTemplate = asset as GameObject; }, //加载失败的回调 (assetName, status, errorMessage, userData) => { HotLog.Error("Can not load HPBarItem from '{0}' with error message '{1}'.", assetName, errorMessage); }); }
//点击关于按钮 public void OnAboutButtonClick() { HotLog.Info("On Click About Button"); GameEntry.UI.OpenUIForm(UIFormID.AboutForm); }
//点击设置按钮 public void OnSettingButtonClick() { HotLog.Info("On Click Setting Button"); GameEntry.UI.OpenUIForm(UIFormID.SettingForm); }
private ProcedureMenu m_ProcedureMenu = null; //菜单流程管理 //点击开始游戏按钮 public void OnStartButtonClick() { HotLog.Info("On Click Start Button"); m_ProcedureMenu.StartGame(); }