internal RealTimeHandler(StartPayload payload)
        {
            CurrentRoom = payload.Room;
            AuthHash    = payload.Area.Hash;

            _connGateway = new GsUdpClient(payload.Area);
            _connGateway.DataReceived += OnDataReceived;
            _connGateway.Error        += OnError;

            _observer        = new GsLiveSystemObserver(GSLiveType.RealTime);
            _dataObserver    = new RealtimeDataObserver();
            _keepAliveSender = new KeepAliveSender();

            _isDisposed = false;
            PlayerHash  = -1;

            // Set Internal Event Handlers
            RealTimeEventHandlers.Authorized               += OnAuth;
            RealTimeEventHandlers.MemberId                 += OnMemberId;
            RealTimeEventHandlers.GProtocolConnected       += OnConnected;
            RealTimeEventHandlers.LeftDispose              += OnLeftDispose;
            RealTimeEventHandlers.PeerConfig               += OnPeerConfig;
            ObserverCompacterUtil.SendObserverEventHandler += SendObserverEventHandler;
            RealtimeDataObserver.Caller += DataGetter;
            KeepAliveSender.Caller      += SendKeepAlive;


            InitRequestMessageHandlers();
            InitResponseMessageHandlers();

            DebugUtil.LogNormal <RealTimeHandler>(DebugLocation.RealTime, "Constructor", "RealTimeHandler init");
        }
        internal CommandHandler()
        {
            _observer    = new GsLiveSystemObserver(GSLiveType.Command);
            _isDisposed  = false;
            _isFirstInit = false;

            InitRequestMessageHandlers();
            InitResponseMessageHandlers();

            PingUtil.Init();

            // Set Internal Event Handlers
            CommandEventHandlers.CommandPing       += OnPing;
            CommandEventHandlers.CommandAuthorized += OnAuth;
            CommandEventHandlers.CommandMirror     += OnMirror;
            PingUtil.RequestPing += RequestPing;
            CommandEventHandlers.GsCommandClientConnected += OnGsTcpClientConnected;
            CommandEventHandlers.GsCommandClientError     += OnGsTcpClientError;

            DebugUtil.LogNormal <CommandHandler>(DebugLocation.Command, "Constructor", "CommandHandler Initialized");
        }
Beispiel #3
0
        internal TurnBasedHandler(StartPayload payload)
        {
            switch (payload.Area.Protocol)
            {
            case GsEncryptor.TcpSec:
                _connGateway = new GsTcpClient(payload.Area);
                break;

            case GsEncryptor.WebSocketSec:
                _connGateway = new GsWebSocketClient(payload.Area);
                break;
            }

            CurrentRoom = payload.Room;
            _connGateway.DataReceived += OnDataReceived;

            _cancellationToken = new CancellationTokenSource();
            _observer          = new GsLiveSystemObserver(GSLiveType.TurnBased);
            _callerUtil        = new ObjectCallerUtil(TurnBasedConst.ConnectivityCheckInterval, null);
            _isDisposed        = false;


            // Set Internal Event Handlers
            TurnBasedEventHandlers.TurnBasedPing              += OnPing;
            TurnBasedEventHandlers.TurnBasedAuthorized        += OnAuth;
            TurnBasedEventHandlers.LeftDispose                += OnLeftDispose;
            TurnBasedEventHandlers.GsTurnBasedClientConnected += OnGsTcpClientConnected;
            TurnBasedEventHandlers.GsTurnBasedClientError     += OnGsTcpClientError;
            TurnBasedEventHandlers.TurnBasedMirror            += TurnBasedMirror;
            _callerUtil.Caller += RequestPing;


            InitRequestMessageHandlers();
            InitResponseMessageHandlers();

            DebugUtil.LogNormal <TurnBasedHandler>(DebugLocation.TurnBased, "Constructor", "TurnBasedHandler Init");
        }