Пример #1
0
        public void TestServicesBasic()
        {
            string brainUid    = System.Guid.NewGuid().ToString();
            string agentUid    = System.Guid.NewGuid().ToString();
            string brainSource = @"
function updateAgent(state) {
  const v = callVoosService('vec123');
  state.floatsOut = [v.x, v.y, v.z];
}
";

            Debug.Assert(V8InUnity.Native.ResetBrain(brainUid, brainSource));
            TestAgentRequest req;

            req.floats = new float[0];
            var cbs = new Native.UpdateCallbacks();

            cbs.callService = TestCallServiceCallback;
            var maybeResponse = V8InUnity.Native.UpdateAgent <TestAgentRequest, TestAgentResponse>(brainUid, agentUid, req, cbs);

            Debug.Assert(!maybeResponse.IsEmpty());
            TestAgentResponse res = maybeResponse.Get();

            Debug.Assert(res.floatsOut[0] == 1f);
            Debug.Assert(res.floatsOut[1] == 2f);
            Debug.Assert(res.floatsOut[2] == 3f);
        }
Пример #2
0
        static void TestAgentUpdate()
        {
            string brainUid    = System.Guid.NewGuid().ToString();
            string agentUid    = System.Guid.NewGuid().ToString();
            string brainSource = @"
function updateAgent(state) {
  state.floatsOut = state.floats.map(x => Math.floor(x));
  state.floats = undefined;
}
";

            Debug.Assert(V8InUnity.Native.ResetBrain(brainUid, brainSource));
            TestAgentRequest req;

            req.floats = new float[] { 3.5f, 4.5f };
            var maybeResponse = V8InUnity.Native.UpdateAgent <TestAgentRequest, TestAgentResponse>(brainUid, agentUid, req, new Native.UpdateCallbacks());

            Debug.Assert(!maybeResponse.IsEmpty());
            TestAgentResponse res = maybeResponse.Get();

            Debug.Assert(res.floatsOut[0] == 3f);
            Debug.Assert(res.floatsOut[1] == 4f);
        }