Esempio n. 1
0
 void Start()
 {
     circle       = GameObject.FindGameObjectWithTag("Circle").GetComponent <RadiusCircle>();
     targetRadius = _Tower.radius;
     circle.SetScale(targetRadius);
     circle.SetColor(Color.white, false);
 }
Esempio n. 2
0
 public void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.gameObject.tag == "Dummy" && collision is BoxCollider2D)
     {
         circleChange = GameObject.FindGameObjectWithTag("Circle").GetComponent <RadiusCircle>();
         //print("Cannot place dummy here");
         canPlace.canBePlaced = false;
         circleChange.SetColor(Color.red, false);
     }
 }
Esempio n. 3
0
    //regions good! https://enterprisecraftsmanship.com/posts/c-regions-is-design-smell/

    #region Check Placeability
    public void CheckPlaceability()
    {
        if (hasItemInHand && canBePlaced.canBePlaced)
        {
            Vector3 mousePosition = getCursorPosition();

            Vector2 itemSize;
            itemSize = dummyItem.GetComponentInChildren <BoxCollider2D>().size;

            Vector2 closestRigbodBound = road.GetComponent <Rigidbody2D>().ClosestPoint(mousePosition);
            float   distance2          = Vector2.Distance(mousePosition, closestRigbodBound);
            //DEBUG//print("Distance 2: " + distance2);

            //Find diagonal of Item / absolute value
            float itemDiagonal = Mathf.Sqrt(
                Mathf.Pow(itemSize.x, 2)
                +
                Mathf.Pow(itemSize.y, 2)
                );

            //Should be divided by 2, but dividing by 3 gives more accurate answer
            float itemRadius = itemDiagonal / 3;

            if (distance2 >= itemRadius)
            {
                canBePlaced.canBePlaced = true;

                radiusCircleScript.SetColor(Color.green, false);
                Place();
            }
            else
            {
                radiusCircleScript.SetColor(Color.red, false);
                //canBePlaced.canBePlaced = false;
                //^called in placeabletrigger instead
            }
        }
    }