[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); } } } } }
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); }
private void DesactivateItem(ParallaxItem item) { item.Desactivate(); }
private void ActivateItem(ParallaxItem item) { item.Activate(); }