private void OnTriggerEnter(Collider other) { // Should only be called on locally owned objects if (dZPlayer && owner == BEventManager.Instance.LocalNetworkID) { BallDroneBAnchor ballDrone = BUtils.GetComponentInHierarchy <BallDroneBAnchor>(other.gameObject); if (ballDrone) { CatchBallDrone(ballDrone); } } }
private void ProcessRaycastHit(RaycastHit hit) { IRayCastable rayCastable = BUtils.GetComponentInHierarchy <IRayCastable>(hit.transform.gameObject, true); if (rayCastable != null) { // Enter if (rayCastablesMap.ContainsKey(rayCastable) == false) { rayCastable.OnRayHoverEnter(); rayCastablesMap.Add(rayCastable, true); InvokeEventIfBound(OnRayCastableEnter, rayCastable); } // Stay else if (rayCastablesMap.ContainsKey(rayCastable) == true && rayCastablesMap[rayCastable] == false) { rayCastablesMap[rayCastable] = true; InvokeEventIfBound(OnRayCastableStay, rayCastable); } } }