private void DestroyCurrentSpawnedPose() { if (CurrentSpawnedPoseParent != null) { if (BubbleParticleSystem != null) { BubbleParticleSystem.transform.position = CurrentSpawnedPoseParent.TargetPoint.transform.position; BubbleParticleSystem.Play(); } Destroy(CurrentSpawnedPoseParent.gameObject); CurrentSpawnedPoseParent = null; } }
public void RpcPlaceTargetObjectAtCustomPose(WhichTargetPoint whichTargetPoint, Vector3 positionInViveSpace, Quaternion rotationInViveSpace) { ControllerParent controllerParent = whichTargetPoint == WhichTargetPoint.Left ? LeftControllerParent : RightControllerParent; CurrentSpawnedPoseParent = Instantiate(SpawnedPoseParentPrefab, ViveOrigin); CurrentSpawnedPoseParent.transform.localPosition = positionInViveSpace; CurrentSpawnedPoseParent.transform.localRotation = rotationInViveSpace; CurrentControllerParent = controllerParent; // callbacks CurrentControllerParent.TargetPoint.OnTargetSpawned(CurrentSpawnedPoseParent.TargetPoint, CurrentAlignmentInterfaceType, CurrentControllerTargetPointLocation); CurrentSpawnedPoseParent.TargetPoint.OnTargetSpawned(CurrentControllerParent.TargetPoint, CurrentAlignmentInterfaceType, CurrentControllerTargetPointLocation); CurrentFreeModeControlState = FreeModeControlState.AligningWithTargetObject; LeftControllerParent.TargetPoint.Stick.gameObject.SetActive(false); RightControllerParent.TargetPoint.Stick.gameObject.SetActive(false); if (!ObjectManager.Instance.SessionManager.IsInFreeMode()) { ObjectManager.Instance.SessionManager.Log_OnPoseSpawned(); } }