public void ClickedEntry(SaveGameEntry p_saveGameEntry) { Texture mainTexture = m_defaultTexture; if (m_selectedEntry != null) { m_selectedEntry.SetSelected(false); } m_selectedEntry = p_saveGameEntry; if (m_selectedEntry != null) { m_selectedEntry.SetSelected(true); m_saveGameName.text = m_selectedEntry.Name; SaveGameMeta meta = p_saveGameEntry.Meta; TimeSpan playTime = meta.PlayTime; m_gameTimeLabel.text = LocaManager.GetText("SAVEGAMEMENU_GAMETIME_FORMAT", playTime.Days, playTime.Hours); m_difficultyLabel.text = LocaManager.GetText((meta.Difficulty != EDifficulty.NORMAL) ? "GUI_DIFFICULTY_WARRIOR" : "GUI_DIFFICULTY_ADVENTURER"); Byte[] saveGameImage = LegacyLogic.Instance.WorldManager.SaveGameManager.GetSaveGameImage(p_saveGameEntry.name); if (saveGameImage != null) { if (m_SavegamePreview == null) { m_SavegamePreview = new Texture2D(1, 1, TextureFormat.RGBA32, false); m_SavegamePreview.hideFlags = HideFlags.DontSave; } if (m_SavegamePreview.LoadImage(saveGameImage)) { mainTexture = m_SavegamePreview; } } else { m_gameTimeLabel.text = " - "; m_difficultyLabel.text = String.Empty; } Boolean state = LegacyLogic.Instance.WorldManager.SaveGameManager.SaveGameExists(p_saveGameEntry.name); if (!m_saveMenu) { NGUITools.SetActive(m_loadButton.gameObject, state); } } else { if (!m_saveMenu) { NGUITools.SetActive(m_loadButton.gameObject, false); } m_gameTimeLabel.text = " - "; m_difficultyLabel.text = String.Empty; m_saveGameName.text = LocaManager.GetText("SAVEGAMEMENU_SELECT_SAVEGAME"); } m_screenshot.mainTexture = mainTexture; UpdateDeleteButton(); }
private void Awake() { LegacyLogic.Instance.EventManager.RegisterEvent(EEventType.SAVEGAME_SAVED, new EventHandler(OnGameSaved)); for (Int32 i = 0; i < m_entriesPerPage; i++) { GameObject gameObject = NGUITools.AddChild(m_saveGameEntryList.gameObject, m_saveGameEntryPrefab); SaveGameEntry component = gameObject.GetComponent <SaveGameEntry>(); component.SetSelected(false); m_entries.Add(component); } }
private void OnDeleteRequestClosed(PopupRequest.EResultType p_result, String p_text) { if (p_result == PopupRequest.EResultType.CONFIRMED) { DeleteSelectedSaveGame(); m_selectedEntry.SetSelected(false); m_selectedEntry = null; m_saveGameName.text = LocaManager.GetText("SAVEGAMEMENU_SELECT_SAVEGAME"); m_screenshot.mainTexture = m_defaultTexture; m_gameTimeLabel.text = " - "; m_difficultyLabel.text = String.Empty; LoadSaveGameList(); } }
public void OnDoubleClick(SaveGameEntry p_entry) { if (m_selectedEntry != p_entry) { ClickedEntry(p_entry); } if (m_saveMenu) { if (m_saveButton.activeSelf) { OnClickedSave(gameObject); } } else if (m_loadButton.activeSelf) { OnClickedLoad(gameObject); } }
private void OnSaveNewSlotRequestClosed(PopupRequest.EResultType p_result, String p_saveGameName) { if (p_result == PopupRequest.EResultType.CONFIRMED) { if (CheckFileName(p_saveGameName)) { if (LegacyLogic.Instance.WorldManager.SaveGameManager.SaveGameExists(p_saveGameName)) { m_overrideName = p_saveGameName; m_confirmOverride = true; } else { SaveGame(p_saveGameName); m_selectedEntry = null; } } else { Debug.Log("Wrong Filename"); } } }
public void LoadSaveGameList() { Dictionary <String, SaveGameMeta> allSaveGames = LegacyLogic.Instance.WorldManager.SaveGameManager.GetAllSaveGames(m_saveMenu); List <SaveGameMeta> list = new List <SaveGameMeta>(allSaveGames.Values); if (list.Count == 0) { NGUITools.SetActive(m_loadButton, false); } m_maxPage = (Int32)(list.Count / (Single)m_entriesPerPage + 1f); if (list.Count % m_entriesPerPage == 0) { m_maxPage--; } m_page = Math.Min(m_page, m_maxPage); m_pageLabel.text = m_page + 1 + "/" + m_maxPage; NGUITools.SetActive(m_nextPageButton, m_page < m_maxPage - 1); NGUITools.SetActive(m_previousPageButton, m_page > 0); Int32 num = 0; Int32 num2 = 0; if (m_saveMenu) { num2 = 1; } if (!m_inMenu && m_saveMenu && m_page == 0) { m_entries[num].Init(this, LocaManager.GetText("SAVEGAME_MENU_NEW_SLOT"), default(SaveGameMeta), false); m_createNewSlotEntry = m_entries[num]; m_entries[num].SetVisible(true); ClickedEntry(m_entries[num]); num++; } list.Sort(new Comparison <SaveGameMeta>(SortMetasByDate)); for (Int32 i = 0; i < list.Count; i++) { SaveGameMeta p_meta = list[i]; if (i >= m_page * m_entriesPerPage - num2) { m_entries[num].Init(this, p_meta.Name, p_meta, true); m_entries[num].SetVisible(true); num++; } if (num >= m_entriesPerPage) { break; } } m_saveGameEntryList.Reposition(); for (Int32 j = num; j < m_entriesPerPage; j++) { m_entries[j].SetVisible(false); } if (!m_saveMenu || m_page > 0) { if (num > 0) { ClickedEntry(m_entries[0]); } else { ClickedEntry(null); } } UpdateDeleteButton(); if (LegacyLogic.Instance.WorldManager.SaveGameManager.CheckForError() != ESaveGameError.NONE) { String text = LocaManager.GetText("ERROR_POPUP_MESSAGE_CAPTION"); String text2 = LocaManager.GetText("SAVEGAME_ERROR_COULD_NOT_RECEIVE_SAVEGAMES"); PopupRequest.Instance.OpenRequest(PopupRequest.ERequestType.CONFIRM, text, text2, null); } }