Пример #1
0
    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);
        }
    }
Пример #2
0
        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>();
            }
        }
Пример #3
0
        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);
            }
        }