private void EnsureGemActive(GameColor color) { if (!gemActive[color]) { gemActive[color] = true; gemMap[color].StartAnim(); gemMap[color].SetColor(color.GemColor()); } }
private IEnumerator ActivateRoutine(GameColor color) { active = true; ColorBlobBehaviour blob = (ColorBlobBehaviour) Instantiate(blobPrefab, transform.position + new Vector3(0f, spawnHeight, 0f), Quaternion.identity); blob.SetColor(color); blob.transform.parent = transform; Color startColor = renderer.material.color; audio.PlayOneShot(colorFilled); for (float timer = 0f; timer < 2f; timer += Time.deltaTime) { SetRendererColors(Color.Lerp(startColor, color.GemColor(), timer / 2f)); yield return null; } SetRendererColors(color.GemColor()); }
private LineBehaviour CreateBoldLine(GameColor color) { Vector3 end = gemMap[color].transform.position; Vector3 start = templeMap[color].GetGemPosition(); LineBehaviour line = (LineBehaviour) Instantiate(boldLinePrefab, start, Quaternion.identity); Color lineColor = color.GemColor(); lineColor.a = 0.25f; line.Configure(start, end, lineColor, 30f, 1f, 0.5f); return line; }