Exemplo n.º 1
0
    public virtual void ResponseMatch(byte[] buffer)
    {
        try
        {
            ProtoGateServer.Match responseMatch = ProtoHelper.ToProto <ProtoGateServer.Match>(buffer);

            mErrorCode = responseMatch.err;

            if (mErrorCode == ProtoGateServer.ERROR_CODE.ERR_NONE)
            {
                if (onResponseMatch != null)
                {
                    onResponseMatch(responseMatch.ip, responseMatch.port, responseMatch.gameid);
                }
            }
            else
            {
                if (onResponseError != null)
                {
                    onResponseError(mErrorCode);
                }
            }
        }
        catch (Exception)
        {
        }
    }
Exemplo n.º 2
0
    public virtual void ResponseLogin(byte[] buffer)
    {
        try
        {
            ProtoGameServer.Login responseLogin = ProtoHelper.ToProto <ProtoGameServer.Login>(buffer);

            mErrorCode = responseLogin.err;

            if (mErrorCode == ProtoGameServer.ERROR_CODE.ERR_NONE)
            {
                mGUID  = responseLogin.guid;
                mFlags = (uint)ProtoGameServer.FLAGS_CODE.PLAYER_FLAGS_LOGIN;

                if (onResponseLogin != null)
                {
                    onResponseLogin();
                }
            }
            else
            {
                if (onResponseError != null)
                {
                    onResponseError(mErrorCode);
                }
            }
        }
        catch (Exception)
        {
        }
    }
    public virtual void ResponseCreateGame(byte[] buffer)
    {
        try
        {
            ProtoGameServer.CreateGame responseCreateGame = ProtoHelper.ToProto <ProtoGameServer.CreateGame>(buffer);

            mErrorCode = responseCreateGame.err;

            if (mErrorCode == ProtoGameServer.ERROR_CODE.ERR_NONE)
            {
                mGameID   = responseCreateGame.gameid;
                mHostGUID = responseCreateGame.host;
                DisableFlag(ProtoGameServer.FLAGS_CODE.PLAYER_FLAGS_READY);
                DisableFlag(ProtoGameServer.FLAGS_CODE.PLAYER_FLAGS_GAMING);

                if (onResponseCreateGame != null)
                {
                    onResponseCreateGame();
                }
            }
            else
            {
                if (onResponseError != null)
                {
                    onResponseError(mErrorCode);
                }
            }
        }
        catch (Exception)
        {
        }
    }
    public virtual void ResponseListGame(byte[] buffer)
    {
        try
        {
            ProtoGameServer.ListGame responseListGame = ProtoHelper.ToProto <ProtoGameServer.ListGame>(buffer);

            mErrorCode = responseListGame.err;

            if (mErrorCode == ProtoGameServer.ERROR_CODE.ERR_NONE)
            {
                if (onResponseListGame != null)
                {
                    onResponseListGame(responseListGame);
                }
            }
            else
            {
                if (onResponseError != null)
                {
                    onResponseError(mErrorCode);
                }
            }
        }
        catch (Exception)
        {
        }
    }
Exemplo n.º 5
0
    public virtual void ResponseLogin(byte[] buffer)
    {
        try
        {
            ProtoGateServer.Login responseLogin = ProtoHelper.ToProto <ProtoGateServer.Login>(buffer);

            mErrorCode = responseLogin.err;

            if (mErrorCode == ProtoGateServer.ERROR_CODE.ERR_NONE)
            {
                mGUID   = responseLogin.guid;
                mbLogin = true;

                if (onResponseLogin != null)
                {
                    onResponseLogin();
                }
            }
            else
            {
                if (onResponseError != null)
                {
                    onResponseError(mErrorCode);
                }
            }
        }
        catch (Exception)
        {
        }
    }
 public virtual void ResponseFlags(byte[] buffer)
 {
     try
     {
         ProtoGameServer.Flags responseFlags = ProtoHelper.ToProto <ProtoGameServer.Flags>(buffer);
         mFlags = (mFlags & 0xffff0000) | (responseFlags.flags & 0x0000ffff);
     }
     catch (Exception)
     {
     }
 }
