Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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.");
            }
        }