コード例 #1
0
        private JsonVector ReadVector()
        {
            JsonVector ret = new JsonVector();

            while (true)
            {
                JsonScannerToken token = GetToken();
                if (token.Type == eTokenType.FechaColchetes)
                {
                    return(ret);
                }
                PushToken(token);
                ret.Add(InternalReadValue());
                token = GetToken();
                if (token.Type == eTokenType.FechaColchetes)
                {
                    return(ret);
                }
                if (token.Type == eTokenType.Virgula)
                {
                    continue;
                }
                throw ReturnError("Item de vetor inválido");
            }
        }
コード例 #2
0
    public TrajectoryProvider()
    {
        StreamReader reader = new StreamReader(path);  //Read the text from directly from the test file
        var          text   = reader.ReadToEnd();

        positions = JsonUtility.FromJson <JsonVector>(text);

        reader.Close();
    }
コード例 #3
0
    void getCommands()
    {
        while (true)
        {
            try
            {
                data       = socket.Receive(ref ipAddressEndPoint);
                dataString = Encoding.UTF8.GetString(data);

                JsonVector jsonvector = JsonConvert.DeserializeObject <JsonVector>(dataString);
                //input.Cyclic = new Vector2(input.Cyclic.x,1);
                //
                //List<string> jsonToArray = JsonConvert.DeserializeObject<List<string>>(dataString);
                var jsonData = JsonConvert.DeserializeObject <Dictionary <string, List <float> > >(dataString);

                //List<string> vector = jsonData["vector"][0].Value<List<string>>();
                if (jsonData.ContainsKey("vector"))
                {
                    Vector3 enqueuedestination = new Vector3(jsonData["vector"][0], jsonData["vector"][1], jsonData["vector"][2]);
                    cqDestinations.Enqueue(enqueuedestination);
                }
                else if (jsonData.ContainsKey("lookat"))
                {
                    Vector3 enqueulookat = new Vector3(jsonData["lookat"][0], jsonData["lookat"][1], jsonData["lookat"][2]);
                    cqLookAt.Enqueue(enqueulookat);
                }
                else if (jsonData.ContainsKey("photo"))
                {
                    takePhoto = Convert.ToBoolean(jsonData["photo"][0]);
                }
                //cqDestinations.Enqueue(enqueuedestination);
                //Debug.Log(enqueuedestination);
            }
            catch (SocketException ex)
            {
                Debug.Log(ex.Message);
            }
        }
    }
