public void Save() { int starUsageCount = m_Instance.m_StarUsageCount; for (int i = 0; i < starUsageCount; i++) { string strUsage = m_Instance.GetUsage(i); m_StringListBuffer.Add(strUsage); m_StringBuilder.Append(strUsage); m_StringBuilder.Append("."); m_StringBuilder.Append(m_Instance.m_StarsMaxCount[i]); m_Instance.ResetUsage(i, m_StringBuilder.ToString()); m_StringBuilder.Clear(); } CsvUtil.SaveObject(this, m_ArchiveFilePath); // 上面Save的时候加入了".",需要还原显示。 for (int i = 0; i < starUsageCount; i++) { m_Instance.ResetUsage(i, m_StringListBuffer[i]); } m_StringListBuffer.Clear(); }
public static void Reload() { m_Instance = new CustomStarUsage(); if (File.Exists(m_Instance.m_ArchiveFilePath)) { CsvUtil.LoadObject(m_Instance.m_ArchiveFilePath, ref m_Instance); } for (int i = 0; i < m_Instance.m_StarUsageCount; i++) { string strUsage = m_Instance.GetUsage(i); string[] strs = strUsage.Split('.'); if (strs.Length != 2) { Debug.LogError("Invalid star usage format: " + strUsage); break; } m_Instance.ResetUsage(i, strs[0]); if (!byte.TryParse(strs[1], out m_Instance.m_StarsMaxCount[i])) { Debug.LogError("Invalid star usage format: " + strUsage); break; } } }