コード例 #1
0
        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();
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
 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();
     }
 }
コード例 #4
0
 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);
     }
 }
コード例 #5
0
 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");
         }
     }
 }
コード例 #6
0
        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);
            }
        }