void OnOkClicked() { if (currentSelecting) { GlobalEventManager.SendEvent(okButtonEvent); } }
public void SwitchToGuideMode() { UISystem.Singleton.SetContent("SW_ReenterModeSelecting", false); sceneReentranceCommand = "GuideMode"; GlobalEventManager.SendEvent("NewModeSelected"); Invoke("ReloadCurrentScene", 0.8f); }
// Update is called once per frame void Update() { foreach (var e in inputEvents) { switch (e.actionType) { case VRActionType.TriggerDown: if ((!VRPlayer.Instance.IsUsingSimulator && mInteractor.VRInput != null) ? mInteractor.VRInput.GetPressDown(EVRButtonId.k_EButton_SteamVR_Trigger) : Input.GetMouseButtonDown(0)) { GlobalEventManager.SendEvent(e.actionEvent); } break; case VRActionType.MenuDown: if ((!VRPlayer.Instance.IsUsingSimulator && mInteractor.VRInput != null) ? mInteractor.VRInput.GetPressDown(EVRButtonId.k_EButton_ApplicationMenu) : Input.GetKeyDown(KeyCode.M)) { GlobalEventManager.SendEvent(e.actionEvent); } break; case VRActionType.PadDown: if ((!VRPlayer.Instance.IsUsingSimulator && mInteractor.VRInput != null) ? mInteractor.VRInput.GetPressDown(EVRButtonId.k_EButton_SteamVR_Touchpad) : Input.GetMouseButtonDown(1)) { GlobalEventManager.SendEvent(e.actionEvent); } break; default: break; } } }
/// <summary> /// Mouse event processing, will be override for new requirement /// </summary> /// <param name="eventType"></param> void OnCameraCharacterEvent(CameraCharacter.InteractionEventType eventType) { switch (eventType) { case CameraCharacter.InteractionEventType.MouseHoverOut: mouseHovered = false; break; case CameraCharacter.InteractionEventType.MouseHoverIn: mouseHovered = true; break; case CameraCharacter.InteractionEventType.MouseClickDown: if (manager == null) { break; } if (locked == false && manager.status == BlockCombinationStatus.Divide) { GlobalEventManager.SendEvent("BlockClicked-" + blockName); manager.SetFocusBlockIndex(blockName); manager.ForwardTransform(); } else if (manager.status == BlockCombinationStatus.Combine || manager.status == BlockCombinationStatus.CombineInsidePreview) { if (manager.CommandQueueLenght == 0) { manager.ForwardTransform(); } } break; default: break; } }
bool OnJadeReachCore() { //if (jadeFrameStatus != InlayFrameStatus.Focused) // return false; GlobalEventManager.SendEvent(inlayEvent); jadeFrameStatus = InlayFrameStatus.Inlayed; return(true); }
public void OnTeleport() { if (GetComponent <PlayMakerFSM>() != null) { GetComponent <PlayMakerFSM>().SendEvent("Trigger"); } GlobalEventManager.SendEvent("VRPlayer.Teleport@" + GetComponentInChildren <TextMesh>().text.Trim()); }
void OnIndicatorClick() { if (locked == false && !manager.IsTransforming && CameraCharacter.Singleton.allowInteraction) { hasClicked = true; GlobalEventManager.SendEvent("CellClicked-" + cellName + "-" + parentBlock.name); manager.ForwardTransform(roomViewCenter.position, roomViewCenter.rotation, panoramaContent); } }
/// <summary> /// Transport body but keep base root in a plane /// </summary> /// <param name="targetPosition"></param> public void TransportBody(Vector3 targetPosition) { Vector3 curPos = Head.position; curPos.y = 0; targetPosition.y = 0; Vector3 diff = targetPosition - curPos; Body.position += diff; GlobalEventManager.SendEvent("internal_VRPlayer.Repositioned"); }
// Update is called once per frame void Update() { if (canvas.enabled == false) { return; } if (selectedColor == SelectedColor.None) { return; } if (redFinished && goldFinished) { return; } if (Inside()) { Vector3 v = InputPlatform.Singleton.GetMoveVector(); float m = v.magnitude * InputPlatform.Singleton.ScreenSizeRatio * 0.0001f; switch (selectedColor) { case SelectedColor.Red: if (redFinished) { break; } redImage.fillAmount += m; if (redImage.fillAmount >= 1f) { redFinished = true; } break; case SelectedColor.Gold: if (goldFinished) { break; } goldImage.fillAmount += m; if (goldImage.fillAmount >= 1f) { goldFinished = true; } break; default: break; } if (redFinished && goldFinished) { GlobalEventManager.SendEvent(finishEvent); } } }
void OnStopInteracting(VRInteractor interactor) { if (mInteractor != interactor) { return; } mInteractor = null; if (!string.IsNullOrEmpty(dropEvent)) { GlobalEventManager.SendEvent(dropEvent); } }
void OnClickHandler(CameraCharacter.InteractionEventType eventType) { if (locked || !ActiveInCurrentMode) { return; } if (hintType == HintType.Indicator && !IndicatorStatus && detectableRange != 0f) { return; } switch (eventType) { case CameraCharacter.InteractionEventType.MouseClickDown: GlobalEventManager.SendEvent(clickEvent); if (!hasClicked) { hasClicked = true; if (hintType == HintType.Indicator && indicatorImage != null) { indicatorImage.GetComponentInChildren <PlayMakerFSM>().enabled = false; indicatorImage.rectTransform.localScale = new Vector3(1f, 1f, 1f); } } if (focusWhenClicked) { CameraCharacter.Singleton.RotateTo(transform); } if (UIFsm) { UIFsm.SendEvent("FadeIn"); } if (killWhenClicked) { Destroy(gameObject); } break; case CameraCharacter.InteractionEventType.MouseHoverIn: //SetHighlight(); break; case CameraCharacter.InteractionEventType.MouseHoverOut: SetNormal(); break; default: break; } }
void OnStartInteracting(VRInteractor interactor) { if (mInteractor != null) { return; } relativePosition = interactor.acquirePoint.InverseTransformPoint(transform.position); relativeRotation = Quaternion.Inverse(interactor.acquirePoint.rotation) * transform.rotation; mInteractor = interactor; if (!string.IsNullOrEmpty(pickEvent)) { GlobalEventManager.SendEvent(pickEvent); } }
void SetNextSideAsCurrentSide() { currentPeelingSideIndex++; if (currentPeelingSideIndex == 1) { GlobalEventManager.SendEvent("BambooFirstPieceSlided"); } if (currentPeelingSideIndex >= allPeelingSides.Count) { GlobalEventManager.SendEvent(finishEvent); finished = true; bodyFreezed = true; } else { bodyFreezed = false; } }
// Update is called once per frame void Update() { if (!ready) { return; } if (finished) { return; } if (!bodyFreezed) { var p = InputPlatform.Singleton.GetMoveVector() * InputPlatform.Singleton.ScreenSizeRatio; var dx = p.x < 0 ? p.x : 0; float deltaX = dx * 0.2f; //float deltaY = p.y * 0.2f; Vector3 eulerAngles = transform.rotation.eulerAngles; eulerAngles += new Vector3(0, -deltaX, 0); transform.rotation = Quaternion.Euler(eulerAngles); Transform curForward = CurrentSide.slideMainDirection; float dot = Vector3.Dot(curForward.forward, -CameraCharacter.Singleton.ownedCamera.transform.forward); float cross = Vector3.Cross(curForward.forward, -CameraCharacter.Singleton.ownedCamera.transform.forward).y; if (dot > 0.9f || cross < 0f) { Vector3 lookDir = -CameraCharacter.Singleton.ownedCamera.transform.forward; Quaternion targetRotation = Quaternion.LookRotation(lookDir, transform.up); Quaternion deltaRotation = targetRotation * Quaternion.Inverse(curForward.rotation); transform.rotation = deltaRotation * transform.rotation; ActivateCurrentSide(); GlobalEventManager.SendEvent("BambooPositionDone"); } } }
public void SwitchSelectingItem(SelectorUIItem newItem) { if (newItem == currentSelecting) { return; } if (currentSelecting != null) { currentSelecting.DeSelect(); } currentSelecting = newItem; if (newItem != null) { if (okButtonImage) { var c = okButtonImage.color; c.a = 1f; okButtonImage.color = c; } GlobalEventManager.SendEvent("ImageSelected-" + newItem.imageName); } }
IEnumerator CheckVRDeviceRoutine() { if (playMode == PlayMode.Auto) { yield return(new WaitForSeconds(0.8f)); if (!IsVRReadyAndConnected()) { isUsingSimulator = true; Destroy(VRBodyRig.gameObject); GlobalEventManager.SendEvent("VRPlayer.PCBodyReady"); GameRunDataHolder.SetType("InteractingSource", (int)InteractingSource.Mouse); } else { isUsingSimulator = false; Destroy(PCSimulatorRig.gameObject); GlobalEventManager.SendEvent("VRPlayer.VRBodyReady"); GameRunDataHolder.SetType("InteractingSource", (int)InteractingSource.VRJoystick); } } else if (playMode == PlayMode.PCSimulator) { isUsingSimulator = true; Destroy(VRBodyRig.gameObject); GlobalEventManager.SendEvent("VRPlayer.PCBodyReady"); GameRunDataHolder.SetType("InteractingSource", (int)InteractingSource.Mouse); } else { isUsingSimulator = false; Destroy(PCSimulatorRig.gameObject); GlobalEventManager.SendEvent("VRPlayer.VRBodyReady"); GameRunDataHolder.SetType("InteractingSource", (int)InteractingSource.VRJoystick); } }
void OnCommand() { GlobalEventManager.SendEvent(gestureEvent); }
void OnReachTargetProgress() { UISystem.Singleton.SetContent(progressUILocator, false); uiOn = false; GlobalEventManager.SendEvent(reachMaxProgressEvent); }
void UpdateState() { Vector3?tp = InputPlatform.Singleton.GetTouchPoint(); Ray? ray = null; if (tp != null) { ray = Camera.main.ScreenPointToRay(tp.Value); } //update state switch (lidState) { case InlayItemState.Free: if (ray != null) { RaycastHit hitInfo; if (Physics.Raycast(ray.Value, out hitInfo, 30f)) { if (hitInfo.collider == GetComponent <Collider>()) { lidState = InlayItemState.Holding; float rayDis; constraintPlane.Raycast(ray.Value, out rayDis); holdPosOffset = ray.Value.GetPoint(rayDis) - transform.position; } } } break; case InlayItemState.Holding: highLighted = false; if (Vector3.Distance(targetPoint.position, transform.position) < targetJudgeRadius) { lidState = InlayItemState.ReachTarget; GlobalEventManager.SendEvent(reachTargetEvent); transform.position = targetPoint.position; break; } if (ray == null) { lidState = InlayItemState.Free; } break; case InlayItemState.ReachTarget: break; default: break; } //process based on state if (lidState == InlayItemState.Holding) { float rayDis; constraintPlane.Raycast(ray.Value, out rayDis); Vector3 tPosition = ray.Value.GetPoint(rayDis) - holdPosOffset; if (Vector3.Distance(tPosition, moveCenter) > constraintRange) { Vector3 dir = tPosition - moveCenter; transform.position = moveCenter + dir.normalized * constraintRange; } else { transform.position = tPosition; } } }
// Update is called once per frame void Update() { if (WorkingTeleporter != null && WorkingTeleporter != this) { return; } if (!transportingEnabled || inTransporting) { if (LineDrawer) { LineDrawer.drawLine = false; } return; } if (LineDrawer) { if (GetTeleportingCommand()) { WorkingTeleporter = this; if (!LineDrawer.drawLine)//Enable teleporting predicting { GlobalEventManager.SendEvent("VRPlayer.BeginTeleportingPredict"); LineDrawer.drawLine = true; } //Teleporting Area Update TeleportingArea ta = null; if (LineDrawer.HitCollider != null) { ta = LineDrawer.HitCollider.GetComponent <TeleportingArea>(); } AnticipateHitPoint = LineDrawer.AnticipateHitPoint;//Acquire anticipated hit point of predicting line,not the final hit point SwitchHitArea(ta); //Telepoint Update if (AnticipateHitPoint != null) { TeleportingPoint tp = TeleportingPoint.FindClosestTelepoints(AnticipateHitPoint.Value);//Check if a telepoint is near the anicipate hit point SwitchHitPoint(tp); } else { SwitchHitPoint(null); } } else { if (LineDrawer.drawLine) { AnticipateHitPoint = null; LineDrawer.drawLine = false; if (hitArea != null) { hitArea.OnTeleport(); } if (hitTelepoint != null) { hitTelepoint.OnTeleport(); } SwitchHitArea(null); SwitchHitPoint(null); GlobalEventManager.SendEvent("VRPlayer.StopTeleportingPredict"); WorkingTeleporter = null; if (LineDrawer.Status == HittingStatus.HitTeleportingArea || LineDrawer.Status == HittingStatus.HitModifiedTarget) { StartBodyTransporting(); GlobalEventManager.SendEvent("TransportBody"); } } } } }
public void ConfirmUI() { GlobalEventManager.SendEvent("HintUI.Confirmed"); HideUI(); }
public override void OnEnter() { GlobalEventManager.SendEvent(eventName.Value); Finish(); }
public void SendEvent(string evtName) { GlobalEventManager.SendEvent(evtName); }
public void SendDrawUpClickEvent() { GlobalEventManager.SendEvent(GlobalEventManager.DrawUpClicked); }
//for Button UI component,because GlobalEventManager is not in scene #region Events sending public void SendBackEvent() { GlobalEventManager.SendEvent(GlobalEventManager.Back); }
void OnSlideDone() { GlobalEventManager.SendEvent(slideDoneEvent); readyToInteract = false; }
void UpdateState() { switch (embroideryStatus) { case EmbroideryStatus.Hide: if (Vector3.Distance(transform.position, hidePoint.position) < 0.01f) { transform.position = hidePoint.position; foreach (var s in targetString) { if (s != null && s.gameObject.activeInHierarchy) { s.gameObject.SetActive(false); } } } else { transform.position = Vector3.Lerp(transform.position, hidePoint.position, Time.deltaTime * lerpSpeed); transform.rotation = Quaternion.Lerp(transform.rotation, hidePoint.rotation, Time.deltaTime * lerpSpeed); } break; case EmbroideryStatus.Display: if (Vector3.Distance(transform.position, displayPoint.position) < 0.01f) { transform.position = displayPoint.position; foreach (var s in targetString) { if (s != null && !s.gameObject.activeInHierarchy) { s.SetMoveCenter(s.transform.position); s.transform.position += Vector3.up * 10f; s.gameObject.SetActive(true); } } } else { transform.position = Vector3.Lerp(transform.position, displayPoint.position, Time.deltaTime * lerpSpeed); } var inlayCount = 0; foreach (var c in colorLayers) { if (c.inlayFinished) { inlayCount++; } } if (inlayCount >= colorLayers.Count) { GlobalEventManager.SendEvent(inlayEvent); embroideryStatus = EmbroideryStatus.Inlayed; } break; case EmbroideryStatus.Inlayed: break; case EmbroideryStatus.Focus: Vector3 viewPoint = CameraCharacter.Singleton.ownedCamera.transform.position + CameraCharacter.Singleton.transform.forward * focusDistance; if (Vector3.Distance(transform.position, viewPoint) < 0.01f) { var p = InputPlatform.Singleton.GetMoveVector() * InputPlatform.Singleton.ScreenSizeRatio; float deltaX = p.x * 0.2f; //float deltaY = p.y * 0.2f; Vector3 eulerAngles = transform.rotation.eulerAngles; eulerAngles += new Vector3(0, -deltaX, 0); transform.rotation = Quaternion.Euler(eulerAngles); } else { transform.position = Vector3.Lerp(transform.position, viewPoint, Time.deltaTime * lerpSpeed); } break; case EmbroideryStatus.HideAfterInlay: if (Vector3.Distance(transform.position, hidePoint.position) < 0.01f) { foreach (var s in targetString) { Destroy(s.gameObject); } Destroy(gameObject); } else { transform.position = Vector3.Lerp(transform.position, hidePoint.position, Time.deltaTime * lerpSpeed); transform.rotation = Quaternion.Lerp(transform.rotation, hidePoint.rotation, Time.deltaTime * lerpSpeed); } break; default: break; } }
void ProcessForBackCommand() { if (commandQueue.Count == 0 || IsTransforming) { return; } var oldStatus = status; var command = commandQueue.Dequeue(); currentHoldingPanorama = command.panoramaBlock; if (command.isForwardCommand) { switch (status) { case BlockCombinationStatus.None: status = BlockCombinationStatus.Combine; break; case BlockCombinationStatus.Combine: if (CameraCharacter.Singleton.GameModeC == GameMode.GuideMode) { backButton.SetActive(true); } GlobalEventManager.SendEvent(GlobalEventManager.RoofRemoved); status = BlockCombinationStatus.CombineInsidePreview; break; case BlockCombinationStatus.CombineInsidePreview: status = BlockCombinationStatus.Divide; GlobalEventManager.SendEvent(GlobalEventManager.BlockDivide); break; case BlockCombinationStatus.Divide: status = BlockCombinationStatus.FocusOnOneBlock; break; case BlockCombinationStatus.FocusOnOneBlock: status = BlockCombinationStatus.Indoor; break; case BlockCombinationStatus.Indoor: return; case BlockCombinationStatus.SpecialScene: return; default: break; } MoveSubBlocksByStatus(oldStatus, status); CameraCharacter.Singleton.PushView(GenerateViewParameterByStatus(command.position, command.rotation, command.panoramaBlock)); if (command.panoramaBlock) { command.panoramaBlock.DownloadAssetBundle(); } } else { switch (status) { case BlockCombinationStatus.Combine: if (CameraCharacter.Singleton.GameModeC == GameMode.FreeMode) { GlobalEventManager.SendEvent("ShowModeSelecting"); } break; case BlockCombinationStatus.CombineInsidePreview: GlobalEventManager.SendEvent(GlobalEventManager.BlockCombine); if (CameraCharacter.Singleton.GameModeC == GameMode.GuideMode) { backButton.SetActive(false); } status = BlockCombinationStatus.Combine; break; case BlockCombinationStatus.Divide: status = BlockCombinationStatus.CombineInsidePreview; break; case BlockCombinationStatus.FocusOnOneBlock: GlobalEventManager.SendEvent(GlobalEventManager.BlockDivide); status = BlockCombinationStatus.Divide; break; case BlockCombinationStatus.Indoor: status = BlockCombinationStatus.FocusOnOneBlock; break; case BlockCombinationStatus.SpecialScene: return; default: break; } MoveSubBlocksByStatus(oldStatus, status); CameraCharacter.Singleton.PopView(); if (command.panoramaBlock) { command.panoramaBlock.DownloadAssetBundle(); } } }