服务器启动错误

时间:2016-01-21 02:23:03

标签: c#

尝试添加清除计时器(游戏功能)时服务器启动错误似乎不允许服务器访问?

PurgeTimer:

using System;
using System.Threading;

using System.Collections.Concurrent;
using Plus.HabboHotel.GameClients;
using Plus.HabboHotel.Rooms;

namespace Plus.HabboHotel.Minigames.Purge
{
    /// <summary>
    /// This will do a countdown before the match starts
    /// </summary>
    public class PurgeTimer
    {
        /// <summary>
        /// Timer for our operation
        /// </summary>
        private Timer Timer;

        public bool On = false;

        /// <summary>
        /// Constructor
        /// </summary>
        public PurgeTimer()
        {
            // Method to call when completed
            TimerCallback TimerCallback = Ticked;

            // Create a new instance of timer
            Timer = new Timer(TimerCallback, null, 30000, Timeout.Infinite);
        }

        /// <summary>
        /// Method is call when timer is finished
        /// </summary>
        /// <param name="info">The information</param>
        public void Ticked(object info)
        {
            try
            {

                if (PurgeManager.Running)
                {
                    foreach (GameClient client in PlusEnvironment.GetGame().GetClientManager()._clients.Values)
                    {
                        try
                        {
                            if (client == null)
                            {
                                continue;
                            }

                            client.SendWhisper("[Automatic Event Alert]: The hotel is currently under Purge Mode. All crime is legal.");

                        }
                        catch (Exception e)
                        {

                        }
                    }

                    Timer.Change(30000, Timeout.Infinite);
                }
                else
                {

                    return;
                }
            }
            catch { }
        }
    }
}

PurgeManager:

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Plus.HabboHotel.Minigames.Purge;
using System.Threading.Tasks;

namespace Plus.HabboHotel.Minigames.Purge
{
    public class PurgeManager
    {
        public static PurgeTimer MainTimer;
        public static bool Running;
    }
}

错误: http://prntscr.com/9ss0qb我无法获得,但无法访问!

2 个答案:

答案 0 :(得分:0)

首先,请将错误直接发布到问题中,而不是链接图像。

错误Plus.HabboHotel.GameClients.GameClientManager._clients is inaccessible due to its protection level似乎很清楚。根据使用的命名惯例,我猜测_clients集合是私有的。

答案 1 :(得分:0)

这是你的问题。

GameClientManager课程中,您尝试访问私人字段。

private ConcurrentDictionary<int, GameClient> _clients;

有关您的问题的详细信息,请查看此内容。 What are Access Modifiers in C#?