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;
                 }
             }
         }
     }
 }
Example #2
0
 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();
     }
 }
Example #3
0
        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);
        }