public static Color getPalette(ORB_VALUE o, bool primary) { switch (o) { case ORB_VALUE.ZERO: return(primary ? color_palette.GetPixel(12, 1) : color_palette.GetPixel(14, 1)); case ORB_VALUE.ONE: return(primary ? color_palette.GetPixel(1, 1) : color_palette.GetPixel(0, 1)); case ORB_VALUE.TWO: return(primary ? color_palette.GetPixel(5, 3) : color_palette.GetPixel(4, 3)); case ORB_VALUE.THREE: return(primary ? color_palette.GetPixel(11, 2) : color_palette.GetPixel(9, 2)); case ORB_VALUE.FOUR: return(primary ? color_palette.GetPixel(3, 3) : color_palette.GetPixel(2, 3)); case ORB_VALUE.FIVE: return(primary ? color_palette.GetPixel(3, 1) : color_palette.GetPixel(2, 1)); case ORB_VALUE.SIX: return(primary ? color_palette.GetPixel(14, 3) : color_palette.GetPixel(13, 3)); case ORB_VALUE.SEVEN: return(primary ? color_palette.GetPixel(8, 1) : color_palette.GetPixel(15, 2)); case ORB_VALUE.EIGHT: return(primary ? color_palette.GetPixel(2, 3) : color_palette.GetPixel(6, 3)); case ORB_VALUE.NINE: return(primary ? color_palette.GetPixel(5, 2) : color_palette.GetPixel(4, 2)); default: return(color_palette.GetPixel(0, 0)); } }
public static Orb Create(Vector3 spawnGridPos, int fallDist, ORB_VALUE val) { Orb orb = (Instantiate(Resources.Load <GameObject>(PREFAB_PATH), spawnGridPos, Quaternion.identity, OrbPool.Instance.transform)).GetComponent <Orb>(); orb.setInitValues(spawnGridPos, fallDist, val); return(orb); }
public static TitleOrb Create(Vector3 spawnPos, bool fallDir, ORB_VALUE val) { TitleOrb orb = (Instantiate(Resources.Load <GameObject>(PREFAB_PATH), Vector3.zero, Quaternion.identity, TitleOrbPool.Instance.transform)).GetComponent <TitleOrb>(); orb.setInitValues(spawnPos, fallDir, val); return(orb); }
public void incrementValue(int offset) { ORB_VALUE newVal = isDigit() ? (ORB_VALUE)Mathf.Clamp(getIntValue() + offset, 0, 9) : currState.value; if (newVal != currState.value) { Vector3 deltaNumSpawn = new Vector3(trans.position.x * 5 - 55f, trans.position.y * 5, 2f); HPDeltaNum.Create(deltaNumSpawn, offset); changeValue(newVal); } }
private void setLoadColor() { ORB_VALUE orbVal = (ORB_VALUE)PlayerPrefs.GetInt("TitlePalette", Random.Range(0, 9)); Color loadPrimary = ColorPalette.getPalette(orbVal, true); Color loadSecondary = ColorPalette.getPalette(orbVal, false); loadNum.color = loadPrimary; loadNum.text = "" + (int)orbVal; loadText.color = loadSecondary; bg.color = Color.black; }
public void setInitValues(Vector3 spawnPos, bool fallDir, ORB_VALUE val) { bgSpr.transform.localScale = Vector3.zero; pulseSpr.transform.localScale = Vector3.zero; spr.sprite = orbSprites[(int)val * 2 + 1]; name = val.ToString(); orbTrans.position = spawnPos; velocity = (fallDir ? Vector3.left : Vector3.right) * 0.5f; bounced = false; timer = 0f; setColor(val); }
void spawnTitleOrb() { ORB_VALUE randOrb = (ORB_VALUE)Random.Range(0, 9); bool fallDir = Random.value <= 0.5f; Vector3 orbSpawn = new Vector3((fallDir ? 1 : -1) * Random.Range(280f, 320f), Random.Range(240f, 400f)); GameObject newOrb = TitleOrbPool.Instance.GetPooledOrb(orbSpawn, fallDir, randOrb); visibleOrbs.Add(newOrb); if (visibleOrbs.Count > MAX_ORBS) { TitleOrbPool.Instance.ReturnToPool(visibleOrbs[0]); visibleOrbs.RemoveAt(0); } }
public void setInitValues(Vector3 spawnGridPos, int fallDist, ORB_VALUE val) { Vector2Int prevGridPos = new Vector2Int((int)spawnGridPos.x, (int)spawnGridPos.y); currGridPos = new Vector2Int(prevGridPos.x, prevGridPos.y - fallDist); trans.position = Board.convertGridToWorldPos(prevGridPos); // TO-DO: SUS when changing resolutions isSelected = false; isHighlighted = false; prevOrbDir = nextOrbDir = Vector2Int.zero; sprWhite.color = Color.clear; sprMarker.sprite = null; changeValue(val); currState.isMarkedBy = new List <string>(); updateMarkerSprite(); updateConnectors(); }
public GameObject GetPooledOrb(Vector3 spawnPos, int fallDist, ORB_VALUE val) { foreach (GameObject o in pooledOrbs) { if (!o.activeInHierarchy) { Orb orb = isOrb(o); o.SetActive(true); orb.setInitValues(spawnPos, fallDist, val); return(o); } } GameObject obj = Orb.Create(spawnPos, fallDist, val).gameObject; pooledOrbs.Add(obj); return(obj); }
public GameObject GetPooledOrb(Vector3 spawnPos, bool fallDir, ORB_VALUE val) { foreach (GameObject o in pooledOrbs) { if (!o.activeInHierarchy) { TitleOrb orb = isTitleOrb(o); o.SetActive(true); o.transform.SetAsLastSibling(); orb.setInitValues(spawnPos, fallDir, val); return(o); } } GameObject obj = TitleOrb.Create(spawnPos, fallDir, val).gameObject; pooledOrbs.Add(obj); obj.transform.SetAsLastSibling(); return(obj); }
// Setting orbs public IEnumerator setAllMarkedOrbsBy(string skillID, Func <Orb, ORB_VALUE> getVal, float delay, List <Vector2Int> order) { List <Orb> toSet = getAllMarkedOrbsBy(skillID, order); foreach (Orb orb in toSet) { orb.toggleOrbHighlight(false); orb.toggleOrbMarker(skillID, false); ORB_VALUE newVal = getVal(orb); if (orb.getOrbValue() != newVal) { orb.changeValue(newVal); orb.toggleOrbHighlight(true); if (delay != 0) { yield return(new WaitForSeconds(delay)); } orb.toggleOrbHighlight(false); } } }
private Orb spawnRandomOrb(int column, int row, int fallDist) { int total = 0; foreach (OrbSpawnRate osr in orbSpawnRates) { total += (int)osr; } float rand = RNG.Next(total); ORB_VALUE newOrb = ORB_VALUE.ZERO; foreach (OrbSpawnRate osr in orbSpawnRates) { rand -= (int)osr; if (rand < 0) { break; } newOrb++; } return(spawnOrb(newOrb, column, row, fallDist)); }
public void changeValue(ORB_VALUE val) { if (currState.value == val && name == currState.value.ToString()) { return; } currState.value = val; spr.sprite = orbSprites[getIntValue() * 2 + 1]; name = currState.value.ToString(); switch (currState.value) { case ORB_VALUE.ZERO: sprWhiteColor = ColorPalette.getColor(12, 1); break; case ORB_VALUE.POISON: sprWhiteColor = ColorPalette.getColor(1, 1); break; case ORB_VALUE.EMPTY: sprWhiteColor = ColorPalette.getColor(2, 2); break; case ORB_VALUE.NULLIFY: sprWhiteColor = ColorPalette.getColor(3, 1); break; case ORB_VALUE.STOP: sprWhiteColor = ColorPalette.getColor(0, 2); break; default: sprWhiteColor = Color.white; break; } }
private Orb spawnOrb(ORB_VALUE value, int column, int row, int fallDist) => OrbPool.Instance.GetPooledOrb(new Vector2(column, row + fallDist), fallDist, value).GetComponent <Orb>();
private void setColor(ORB_VALUE val) { bgSpr.color = ColorPalette.getPalette(val, true); pulseSpr.color = ColorPalette.getPalette(val, false); }