Ejemplo n.º 1
0
    private void CheckStickables()
    {
        Vector2 screenPointOfSelf        = ArCamera.WorldToScreenPoint(this.transform.position);
        Vector2 screenPointOfLaunchpadB  = ArCamera.WorldToScreenPoint(LaunchpadB.transform.position);
        Vector2 screenPointOfCat         = ArCamera.WorldToScreenPoint(Cat.transform.position);
        Vector2 screenPointOfScaffolding = ArCamera.WorldToScreenPoint(Scaffolding.transform.position);

        bool closeToLaunchpadB  = false;
        bool closeToScaffolding = false;
        bool closeToCat         = false;

        if (!LaunchpadB.InBox())
        {
            closeToLaunchpadB = Mathf.Abs(Vector2.Distance(screenPointOfLaunchpadB, screenPointOfSelf)) < ClosenessThreshholdPixels;
        }
        if (!Scaffolding.InBox())
        {
            closeToScaffolding = Mathf.Abs(Vector2.Distance(screenPointOfScaffolding, screenPointOfSelf)) < ClosenessThreshholdPixels;
        }
        if (!Cat.InBox())
        {
            closeToCat = Mathf.Abs(Vector2.Distance(screenPointOfCat, screenPointOfSelf)) < ClosenessThreshholdPixels;
        }

        if (closeToCat)
        {
            curSticking = StickTo.Cat;
        }
        else if (closeToLaunchpadB)
        {
            if (curSticking == StickTo.Scaffolding)
            {
                win = true;
            }
            else
            {
                curSticking = StickTo.LaunchpadB;
            }
        }
        else if (closeToScaffolding)
        {
            if (curSticking == StickTo.LaunchpadB)
            {
                win = true;
            }
            else
            {
                curSticking = StickTo.Scaffolding;
            }
        }
    }
Ejemplo n.º 2
0
 void OnEnable()
 {
     stickTo = target as StickTo;
 }