public void ReturnToInitState(int floorDistanceToPlayer) { if (floorDistanceToPlayer < InitStateSafeDistanceToPlayer) { return; } _door.gameObject.SetActive(true); _door.IsMuted = false; _door.AnimationNameHash = SwitchableObject.defaultSwitchStateNameHash; _door.OpenAnimationCompleted -= OnDoorOpenAnimationCompleted; _door.IsGlowingEnabled = true; _door.Close(); _elevatorButtonPanel.IsGrabable = false; _doorRigidbody.gameObject.SetActive(false); _doorRigidbody.velocity = new Vector3(0f, 0f, 0f); _doorRigidbody.angularVelocity = new Vector3(0f, 0f, 0f); Transform doorRigidbodyTransform = _doorRigidbody.transform; doorRigidbodyTransform.localPosition = _doorRigidbodyInitPosition; doorRigidbodyTransform.localRotation = _doorRigidbodyInitRotation; _hinge.gameObject.SetActive(true); }