예제 #1
0
 void Deselection()
 {
     if (selectedTower != null)
     {
         TowerEssentials t = selectedTower.GetComponent <TowerEssentials>();
         selectedTower.GetComponent <TowerEssentials>().pickedUp = false;
         if (t != null)
         {
             t.selected = false;
         }
         selectedTower = null;
     }
     if (selectedCard != null)
     {
         CardEssentials c = selectedCard.GetComponent <CardEssentials>();
         if (c != null)
         {
             c.selected = false;
         }
         selectedCard = null;
     }
 }
예제 #2
0
    void CheckAllCollisions()
    {
        Collider2D[] collisions = Physics2D.OverlapCircleAll(transform.position, 0.01f);
        bool         solved     = false;

        if (!solved)
        {
            foreach (Collider2D col in collisions)
            {
                if (col.tag == "Tower")
                {
                    Deselection();
                    TowerEssentials t = col.GetComponent <TowerEssentials>();
                    if (t != null)
                    {
                        t.selected = true;
                    }
                    selectedTower = col.gameObject;
                    MoveSelector();
                    solved    = true;
                    dragTimer = dragDelay;
                }
            }
        }

        if (!solved)
        {
            foreach (Collider2D col in collisions)
            {
                if (col.tag == "Pause")
                {
                    if (ImportantStats.speed == 0)
                    {
                        ImportantStats.speed = 1;
                    }
                    else
                    {
                        ImportantStats.speed = 0;
                    }
                    overrideMap = true;
                    MoveSelector();
                    solved = true;
                }
            }
        }
        if (!solved)
        {
            foreach (Collider2D col in collisions)
            {
                if (col.tag == "FastForward")
                {
                    if (ImportantStats.speed != FastForward.fastSpeed)
                    {
                        ImportantStats.speed = FastForward.fastSpeed;
                    }
                    else
                    {
                        ImportantStats.speed = 1;
                    }
                    overrideMap = true;
                    MoveSelector();
                    solved = true;
                }
            }
        }
        if (!solved)
        {
            foreach (Collider2D col in collisions)
            {
                if (col.tag == "Card")
                {
                    Deselection();
                    selectedCard          = col.GetComponent <CardEssentials>();
                    tower                 = selectedCard.tower;
                    cost                  = selectedCard.cost;
                    selectedCard.selected = true;
                    overrideMap           = true;
                    MoveSelector();
                    solved = true;
                }
            }
        }
        if (!solved)
        {
            foreach (Collider2D col in collisions)
            {
                if (col.tag == "Map" && ImportantStats.gold >= cost)
                {
                    Deselection();
                    CreateTower();
                    MoveSelector();
                    map    = true;
                    solved = true;
                }
            }
        }
        if (!solved)
        {
            foreach (Collider2D col in collisions)
            {
                if (col.tag == "Map" && ImportantStats.gold < cost)
                {
                    Deselection();
                    MoveSelector();
                    solved = true;
                }
            }
        }
    }