コード例 #1
0
    void OnMouseDown()
    {
        if (click && Time.time <= (clickTime + clickDelta))
        {
            if (!transform.FindDeepChild("placingpos").GetComponent <EmptyDetect>().collided)
            {
                Transform p = Instantiate(turrent, pos_place.position, Quaternion.identity);
                foreach (Transform t in MainController.placed)
                {
                    try
                    {
                        t.FindDeepChild("Radius").gameObject.SetActive(false);
                    }
                    catch (System.Exception ex)
                    {
                        Debug.LogError("ERROR, failed finding an erased turrent.. " + ex.Message);
                    }
                }
                MainController.placed.Add(p);
                p.GetComponent <BuildingPositions>().SetId(rolling_id);
                spawnerRef.AddBuilding(rolling_id, p.GetComponent <BuildingPositions>());
                p.GetComponent <BuildingPositions>().SetParent(GameObject.Find("EnemySpawner").GetComponent <EnemySpawner>());
                rolling_id++;

                MainController.active_placing = false;
                Destroy(gameObject);
                add_button.SetActive(true);
                del_button.SetActive(false);
            }
        }
        else
        {
            click     = true;
            clickTime = Time.time;
        }

        screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position);
        offset      = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
    }