FunDedicatedServerRpcMessage onEcho(string type, FunDedicatedServerRpcMessage request)
        {
            EchoDedicatedServerRpcMessage echo = new EchoDedicatedServerRpcMessage();

            echo.message = "echo from client";

            return(FunapiDSRpcMessage.CreateMessage(echo, MessageType.echo_ds_rpc));;
        }
        FunDedicatedServerRpcMessage onNavRequest(string type, FunDedicatedServerRpcMessage request)
        {
            NavRequest req = FunapiDSRpcMessage.GetMessage <NavRequest>(request, MessageType.nav_request);
            // NavMeshAgent.CalculatePath(req.destination, path);

            NavReply reply = new NavReply();

            // For the test
            Vector3[] corners = new [] { Vector3.zero, Vector3.one, Vector3.back };
            for (int i = 0; i < corners.Length; ++i)
            {
                NavVector3 point = new NavVector3();
                point.x = corners[i].x;
                point.y = corners[i].y;
                point.z = corners[i].z;
                reply.waypoints.Add(point);
            }

            return(FunapiDSRpcMessage.CreateMessage(reply, MessageType.nav_reply));
        }