コード例 #4
0
        private Task Instantiate()
        {
            return(new Task()
            {
                Mission = "Instantiate",
                Action = (seekTo, currentTask, nextTask, delivery) =>
                {
                    JsonBundle avatarBundle = Cache.Bundle_Cache.FirstOrDefault(b => b.pk == Variables.Current_Mojo.character.pk && b.type == BundleType.AVATAR);
                    JsonBundle animatorBundle = Cache.Bundle_Cache.FirstOrDefault(b => b.pk == Variables.Current_Mojo.soundtrack.animator.pk && b.type == BundleType.ANIMATOR);
                    JsonBundle skyboxBundle = Cache.Bundle_Cache.FirstOrDefault(b => b.pk == Variables.Current_Mojo.soundtrack.skybox.pk && b.type == BundleType.SKYBOX);
                    JsonBundle environmentBundle = Cache.Bundle_Cache.FirstOrDefault(b => b.pk == Variables.Current_Mojo.soundtrack.environment.pk && b.type == BundleType.ENVIRONMENT);

                    Objects.Environment = MonoBridge.Instantiate("Environment", environmentBundle.bundle.LoadAllAssets <GameObject>()[0]);

                    Objects.Environment.transform.localPosition = new Vector3(0, 0, 0);
                    Objects.Environment.transform.localEulerAngles = new Vector3(0, 0, 0);
                    Objects.Environment.transform.localScale = new Vector3(1, 1, 1);

                    Objects.Avatar = MonoBridge.Instantiate("Avatar", avatarBundle.bundle.LoadAllAssets <GameObject>()[0]);

                    Objects.Avatar.transform.localPosition = new Vector3(0, 0, 0);
                    Objects.Avatar.transform.localEulerAngles = new Vector3(0, 0, 0);
                    Objects.Avatar.transform.localScale = new Vector3(1, 1, 1);

                    Objects.Transform = GameObject.Find("Transform");

                    JsonVector position = Variables.Current_Mojo.soundtrack.position;
                    JsonVector rotation = Variables.Current_Mojo.soundtrack.rotation;
                    JsonVector scale = Variables.Current_Mojo.soundtrack.scale;

                    Objects.Transform.transform.localPosition = new Vector3(position.x, position.y, position.z);
                    Objects.Transform.transform.localEulerAngles = new Vector3(rotation.x, rotation.y, rotation.z);
                    Objects.Transform.transform.localScale = new Vector3(scale.x, scale.y, scale.z);

                    Objects.Body = GameObject.Find("Body");

                    Objects.Animator = Objects.Body.GetComponent <Animator>();
                    if (Objects.Animator == null)
                    {
                        Objects.Animator = Objects.Body.AddComponent <Animator>();
                    }

                    Objects.Animator.runtimeAnimatorController = animatorBundle.bundle.LoadAllAssets <RuntimeAnimatorController>()[0];
                    Objects.Animator.applyRootMotion = true;
                    Objects.Animator.cullingMode = AnimatorCullingMode.AlwaysAnimate;

                    RenderSettings.skybox = skyboxBundle.bundle.LoadAllAssets <Material>()[0];

                    AudioClip audio = Cache.Audio_Cache.FirstOrDefault(a => a.pk == Variables.Current_Mojo.soundtrack.pk).clip;

                    Objects.AudioSource.clip = audio;
                    Objects.AudioSource.loop = Variables.Current_Mojo.soundtrack.loop;
                    Objects.AudioSource.Play();

                    new DownCounter()
                    {
                        Material = new DownCounterMaterial()
                        {
                            Seconds = Variables.Current_Mojo.soundtrack.length
                        },
                        Delay = 1,
                        Condition = (material) =>
                        {
                            if (Objects.Body == null)
                            {
                                return false;
                            }

                            if (Variables.Current_Mojo.soundtrack.loop)
                            {
                                if (material.Seconds == 0)
                                {
                                    material.Seconds = Variables.Current_Mojo.soundtrack.length;
                                }

                                return true;
                            }
                            else
                            {
                                return material.Seconds != 0;
                            }
                        },
                        OnFinish = () =>
                        {
                            if (Variables.Current_Mojo.soundtrack.touch)
                            {
                                Events.Listeners.FirstOrDefault(l => l.Name == "On_Swiping_Horizontally").Enabled = false;
                                Events.Listeners.FirstOrDefault(l => l.Name == "Swipe_Listener").Remove = true;
                            }

                            new StateBroadcaster()
                            {
                                Material = new StateBroadcasterMaterial()
                                {
                                    State = "Preview_Back"
                                },
                                OnFinish = () =>
                                {
                                    Variables.UI["pnlApp"].Object.transform.SetAsLastSibling();

                                    new StateBroadcaster()
                                    {
                                        Material = new StateBroadcasterMaterial()
                                        {
                                            State = "App"
                                        },
                                        OnFinish = () =>
                                        {
                                            MonoBridge.Destroy(Objects.Environment);
                                            MonoBridge.Destroy(Objects.Avatar);
                                            Objects.AudioSource.Stop();

                                            Variables.UI["pnlPreviewFrame"].Destroy();
                                            Variables.UI["pnlKeyboard"].Object.transform.SetAsLastSibling();
                                        }
                                    }
                                    .Broadcast();
                                }
                            }
                            .Broadcast();
                        }
                    }
                    .Start();

                    Objects.Mojo_Camera.transform.localRotation = Quaternion.Euler(0, 0, 0);

                    nextTask(null);
                }
            });
        }