void OnDestroy() { mInstance = null; // ExplosionMgr.onExplosion -= OnBombExplosion; }
public void Burst() { if (IsBurst == true) { return; } IsBurst = true; //물풍선의 중심을 기준으로 퍼져나갈 물줄기를 위하여 받아온다. _FirstBomb.GetCenterBubblePosition = _FirstBomb.GetUpBubblePosition = _FirstBomb.GetDownBubblePosition = _FirstBomb.GetRightBubblePosition = _FirstBomb.GetLeftBubblePosition = CenterPos; GameObject bombCenter = (GameObject)GameObject.Instantiate(Resources.Load("bombwater_center1"), _FirstBomb.GetCenterBubblePosition, Quat); NetworkServer.Spawn(bombCenter); GameObject.Destroy(bombCenter, 0.3f); Vector3 tempPos = new Vector3(CenterPos.x, CenterPos.y - 0.1f, CenterPos.z); bombTile = Tiles.getTile(tempPos); checkWhereBoxIs(bombTile); for (int i = 1; i <= upBombSize; ++i) { _FirstBomb.GetCenterBubblePosition = _FirstBomb.GetUpBubblePosition = _FirstBomb.GetDownBubblePosition = _FirstBomb.GetRightBubblePosition = _FirstBomb.GetLeftBubblePosition = CenterPos; _FirstBomb.GetUpBubblePosition.y += (i * 0.6f); GameObject bombUp = (GameObject)GameObject.Instantiate(Resources.Load("bombwater_up"), _FirstBomb.GetUpBubblePosition, Quat); Rigidbody2D rb2 = bombUp.AddComponent <Rigidbody2D>(); BoxCollider2D col2 = bombUp.AddComponent <BoxCollider2D>(); if (col2) { col2.isTrigger = true; col2.size = new Vector2(col2.size.x * 0.7f, col2.size.y * 0.5f); col2.offset = new Vector2(0, -0.1f); } else { Debug.Log("Nothing is here"); } rb2.gravityScale = 0; bombUp.tag = "BombWaterU"; NetworkServer.Spawn(bombUp); GameObject.Destroy(bombUp, 0.6f); _FirstBomb.GetUpBubblePosition.y = 0.0f; if (upBombSize == i) { _FirstBomb.GetCenterBubblePosition = _FirstBomb.GetUpBubblePosition = _FirstBomb.GetDownBubblePosition = _FirstBomb.GetRightBubblePosition = _FirstBomb.GetLeftBubblePosition = CenterPos; _FirstBomb.GetUpBubblePosition.y += (i * 0.6f); bombUp = (GameObject)GameObject.Instantiate(Resources.Load("bombwater_upend"), _FirstBomb.GetUpBubblePosition, Quat); Rigidbody2D rb4 = bombUp.AddComponent <Rigidbody2D>(); BoxCollider2D col4 = bombUp.AddComponent <BoxCollider2D>(); if (col4) { col4.isTrigger = true; col4.size = new Vector2(col4.size.x * 0.7f, col4.size.y * 0.5f); col4.offset = new Vector2(0, -0.1f); } else { Debug.Log("Nothing is here"); } rb4.gravityScale = 0; bombUp.tag = "BombWaterU"; NetworkServer.Spawn(bombUp); GameObject.Destroy(bombUp, 0.6f); } } for (int i = 1; i <= downBombSize; ++i) { _FirstBomb.GetCenterBubblePosition = _FirstBomb.GetUpBubblePosition = _FirstBomb.GetDownBubblePosition = _FirstBomb.GetRightBubblePosition = _FirstBomb.GetLeftBubblePosition = CenterPos; _FirstBomb.GetDownBubblePosition.y -= (i * 0.6f); GameObject bombDown = (GameObject)GameObject.Instantiate(Resources.Load("bombwater_down"), _FirstBomb.GetDownBubblePosition, Quat); Rigidbody2D rb1 = bombDown.AddComponent <Rigidbody2D>(); BoxCollider2D col1 = bombDown.AddComponent <BoxCollider2D>(); if (col1) { col1.isTrigger = true; col1.size = new Vector2(col1.size.x * 0.7f, col1.size.y * 0.5f); col1.offset = new Vector2(0, 0.1f); } else { Debug.Log("Nothing is here"); } rb1.gravityScale = 0; bombDown.tag = "BombWaterD"; NetworkServer.Spawn(bombDown); GameObject.Destroy(bombDown, 0.6f); _FirstBomb.GetDownBubblePosition.y = 0.0f; if (downBombSize == i) { _FirstBomb.GetCenterBubblePosition = _FirstBomb.GetUpBubblePosition = _FirstBomb.GetDownBubblePosition = _FirstBomb.GetRightBubblePosition = _FirstBomb.GetLeftBubblePosition = CenterPos; _FirstBomb.GetDownBubblePosition.y -= (i * 0.6f); bombDown = (GameObject)GameObject.Instantiate(Resources.Load("bombwater_downend"), _FirstBomb.GetDownBubblePosition, Quat); Rigidbody2D rb3 = bombDown.AddComponent <Rigidbody2D>(); BoxCollider2D col3 = bombDown.AddComponent <BoxCollider2D>(); if (col3) { col3.isTrigger = true; col3.size = new Vector2(col3.size.x * 0.7f, col3.size.y * 0.5f); col3.offset = new Vector2(0, 0.1f); } else { Debug.Log("Nothing is here"); } rb3.gravityScale = 0; bombDown.tag = "BombWaterD"; NetworkServer.Spawn(bombDown); GameObject.Destroy(bombDown, 0.6f); } } for (int i = 1; i <= leftBombSize; ++i) { _FirstBomb.GetCenterBubblePosition = _FirstBomb.GetUpBubblePosition = _FirstBomb.GetDownBubblePosition = _FirstBomb.GetRightBubblePosition = _FirstBomb.GetLeftBubblePosition = CenterPos; _FirstBomb.GetLeftBubblePosition.x -= (i * 0.6f); GameObject bombLeft = (GameObject)GameObject.Instantiate(Resources.Load("bombwater_left"), _FirstBomb.GetLeftBubblePosition, Quat); Rigidbody2D rb6 = bombLeft.AddComponent <Rigidbody2D>(); BoxCollider2D col6 = bombLeft.AddComponent <BoxCollider2D>(); if (col6) { col6.isTrigger = true; col6.size = new Vector2(col6.size.x * 0.5f, col6.size.y * 0.7f); col6.offset = new Vector2(0.1f, 0); } else { Debug.Log("Nothing is here"); } rb6.gravityScale = 0; bombLeft.tag = "BombWaterL"; NetworkServer.Spawn(bombLeft); GameObject.Destroy(bombLeft, 0.6f); _FirstBomb.GetDownBubblePosition.x = 0.0f; _FirstBomb.GetUpBubblePosition.x = 0.0f; if (leftBombSize == i) { _FirstBomb.GetCenterBubblePosition = _FirstBomb.GetUpBubblePosition = _FirstBomb.GetDownBubblePosition = _FirstBomb.GetRightBubblePosition = _FirstBomb.GetLeftBubblePosition = CenterPos; _FirstBomb.GetLeftBubblePosition.x -= (i * 0.6f); bombLeft = (GameObject)GameObject.Instantiate(Resources.Load("bombwater_leftend"), _FirstBomb.GetLeftBubblePosition, Quat); Rigidbody2D rb8 = bombLeft.AddComponent <Rigidbody2D>(); BoxCollider2D col8 = bombLeft.AddComponent <BoxCollider2D>(); if (col8) { col8.isTrigger = true; col8.size = new Vector2(col6.size.x * 0.5f, col6.size.y * 0.7f); col8.offset = new Vector2(0.1f, 0); } else { Debug.Log("Nothing is here"); } rb8.gravityScale = 0; bombLeft.tag = "BombWaterL"; NetworkServer.Spawn(bombLeft); GameObject.Destroy(bombLeft, 0.6f); } } for (int i = 1; i <= rightBombSize; ++i) { _FirstBomb.GetCenterBubblePosition = _FirstBomb.GetUpBubblePosition = _FirstBomb.GetDownBubblePosition = _FirstBomb.GetRightBubblePosition = _FirstBomb.GetLeftBubblePosition = CenterPos; _FirstBomb.GetRightBubblePosition.x += (i * 0.6f); GameObject bombRight = (GameObject)GameObject.Instantiate(Resources.Load("bombwater_right"), _FirstBomb.GetRightBubblePosition, Quat); Rigidbody2D rb5 = bombRight.AddComponent <Rigidbody2D>(); BoxCollider2D col5 = bombRight.AddComponent <BoxCollider2D>(); if (col5) { col5.isTrigger = true; col5.size = new Vector2(col5.size.x * 0.5f, col5.size.y * 0.7f); col5.offset = new Vector2(-0.1f, 0); } else { Debug.Log("Nothing is here"); } rb5.gravityScale = 0; bombRight.tag = "BombWaterR"; NetworkServer.Spawn(bombRight); GameObject.Destroy(bombRight, 0.6f); _FirstBomb.GetDownBubblePosition.x = 0.0f; _FirstBomb.GetUpBubblePosition.x = 0.0f; if (rightBombSize == i) { _FirstBomb.GetCenterBubblePosition = _FirstBomb.GetUpBubblePosition = _FirstBomb.GetDownBubblePosition = _FirstBomb.GetRightBubblePosition = _FirstBomb.GetLeftBubblePosition = CenterPos; _FirstBomb.GetRightBubblePosition.x += (i * 0.6f); bombRight = (GameObject)GameObject.Instantiate(Resources.Load("bombwater_rightend"), _FirstBomb.GetRightBubblePosition, Quat); Rigidbody2D rb7 = bombRight.AddComponent <Rigidbody2D>(); BoxCollider2D col7 = bombRight.AddComponent <BoxCollider2D>(); if (col7) { col7.isTrigger = true; col7.size = new Vector2(col7.size.x * 0.5f, col7.size.y * 0.7f); col7.offset = new Vector2(-0.1f, 0); } else { Debug.Log("Nothing is here"); } rb7.gravityScale = 0; bombRight.tag = "BombWaterR"; NetworkServer.Spawn(bombRight); GameObject.Destroy(bombRight, 0.6f); } } BombMgr.bombs.Remove(this); BombMgr.CheckColiider(this); FirstPlayerInfo.iSetBuubleCount -= 1; Destroy(CenterImage); }
void Awake() { mInstance = this; mBombList = new List<Bomb>(); NetworkServer.RegisterHandler (MessageType.PutBomb, OnPutBomb); NetworkServer.RegisterHandler (MessageType.RemoveBomb, OnRemoveBomb); }
// Use this for initialization void Awake() { Instance = this; bombMgr = new BombMgr(); InitHero(); }