private void Update() { if (Mode != 0 || transformRef == null || isTravelComplete) { return; } elapsedTime += Time.deltaTime; if (elapsedTime >= travelTime) { isTravelComplete = true; elapsedTime = travelTime; } float num = 1f - Mathf.Abs((elapsedTime - halfTravelTime) * halfTravelTimeRecip); float num2 = ArcDelta * num; float d = elapsedTime * travelTimeRecip; Vector3 position = startPosition + startToDestination * d; position.y += num2; transformRef.position = position; if (isTravelComplete) { if (RevealSpawned && SpawnedPropExperience != null) { SpawnedPropExperience.gameObject.SetActive(value: true); SpawnedPropExperience.StartExperience(); } transformRef = null; CoroutineRunner.Start(destroyAfterDelay(), this, "destroyAfterDelay"); } }
private void onPropUsed() { SpawnedInstance = (IsInstance ? PrefabToSpawn : Object.Instantiate(PrefabToSpawn)); if (ParentToUser) { SpawnedInstance.transform.SetParent(prop.PropUserRef.transform, worldPositionStays: false); } else { SpawnedInstance.transform.position = prop.OnUseDestination; CameraCullingMaskHelper.SetLayerRecursive(SpawnedInstance.transform, "AllPlayerInteractibles"); } SpawnedInstance.InstanceId = prop.ExperienceInstanceId; SpawnedInstance.OwnerId = prop.OwnerId; SpawnedInstance.IsOwnerLocalPlayer = prop.IsOwnerLocalPlayer; SpawnedInstance.PropDef = prop.PropDef; if (HideInitially) { SpawnedInstance.gameObject.SetActive(value: false); } else { SpawnedInstance.StartExperience(); } if (ApplyUserForwardVect) { SpawnedInstance.transform.forward = prop.PropUserRef.transform.forward; } }