void MakeRayCasting() { RaycastHit hit; ray = new Ray(cameraPlayer.transform.position, cameraPlayer.transform.forward); Physics.Raycast(ray, out hit, rayDistance, interactiveLayer.value); Debug.DrawRay(ray.origin, ray.direction * rayDistance, rayColor); if (hit.collider) { if (!interactObject) { interactObject = hit.collider.gameObject.GetComponent <Interactable>(); } if (interactObject) { if (interactObject.GetStatus() != InteractStatus.interact) { interactObject.SetInteractor(GetComponent <Interactor>()); interactObject.SetStatus(InteractStatus.focus); normalImage.enabled = false; focusImage.enabled = true; } } } else { if (interactObject && interactObject.GetStatus() != InteractStatus.interact) { interactObject.SetStatus(InteractStatus.none); interactObject = null; } focusImage.enabled = false; normalImage.enabled = true; } if (interactObject) { InteractStatus currentStatus = interactObject.GetStatus(); if (currentStatus == InteractStatus.interact) { onInteract(ray); } } }
protected void a(j A_0) { global::u.c("handleGetCurrentScene"); try { InteractStatus interactStatus = new InteractStatus(); List <InteractElement> elements = this.o.a(); interactStatus.elements = elements; interactStatus.scenename = global::b.a(); A_0.b = interactStatus; } catch (Exception ex) { global::u.a(ex.Message + " " + ex.StackTrace); A_0.f = ResponseStatus.UN_KNOW_ERROR; A_0.b = ex.Message + " " + ex.StackTrace; } global::o.a(A_0); }
public void SetStatus(InteractStatus i) { interactStatus = i; }
/// <summary> /// How facilities communicate with visitor /// </summary> /// <param name="rememberTalking"></param> public void Communicate(InteractStatus rememberTalking) { InteractStatus = rememberTalking; }