Exemple #1
0
    [SerializeField] float speed = 0.0f; // must be the same as Carpet

    // Use this for initialization
    void Start()
    {
        lastSpawnTime = 0;
        nextSpawnTime = Random.Range(minTimeBetweenTwoSpawn, maxTimeBetweenTwoSpawn);

        parallaxItems = new List <ParallaxItem>();

        parallaxVariety = 3;

        lastItemIndex = new List <int>();

        for (int i = 0; i < sprites.Count; i++)
        {
            GameObject item = new GameObject("parallax_" + i);
            item.transform.parent        = this.transform;
            item.transform.localPosition = Vector3.zero;

            ParallaxItem itemScript = item.AddComponent <ParallaxItem>();
            itemScript.spriteRenderer        = item.AddComponent <SpriteRenderer>();
            itemScript.spriteRenderer.sprite = sprites[i];
            itemScript.speed = speed;

            parallaxItems.Add(itemScript);
        }
    }
    private void Update()
    {
        Vector2 movement = new Vector2(_speed.x * _direction.x, _speed.y * _direction.y);

        movement *= Time.deltaTime;

        _transform.Translate(movement);

        if (_isLooping)
        {
            ParallaxItem firstChild = _items.FirstOrDefault();

            if (firstChild != null)
            {
                if (firstChild.Transform.position.x < _mainCamera.transform.position.x)
                {
                    if (!firstChild.Renderer.isVisible)
                    {
                        ParallaxItem lastChild = _items.LastOrDefault();

                        Vector3 lastPosition = lastChild.Transform.position;
                        Vector3 lastSize     = (lastChild.Renderer.bounds.max - lastChild.Renderer.bounds.min);

                        firstChild.Transform.position = new Vector3(
                            lastPosition.x + lastSize.x,
                            firstChild.Transform.position.y,
                            firstChild.Transform.position.z);

                        _items.Remove(firstChild);
                        _items.Add(firstChild);
                    }
                }
            }
        }
    }
Exemple #3
0
        private List <ParallaxItem> SetParallaxItems(IQueryable <DynamicContent> items)
        {
            List <ParallaxItem> parallaxItems = new List <ParallaxItem>();

            foreach (var item in items)
            {
                ParallaxItem parallaxItem = new ParallaxItem();
                parallaxItem.Title   = item.GetValue <Lstring>("Title");
                parallaxItem.Details = item.GetValue <Lstring>("Details");
                IDataItem pageSelectorItem = item.GetRelatedItems("Url").FirstOrDefault();
                parallaxItem.ItemUrl = pageSelectorItem.GetDefaultUrl();
                //getting the image
                Image imageField = item.GetRelatedItems <Image>("Photo").SingleOrDefault();
                //getting the url
                parallaxItem.ImageUrl = imageField.Url;
                parallaxItem.ImageAlt = imageField.AlternativeText;
                parallaxItems.Add(parallaxItem);
            }

            return(parallaxItems);
        }
Exemple #4
0
 private void DesactivateItem(ParallaxItem item)
 {
     item.Desactivate();
 }
Exemple #5
0
 private void ActivateItem(ParallaxItem item)
 {
     item.Activate();
 }