示例#1
0
    public override void disconnect()
    {
        if (!isConnected())
        {
            log("asking for disconnection but not connected");
            return;
        }

        Debug.Assert(unetClient != null);

        //unetClient.Disconnect();
        //https://answers.unity.com/questions/1281928/unet-handle-client-disconnection.html
        //https://forum.unity.com/threads/how-to-disconnect-clients-properly.393416/
        //NetworkManager.singleton.StopClient();

        log("this client is <b>sending disconnection message</b> to server ...");

        //tell server
        NwkMessageComplexe msg = new NwkMessageComplexe();

        msg.getIdCard().setupId(nwkUid, (int)eNwkMessageType.DISCONNECTION);

        sendWrapperClient.sendClientToServer(msg);

        //Debug.Log(unetClient.isConnected);

        //StopAllCoroutines(); // previous ?
        if (coproDisco != null)
        {
            StopCoroutine(coproDisco);
        }
        coproDisco = StartCoroutine(processDisconnection());
    }
示例#2
0
    override protected void solveComplexe(NwkMessageComplexe message, int connID)
    {
        eNwkMessageType mtype = (eNwkMessageType)message.getIdCard().getMessageType();

        switch (mtype)
        {
        case eNwkMessageType.NONE: break;

        default: throw new NotImplementedException("complexe not implem " + mtype);
        }
    }
示例#3
0
 protected override void solveComplexe(NwkMessageComplexe message, int connID)
 {
     throw new NotImplementedException();
 }
示例#4
0
 abstract protected void solveComplexe(NwkMessageComplexe message, int connID);