Example #1
0
        /// <summary>
        /// Called when a cube needs to spawn.
        /// The direction is randomized here.
        /// </summary>
        private void Spawn()
        {
            var pos = Vector3.forward * _zStart;
            var dir = (CubeDirection)Random.Range(0, 4);

            switch (dir)
            {
            case CubeDirection.Up:
                pos += Vector3.up * _distanceFromMiddle;
                break;

            case CubeDirection.Down:
                pos += Vector3.down * _distanceFromMiddle;
                break;

            case CubeDirection.Left:
                pos += Vector3.left * _distanceFromMiddle;
                break;

            case CubeDirection.Right:
                pos += Vector3.right * _distanceFromMiddle;
                break;
            }


            var cube = _objectManager.SpawnCube(pos, Quaternion.identity);

            cube.Direction = dir;
            _spawnedCubes++;
        }