public static Tweener DOFade(this Renderer rend, float endValue, float duration) { if (rend == null) { Debug.LogWarning("Renderer was null."); return(null); } if (rend is SpriteRenderer) { return(SpriteRendererExtensions.DOFade((SpriteRenderer)rend, endValue, duration)); } else if (rend is MeshRenderer) { var textMesh = rend.GetComponent <TextMesh>(); if (textMesh != null) { return(textMesh.DOFade(endValue, duration)); } else { return(((MeshRenderer)rend).material.DOFade(endValue, duration)); } } else { throw new Exception("Unsupported Renderer type: " + rend.GetType().FullName); } }
public virtual void Start() { var gameStateObject = GameObject.FindGameObjectWithTag(GameTags.GameState); SpriteRendererExtensions.CollectSpriteRenderers(gameObject, _renderers); // scale the hitpoints per level if (gameStateObject != null) { var levelScaling = gameStateObject.GetComponent <GameStateBehaviour>()._levelScale; _maxHitpoints = _maxHitpoints + _hitpointsScalePerLevel * levelScaling; _hitpoints = _hitpoints + _hitpointsScalePerLevel * levelScaling; } else { _hitpoints = _maxHitpoints; } var itemSpawnerObject = GameObject.FindGameObjectWithTag(GameTags.ItemSpawner); if (itemSpawnerObject != null) { _itemSpawner = itemSpawnerObject.GetComponent <ItemDropBehaviour>(); } }
public void Update() { // update the hit cue (coloring) if it applies if (Time.time - _lastHitTime < _onHitDuration) { var value = ((Time.time - _lastHitTime) / _onHitDuration); SpriteRendererExtensions.LerpColor(_renderers, _onHitColor, value); } }