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; } } }
void OnEnable() { stickTo = target as StickTo; }