Esempio n. 1
0
    public override IEnumerator GenerateString()
    {
        while (true)
        {
            yield return(new WaitForSeconds(Random.Range(1f, MaxDelay + 1)));

            if (BinaryCharacters.Length == 0 || specialCharacters.Length == 0)
            {
                yield return(null);
            }
            int randomSpawnPosition = Random.Range(0, spawnPosition.Length);

            Vector2    headPos   = spawnPosition[randomSpawnPosition];
            GameObject _go       = Instantiate <GameObject>(StringWormParent, spawnPosition[randomSpawnPosition], Quaternion.identity);
            int        randomNum = Random.Range(MinNumberOfCharacterInString, MaxNumberOfCharacterInString + 1);

            GameObject   head         = Instantiate <GameObject>(BinaryCharacters[Random.Range(0, BinaryCharacters.Length)], spawnPosition[randomSpawnPosition], Quaternion.identity, _go.transform);
            HeadMovement headMovement = head.AddComponent <HeadMovement>();
            Vector2      lastPosition = spawnPosition[randomSpawnPosition];

            // Generate special characters
            for (int _indx = 1; _indx < randomNum - 1; _indx++)
            {
                int randomChar = Random.Range(0, specialCharacters.Length);
                lastPosition = SpawnPosition(lastPosition);
                GameObject go = Instantiate <GameObject>(specialCharacters[randomChar], lastPosition, Quaternion.identity, _go.transform);
                headMovement.TailTransforms.Add(go.transform);
            }

            GameObject end = Instantiate <GameObject>(BinaryCharacters[Random.Range(0, BinaryCharacters.Length)], SpawnPosition(lastPosition), Quaternion.identity, _go.transform);
            headMovement.TailTransforms.Add(end.transform);
        }
    }
Esempio n. 2
0
 public void GameSetup(GameObject snakePrefab)
 {
     snakeHead = Object.Instantiate(snakePrefab, Vector3.zero, Quaternion.identity).GetComponent <HeadMovement>();
     snakeHead.GetComponent <SnakePartController>().CreateSnakePart();
     snakeHead.GetComponent <SnakePartController>().CreateSnakePart();
     SpawnFood();
 }
Esempio n. 3
0
    void Update()
    {
        if (changePos >= 0)
        {
            userObject = (changePos == 0) ? GameObject.Find("ExpoCyber"):GameObject.Find("user" + changePos);

            moveNeck = userObject.transform.Find("Armature").gameObject.transform.Find("Hips").gameObject;
            moveNeck = moveNeck.transform.Find("Spine").gameObject.transform.Find("Chest").gameObject;
            moveNeck = moveNeck.transform.Find("Neck").gameObject.transform.Find("Head").gameObject;

            moveNeck.transform.rotation = Quaternion.Euler(headAngle);
        }

        if (!init && act)
        {
            userPos = (UserPosition)FindObjectOfType(typeof(UserPosition));
            head    = (HeadMovement)FindObjectOfType(typeof(HeadMovement));
            neck    = head.neck;
            api     = (ApiPdf)FindObjectOfType(typeof(ApiPdf));
            init    = true;

            SetImgUri();
        }
        else if (act)
        {
            SetImgUri();
        }

        if (delAct)
        {
            delAct = false;
            userPos.DeleteUser(delPos);
        }

        if (newAct)
        {
            Debug.Log("yonderuuu");
            newAct = false;
            userPos.CreateUser(newPos);
        }

        string data = "{ \"topic\":\"rooms:vr_presentation\", \"ref\":1, \"payload\":{ \"token\":\"" +
                      _token + "\", \"seat_position\": " + _seat + ", \"head_position\": { \"x\": 0, \"y\": 0, \"z\"" +
                      ": 0 }, \"angle\": { \"x\": " + neck.transform.localEulerAngles.x +
                      ", \"y\": " + neck.transform.localEulerAngles.y + ", \"z\": " + neck.transform.localEulerAngles.z +
                      " },\"name\":\"" + guiContoller.username + "\"},\"event\":\"presenter:motion\"}";

        if (send)
        {
            ws.Send(data);
        }

        if (Input.GetKeyUp("s") && send)
        {
            string stream = "{\"topic\":\"rooms:vr_presentation\", \"ref\":1, \"payload\":{\"user\":\"" + guiContoller.username + "\",\"body\":\"chat - message\"}, \"event\":\"new:message\"}";

            ws.Send(stream);
        }
    }
Esempio n. 4
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        Debug.Log("destroyed object");
        HeadMovement hm = collision.gameObject.GetComponent <HeadMovement>();

        if (hm != null)
        {
            Destroy(hm.transform.parent);
        }
    }
Esempio n. 5
0
        /// <summary>
        ///   Calibrates the specified movement using current positions.
        /// </summary>
        /// <param name="movement">The movement to be calibrated.</param>
        ///
        public virtual void Calibrate(HeadMovement movement)
        {
            switch (movement)
            {
            case HeadMovement.Left:
                XAxisMin = tracker.TrackingObject.Center.X;
                break;

            case HeadMovement.Right:
                XAxisMax = tracker.TrackingObject.Center.X;
                break;

            case HeadMovement.Up:
                YAxisMax = tracker.TrackingObject.Center.Y;
                break;

            case HeadMovement.Down:
                YAxisMin = tracker.TrackingObject.Center.Y;
                break;

            case HeadMovement.Forward:
                ScaleMax = Math.Sqrt(tracker.TrackingObject.Area);
                break;

            case HeadMovement.Backward:
                ScaleMin = Math.Sqrt(tracker.TrackingObject.Area);
                break;

            case HeadMovement.TiltLeft:
                AngleMin = tracker.TrackingObject.Angle;
                break;

            case HeadMovement.TiltRight:
                AngleMax = tracker.TrackingObject.Angle;
                break;
            }
        }
Esempio n. 6
0
        /// <summary>
        ///   Calibrates the specified movement using current positions.
        /// </summary>
        /// <param name="movement">The movement to be calibrated.</param>
        /// 
        public virtual void Calibrate(HeadMovement movement)
        {
            switch (movement)
            {
                case HeadMovement.Left:
                    XAxisMin = tracker.TrackingObject.Center.X;
                    break;

                case HeadMovement.Right:
                    XAxisMax = tracker.TrackingObject.Center.X;
                    break;

                case HeadMovement.Up:
                    YAxisMax = tracker.TrackingObject.Center.Y;
                    break;

                case HeadMovement.Down:
                    YAxisMin = tracker.TrackingObject.Center.Y;
                    break;

                case HeadMovement.Forward:
                    ScaleMax = Math.Sqrt(tracker.TrackingObject.Area);
                    break;

                case HeadMovement.Backward:
                    ScaleMin = Math.Sqrt(tracker.TrackingObject.Area);
                    break;

                case HeadMovement.TiltLeft:
                    AngleMin = tracker.TrackingObject.Angle;
                    break;

                case HeadMovement.TiltRight:
                    AngleMax = tracker.TrackingObject.Angle;
                    break;
            }
        }
Esempio n. 7
0
 void Awake()
 {
     head = GetComponent <HeadMovement>();
 }
Esempio n. 8
0
 // Use this for initialization
 void Start()
 {
     cController  = gameObject.GetComponent <CharacterController>();
     headMovement = gameObject.transform.GetComponentInChildren <HeadMovement>();
 }
Esempio n. 9
0
 private void Start()
 {
     head = GetComponent <HeadMovement>();
 }