// Update is called once per frame void Update() { if (mbEnabled) { mSpawnTimer += Time.deltaTime; if (mSpawnTimer >= mSpawnInterval) { GameObject trail = GameObject.Instantiate(mTrailObject); DashTrailObject trailObject = trail.GetComponent <DashTrailObject>(); trailObject.mRenderer.sprite = trailObject.sprPlayer[PlayerPrefs.GetInt(ContsInGame.ID_CHARACTER_CURRENT)]; trailObject.Initiate(mTrailTime, mLeadingSprite.sprite, this); trail.transform.position = transform.position; trail.transform.localScale = mLeadingSprite.gameObject.transform.localScale; mTrailObjects.Add(trail); mSpawnTimer = 0; } } }
// Update is called once per frame void Update() { if (mbEnabled) { mSpawnTimer += Time.deltaTime; if (mSpawnTimer >= mSpawnInterval) { GameObject trail = mTrailObjectsNotInUse.Dequeue(); if (trail != null) { DashTrailObject trailObject = trail.GetComponent <DashTrailObject>(); trailObject.Initiate(mTrailTime, mLeadingSprite.sprite, transform.position, this); mTrailObjectsInUse.Add(trail); mSpawnTimer = 0; } } } }
// Update is called once per frame void Update() { if (_drawTrail) { spawnTimer += Time.deltaTime; //TODO probably should spawn by distance traveled? if (spawnTimer >= spawnInterval) { GameObject trail = GetPooledTrailObject(); DashTrailObject trailObject = trail.GetComponent <DashTrailObject>(); trailObject.Initiate(trailTime, leadingSprite.sprite, transform.position, this); spawnTimer = 0; trailObject.GetComponent <SpriteRenderer>().sortingOrder = -1; for (int i = 0; i < trailObjectPool.Count; i++) { SpriteRenderer spriteRenderer = trailObjectPool[i].GetComponent <SpriteRenderer>(); spriteRenderer.sortingOrder -= 1; } } if (recolorExisting) { for (int i = 0; i < trailObjectPool.Count; i++) { DashTrailObject trailObject = trailObjectPool[i].GetComponent <DashTrailObject>(); trailObject.startColor = startColor; trailObject.endColor = endColor; } } } }