public static GameObject GetUnicorn(UnicornEnum.UnicornTypeEnum type) { GameObject correctUni = instance.unicornList.Find(x => x.GetComponent <UnicornStats>().colorType == type); if (correctUni == null) { return(null); } instance.unicornList.Remove(correctUni); RemoveBalloonString(correctUni); return(correctUni); }
public static Sprite SpawnNewUnicorn(UnicornEnum.UnicornTypeEnum type) { Transform spawn = instance.spawnLocations[Random.Range(0, instance.spawnLocations.Count)]; Vector3 location = spawn.position; GameObject spawned = UnicornPool.SpawnUnicorn(type); UnicornStats stats = spawned.GetComponent <UnicornStats>(); spawned.transform.position = location; spawned.SetActive(true); stats.SetSpawn(spawn); instance.spawnLocations.Remove(spawn); instance.activeUnicorns.Add(spawned); ParticleSpawner.SpawnParticleEffect(ParticleSpawner.Particles.UnicornSpawn, location); return(stats.GetSprite()); }
public static GameObject SpawnUnicorn(UnicornEnum.UnicornTypeEnum type) { instance.unicornCollection.TryGetValue(type, out List <GameObject> value); GameObject currentUnicorn; if (value.Count >= 1) { currentUnicorn = value[0]; } else { instance.unicornBackup.TryGetValue(type, out GameObject unicorn); currentUnicorn = Instantiate(unicorn); } RemoveFromList(value, currentUnicorn); return(currentUnicorn); }
public void ChangeType(UnicornEnum.UnicornTypeEnum newType, Material newMat, float newTimer) { AudioController.Instance.GenerateAudio(AudioController.ClipName.WantNewBalloon, transform.position, wantsNewBalloon); type = newType; unicornUiImage.sprite = SpawnSystem.SpawnNewUnicorn(type); foreach (MeshRenderer rend in balloonList) { rend.material = newMat; } onCooldown = false; deliveryTime = newTimer; if (coroutineRunning == true) { StopCoroutine(delivery); } successfulDelivery = false; delivery = StartCoroutine(DeliveryTimer()); }
public static void AddToList(UnicornEnum.UnicornTypeEnum type, GameObject obj) { instance.unicornCollection.TryGetValue(type, out List <GameObject> value); value.Add(obj); obj.gameObject.SetActive(false); }