public static void LBSDeserialize(GenericReader reader) { int version = reader.ReadInt(); switch(version) { case 1: m_SystemBroadcast = reader.ReadBool(); goto case 0; case 0: bool running = reader.ReadBool(); m_LeaderboardSaveInterval = reader.ReadTimeSpan(); m_LeaderboardSaveRanks = reader.ReadInt(); m_LeaderboardFile = reader.ReadString(); if (running) { if (m_LeaderboardTimer != null) m_LeaderboardTimer.Stop(); m_LeaderboardTimer = new LeaderboardTimer(m_LeaderboardFile, m_LeaderboardSaveInterval, m_LeaderboardSaveRanks); m_LeaderboardTimer.Start(); } break; } }
public static void LeaderboardSave_OnCommand(CommandEventArgs e) { if (e.Arguments.Length > 0) { if (m_LeaderboardTimer != null) m_LeaderboardTimer.Stop(); if (e.Arguments[0].ToLower() != "off") { m_LeaderboardFile = e.Arguments[0]; if (e.Arguments.Length > 1) { try { m_LeaderboardSaveInterval = TimeSpan.FromMinutes(double.Parse(e.Arguments[1])); } catch { } } if (e.Arguments.Length > 2) { try { m_LeaderboardSaveRanks = int.Parse(e.Arguments[2]); } catch { } } m_LeaderboardTimer = new LeaderboardTimer(m_LeaderboardFile, m_LeaderboardSaveInterval, m_LeaderboardSaveRanks); m_LeaderboardTimer.Start(); } } if (m_LeaderboardTimer != null && m_LeaderboardTimer.Running) { e.Mobile.SendMessage("Leaderboard is saving to {0} every {1} minutes. Nranks = {2}", m_LeaderboardFile, m_LeaderboardSaveInterval.TotalMinutes, m_LeaderboardSaveRanks); } else { e.Mobile.SendMessage("Leaderboard saving is off."); } }