Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (!hovering)
        {
            hoverTimer = Time.time + 1.5f;
            productionDisplay.SetActive(false);
        }

        if (Physics.Raycast(ray, out hit, Mathf.Infinity, officeLayer))
        {
            hovering = true;
        }
        else
        {
            hovering = false;
        }

        if (hovering && Time.time > hoverTimer)
        {
            Office office = hit.collider.gameObject.GetComponent <Office> ();
            target = hit.collider.gameObject.transform;
            Vector3 screenPos = Camera.main.WorldToScreenPoint(target.position);

            Vector3 temp = screenPos;

            if (screenPos.x < 800)
            {
                temp.x += 200f;
            }
            else if (screenPos.x > 800)
            {
                temp.x -= 150;
            }

            if (screenPos.y < 120)
            {
                temp.y += 120f;
            }
            else if (screenPos.y > 300)
            {
                temp.y -= 120f;
            }

            productionDisplay.transform.position = temp;

            productionDisplay.SetActive(true);

            if (office.officeMembers.Count > 0)
            {
                projectedRevText.text = ("Projected Monthly Revenue: " + office.minRange() + " - " + office.maxRange());
            }

            actualRevText.text = ("Actual Monthly Revenue: " + office.ActualOfficeRevenue());
        }
    }