Exemplo n.º 7
0
    public virtual void ResponseHeart(byte[] buffer)
    {
        try
        {
            ProtoGameServer.Heart responseHeart = ProtoHelper.ToProto <ProtoGameServer.Heart>(buffer);

            int timestamp = (int)(DateTime.Now.Ticks / 10000);
            mPing = timestamp - responseHeart.timestamp;
        }
        catch (Exception)
        {
        }
    }
    public virtual void ResponseSendToPlayer(byte[] buffer)
    {
        try
        {
            ProtoGameServer.SendToPlayer responseSendToPlayer = ProtoHelper.ToProto <ProtoGameServer.SendToPlayer>(buffer);

            if (onResponseSendToPlayer != null)
            {
                onResponseSendToPlayer(responseSendToPlayer.size, responseSendToPlayer.data);
            }
        }
        catch (Exception)
        {
        }
    }
    public virtual void ResponseCancelMatch(byte[] buffer)
    {
        try
        {
            ProtoGateServer.CancelMatch responseCancelMatch = ProtoHelper.ToProto <ProtoGateServer.CancelMatch>(buffer);

            if (onResponseCancelMatch != null)
            {
                onResponseCancelMatch();
            }
        }
        catch (Exception)
        {
        }
    }
    public virtual void ResponseExitGame(byte[] buffer)
    {
        try
        {
            ProtoGameServer.ExitGame responseExitGame = ProtoHelper.ToProto <ProtoGameServer.ExitGame>(buffer);

            mErrorCode = responseExitGame.err;

            if (mErrorCode == ProtoGameServer.ERROR_CODE.ERR_NONE)
            {
                if (mGUID == responseExitGame.guid)
                {
                    mPlayers.Clear();
                    mGameID   = 0xcccccccc;
                    mHostGUID = 0xcccccccc;
                    DisableFlag(ProtoGameServer.FLAGS_CODE.PLAYER_FLAGS_READY);
                    DisableFlag(ProtoGameServer.FLAGS_CODE.PLAYER_FLAGS_GAMING);
                }
                else
                {
                    mHostGUID = responseExitGame.host;

                    int index = 0;
                    while ((index = mPlayers.IndexOf(responseExitGame.guid)) >= 0)
                    {
                        mPlayers.RemoveAt(index);
                    }
                }

                if (onResponseExitGame != null)
                {
                    onResponseExitGame(responseExitGame.guid);
                }
            }
            else
            {
                if (onResponseError != null)
                {
                    onResponseError(mErrorCode);
                }
            }
        }
        catch (Exception)
        {
        }
    }
Exemplo n.º 11
0
    public virtual void ResponseEnterGame(byte[] buffer)
    {
        try
        {
            ProtoGameServer.EnterGame responseEnterGame = ProtoHelper.ToProto <ProtoGameServer.EnterGame>(buffer);

            mErrorCode = responseEnterGame.err;

            if (mErrorCode == ProtoGameServer.ERROR_CODE.ERR_NONE)
            {
                if (mGUID == responseEnterGame.guid)
                {
                    mGameID   = responseEnterGame.gameid;
                    mHostGUID = responseEnterGame.host;
                    DisableFlag(ProtoGameServer.FLAGS_CODE.PLAYER_FLAGS_READY);
                    DisableFlag(ProtoGameServer.FLAGS_CODE.PLAYER_FLAGS_GAMING);
                }
                else
                {
                    if (mPlayers.IndexOf(responseEnterGame.guid) < 0)
                    {
                        mPlayers.Add(responseEnterGame.guid);
                    }
                }

                if (onResposneEnterGame != null)
                {
                    onResposneEnterGame(responseEnterGame.guid);
                }
            }
            else
            {
                if (onResponseError != null)
                {
                    onResponseError(mErrorCode);
                }
            }
        }
        catch (Exception)
        {
        }
    }