예제 #1
0
    void Start()
    {
        indicatorPrefab = PrefabManager.Instance.OffScreenWarningPrefab;

        // Finding screen limits
        Camera  cam       = Camera.main;
        Vector3 camLimits = cam.ScreenToWorldPoint(new Vector3(cam.scaledPixelWidth, cam.scaledPixelHeight, 0));

        leftLimit  = -camLimits.x - extraScreenRadius;
        rightLimit = camLimits.x + extraScreenRadius;
        botLimit   = -camLimits.y - extraScreenRadius;
        topLimit   = camLimits.y + extraScreenRadius;
    }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        Vector3 pos      = transform.position;
        bool    inScreen = (pos.x > leftLimit && pos.x <rightLimit && pos.y> botLimit && pos.y < topLimit);

        if (indicator && inScreen)
        {
            Destroy(indicator.gameObject);
        }
        else if (!indicator && !inScreen)
        {
            indicator       = Instantiate(indicatorPrefab);
            indicator.enemy = gameObject;
        }
    }