//	public Dictionary<string,int> Particles = new Dictionary<string, int>(){
    //		{"Wood",0},
    //		{"Stone",1},
    //		{"Leaf",2}
    //	};

    public void SpawnBubble(BubbleTypes pBubble, Vector2 pPosition, Transform pParent = null)
    {
        GameObject bubble = Instantiate(BubblePrefab, pPosition, transform.rotation, pParent);

        bubble.GetComponent <Animator>().SetTrigger(pBubble.ToString());
        Destroy(bubble.gameObject, 2.6f);
    }
Exemple #2
0
    public static void SpawnBubble(Vector2 pos, string text, BubbleTypes type, Color color)
    {
        GameObject go = Instantiate(instance.CombatBubblePrefab, instance.transform);

        go.transform.position = (Vector3)(pos);
        go.GetComponentInChildren <Text>().text = text;

        Image img = go.GetComponentInChildren <Image>();

        img.sprite = instance.BubbleSprites[(int)type];
        img.color  = color;
    }
Exemple #3
0
    private void PopRandom()
    {
        int bubbleAmount = Random.Range(3, 5);

        int bubbleTypesCount = System.Enum.GetNames(typeof(BubbleTypes)).Length;

        for (int i = 0; i < bubbleAmount; i++)
        {
            BubbleTypes bubbleType = (BubbleTypes)Random.Range(0, bubbleTypesCount - 1);
            GameObject  bubble     = gameLogic.SpawnBubble(bubbleType);
            bubble.transform.position = transform.position;
            Vector2 forceVector = new Vector2(Random.Range(-1500, 1500), Random.Range(-1500, -500));
            bubble.GetComponent <Rigidbody2D>().AddForce(forceVector);
        }
        //gameLogic.paused = true;
    }
    public GameObject SpawnBubble(BubbleTypes bubbleType)
    {
        GameObject bubble = bubbles.Pop();

        float   x        = Random.Range(0.2f, 0.8f);
        float   y        = -0.2f;
        Vector3 startPos = new Vector3(x, y, 1);

        bubble.transform.position = Camera.main.ViewportToWorldPoint(startPos);

        Bubble bubbleComponent = bubble.GetComponent <Bubble>();
        int    movespeed       = Random.Range(minSpeed, maxSpeed);

        bubbleComponent.moveSpeed = movespeed;
        bubble.SetActive(true);
        timeLapsed     = 0;
        activeBubbles += 1;
        timeLimit      = Random.Range(minSpawnTime, maxSpawnTime);

        if (Random.Range(0f, 1f) < 0.5f)
        {
            bubbleComponent.moveLeft = false;
        }

        switch (bubbleType)
        {
        case BubbleTypes.Bomb:
            GameObject bomb = bombs.Pop();
            bomb.transform.localScale = new Vector3(1, 1, 1);
            bomb.transform.position   = bubble.transform.position;
            bomb.transform.SetParent(bubble.transform);
            bomb.SetActive(true);
            break;

        case BubbleTypes.Score:
            GameObject star = stars.Pop();
            star.transform.localScale = new Vector3(1, 1, 1);
            bubbleComponent.value     = Random.Range(1, 6) * 10;
            switch (bubbleComponent.value)
            {
            case 10:
                star.GetComponent <SpriteRenderer>().color = Color.cyan;
                break;

            case 20:
                star.GetComponent <SpriteRenderer>().color = Color.blue;
                break;

            case 30:
                star.GetComponent <SpriteRenderer>().color = Color.green;
                break;

            case 40:
                star.GetComponent <SpriteRenderer>().color = Color.yellow;
                break;

            case 50:
                star.GetComponent <SpriteRenderer>().color = Color.red;
                break;
            }
            star.transform.position = bubble.transform.position;
            star.transform.SetParent(bubble.transform);
            star.SetActive(true);
            break;

        case BubbleTypes.Plustime:
            GameObject plus = plusses.Pop();
            plus.transform.localScale = new Vector3(1, 1, 1);
            bubbleComponent.value     = Random.Range(1, 6);
            switch (bubbleComponent.value)
            {
            case 1:
                plus.GetComponent <SpriteRenderer>().color = Color.cyan;
                break;

            case 2:
                plus.GetComponent <SpriteRenderer>().color = Color.blue;
                break;

            case 3:
                plus.GetComponent <SpriteRenderer>().color = Color.green;
                break;

            case 4:
                plus.GetComponent <SpriteRenderer>().color = Color.yellow;
                break;

            case 5:
                plus.GetComponent <SpriteRenderer>().color = Color.red;
                break;
            }
            plus.transform.position = bubble.transform.position;
            plus.transform.SetParent(bubble.transform);
            plus.SetActive(true);
            break;

        case BubbleTypes.Random:
            GameObject random = randoms.Pop();
            random.transform.localScale = new Vector3(1, 1, 1);
            random.transform.position   = bubble.transform.position;
            random.transform.SetParent(bubble.transform);
            random.SetActive(true);
            break;
        }

        return(bubble);
    }