示例#1
0
    IEnumerator CallRemote()
    {
        while (true)
        {
            float x       = transform.position.x;
            float y       = transform.position.z;
            float heading = transform.eulerAngles.y;

            status = RPC.Instance.ExecuteMethod <SwerveStatus>(objectName, "getStatus",
                                                               new string[] { "java.lang.Double", "java.lang.Double", "java.lang.Double", "java.lang.Double", "java.lang.Double" },
                                                               new object[] { x, y, heading, rb.velocity.x, rb.velocity.z });
            yield return(new WaitForSeconds(0.05f));
        }
    }
示例#2
0
    IEnumerator CallRemote()
    {
        while (true)
        {
            float x       = Input.GetAxis("Horizontal");
            float y       = Input.GetAxis("Vertical");
            float turn    = Input.GetAxis("Turn") / 2f;
            float heading = transform.eulerAngles.y;

            RPC.Instance.ExecuteMethod <object>(remoteGyroName, "setHeading", new string[] { "java.lang.Double" }, new object[] { heading });

            status = RPC.Instance.ExecuteMethod <SwerveStatus>(objectName, "getStatus",
                                                               new string[] { "java.lang.Double", "java.lang.Double", "java.lang.Double" },
                                                               new object[] { x, y, turn });

            RPC.Instance.ExecuteMethod <SwerveStatus>(objectName, "updateOdometry",
                                                      new string[] { "java.lang.Double", "java.lang.Double", "java.lang.Double", "java.lang.Double" },
                                                      new object[] { lfEncoder.GetTangentialVelocity(), rfEncoder.GetTangentialVelocity(), lrEncoder.GetTangentialVelocity(), rrEncoder.GetTangentialVelocity() });
            yield return(new WaitForSeconds(0.01f));
        }
    }