// 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); }
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; }
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); }