public void LoadScene(int levelId, Action callback = null) { PlayerData.Instance.CurPlayerInfo.CurLevelId = levelId; string levelName = "Level_" + levelId; var levelCfg = LevelConfig.GetData(levelId); UICallBack uiCallback = (args) => { SceneManager.LoadScene(levelName); if (!string.IsNullOrEmpty(levelCfg.BGM)) { AudioManager.Instance.PlayBGM(levelCfg.BGM); } callback?.Invoke(); UIManager.Instance.CloseWindow <UILoadingWindow>(); }; UIManager.Instance.OpenWindow <UILoadingWindow>(true, uiCallback); }
public void Init(int index, PlayerInfo info) { Button_DeleteArchive.onClick.RemoveAllListeners(); Button_ClickArchive.onClick.RemoveAllListeners(); _index = index; _info = info; if (info == null) { Button_DeleteArchive.gameObject.SetActive(false); Text_LevelName.text = ""; Image_Level.sprite = null; Text_PlayTimeLong.text = ""; GameObject_NullArchive.SetActive(true); } else { if (_index != info.SaveId) { throw new System.Exception("存档位置不匹配"); } Button_DeleteArchive.gameObject.SetActive(true); AddButtonListen(Button_DeleteArchive, OnClickButtonDeletePlayerInfo); int hours = _info.GameTimeMinutes / 60; if (hours > 0) { int minutes = (_info.GameTimeMinutes - hours * 60); Text_PlayTimeLong.text = hours + "h:" + minutes + "m"; } else { Text_PlayTimeLong.text = _info.GameTimeMinutes + "m"; } LevelConfig levelCfg = LevelConfig.GetData(info.CurLevelId); Image_Level.sprite = ResourceManager.Load <Sprite>("Sprites/" + levelCfg.TitleIcon); Text_LevelName.text = levelCfg.Name; GameObject_NullArchive.SetActive(false); } AddButtonListen(Button_ClickArchive, OnClickButtonEnterGame); }