void Update() { if (fadeTimer <= 0) { return; } float newRoomAlpha = 0; if (alphaGoal == 0.0f) // fade out { newRoomAlpha = fadeTimer / fadeTime; } else if (alphaGoal == 1.0f) // fade in { newRoomAlpha = 1 - fadeTimer / fadeTime; } if (newRoomAlpha < 0) { newRoomAlpha = 0; } else if (newRoomAlpha > 1) { newRoomAlpha = 1; } Color newColor = tiles.color; newColor.a = newRoomAlpha; tiles.color = newColor; alphaController.setAlpha(newRoomAlpha); fadeTimer -= Time.deltaTime; if (fadeTimer < 0) { if (!inRoom) { gameObject.SetActive(false); } alphaController.setAlpha(alphaGoal); newColor = tiles.color; newColor.a = alphaGoal; tiles.color = newColor; } }
void Start() { alphaController = gameObject.GetComponent <AlphaController>(); if (!inRoom) { // initialize to be invisible alphaController.setAlpha(0.0f); gameObject.SetActive(false); Color newColor = tiles.color; newColor.a = 0.0f; tiles.color = newColor; } }