Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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());
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    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());
    }
Esempio n. 5
0
 public static void AddToList(UnicornEnum.UnicornTypeEnum type, GameObject obj)
 {
     instance.unicornCollection.TryGetValue(type, out List <GameObject> value);
     value.Add(obj);
     obj.gameObject.SetActive(false);
 }