コード例 #1
0
    private void DestroyCurrentSpawnedPose()
    {
        if (CurrentSpawnedPoseParent != null)
        {
            if (BubbleParticleSystem != null)
            {
                BubbleParticleSystem.transform.position = CurrentSpawnedPoseParent.TargetPoint.transform.position;
                BubbleParticleSystem.Play();
            }

            Destroy(CurrentSpawnedPoseParent.gameObject);
            CurrentSpawnedPoseParent = null;
        }
    }
コード例 #2
0
    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();
        }
    }