void Start() { value = initValue; spriteRenderer = GetComponent <SpriteRenderer>(); lastStep = null; runningTransitionCoroutine = null; }
//Called by the map manager public void UpdateValue(bool increase) { //Update Values if (increase) { value = value + (Time.deltaTime * dataIncreaseTimeMuliplier); } else { value = Mathf.Max(0, value - (Time.deltaTime * dataDecreaseTimeMuliplier)); } //Check for step changing int i = 0; while (i < steps.Length && value > steps[i].value) { i++; } if (i == 0) { i++; } TileStep nextStep = steps[i - 1]; if (lastStep == null) { spriteRenderer.sprite = nextStep.sprite; } else if (lastStep.sprite != nextStep.sprite) { ProcessSpriteTransition(lastStep.sprite, nextStep.sprite); } lastStep = nextStep; }