Esempio n. 1
0
 public static void CreateThumper(Vector2 center, float force)
 {
     if (CanAddThumper())
     {
         // Debug.Log(center.x  + " | " + center.y);
         RemoveThumperFromStorage();
         Vector3 pos     = new Vector3(center.x, 0, center.y);
         Thumper thumper = Instantiate(t.thumperPrefab, pos, Quaternion.identity);
         thumper.SetVel(force);
     }
 }
Esempio n. 2
0
    void CheckUnderClick()
    {
        RaycastHit hit;
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit, 10000, layerMask))
        {
            var go = hit.collider.gameObject;
            targetThumper = go.GetComponent <Thumper>();
            if (targetThumper == null)
            {
                clickPos = new Vector2(hit.point.x, hit.point.z);
                // clickPos = new Vector2(hit.point.x / (GameManager.Water.gridSize + GameManager.Water.spacing), hit.point.z / (GameManager.Water.gridSize + GameManager.Water.spacing));
                // Debug.Log("Click Pos:  " + hit.point);
            }
        }
    }
    void UpdateSelectedThumper()
    {
        Thumper oldThumper = selectedThumper;

        thumpers = thumpers.Where(thumper => thumper != null).ToList();
        if (thumpers.Count == 0)
        {
            if (selectedThumper != null)
            {
                selectedThumper.Deselect();
                selectedThumper = null;
            }
            return;
        }
        if (thumpers.Count == 1 && selectedThumper == null)
        {
            if (selectedThumper != null && selectedThumper != thumpers[0])
            {
                selectedThumper.Deselect();
            }
            selectedThumper = thumpers[0];
            selectedThumper.Select();
            return;
        }
        float   closetDist   = 10000;
        Thumper closestThump = null;

        for (int i = 0; i < thumpers.Count; i++)
        {
            var thump = thumpers[i];
            var dist  = Vector3.Distance(transform.position, thump.transform.position);
            if (dist < closetDist)
            {
                closetDist   = dist;
                closestThump = thump;
            }
        }
        if (selectedThumper != closestThump && selectedThumper != null)
        {
            selectedThumper.Deselect();
        }
        selectedThumper = closestThump;
        selectedThumper.Select();
    }