void Update() { if (m_taget) { if (Vector3.Distance(this.transform.position, m_taget.transform.position) <= m_checkRangeActive) { cricle2.RefreshPos(m_taget.transform.position.x, m_taget.transform.position.z); if (CircleCollision.CricleCollisionCheck(cricle1, cricle2)) { if (m_isTirgger) { m_call(true); m_isTirgger = false; } } else { if (!m_isTirgger) { m_isTirgger = true; } } } } }
public void GameOver(bool isCleared) // GameOver 시 해야될 일을 해주는 함수 { // isCleared면 Clear, 아니면 GameOver StopCoroutine("Timer"); foreach (Transform Enemy in EnemyPar.transform) { Destroy(Enemy.gameObject); } Tri.SetActive(false); CircleCollision.SetActive(false); Character.SetActive(false); GameOverWindow.SetActive(true); GameOverWindow.transform.Translate(new Vector3(0f, 0f, 0.01f)); if (isCleared) { GameOverBack.SetActive(false); ClearBack.SetActive(true); RankButton.SetActive(false); InfinityModeButton.SetActive(true); } else { GameOverBack.SetActive(true); ClearBack.SetActive(false); RankButton.SetActive(true); InfinityModeButton.SetActive(false); RM.PushRankInfo(Score, (int)current_Time); RM.MakeGameoverRankBox(); } }
public void Draw(RenderTarget target, RenderStates states) { Shape shape; if (collision.GetType() == typeof(BoxCollision)) { shape = new RectangleShape(new Vector2f(((BoxCollision)collision).Size.X, ((BoxCollision)collision).Size.Y)); } else if (collision.GetType() == typeof(CircleCollision)) { CircleCollision circle = (CircleCollision)collision; shape = new CircleShape(circle.Radius); } else if (collision.GetType() == typeof(PolygonCollision)) { PolygonCollision poly = (PolygonCollision)collision; var cs = new ConvexShape((uint)poly.Vertex.Count()); for (int i = 0; i < poly.Points.Count(); i++) { cs.SetPoint((uint)i, new Vector2f(poly.Points[i].X, poly.Points[i].Y)); } shape = cs; } else { return; } shape.Position = new Vector2f(collision.Position.X, collision.Position.Y); if (f) { shape.FillColor = ac; } else { shape.FillColor = cc; } target.Draw(shape); }