/// <summary> /// Handles sleeping the module when leaving a fluid /// </summary> /// <param name="fluid">The fluid that was left</param> public void OnFluidExit(BodyOfFluid fluid) { controller.RemoveModuleFromFixedUpdate(swimModule); trackedFluid = null; controller.IsPhysicsBlocked = false; if (!controller.InputActiveLean) { controller.IsMovementBlocked = false; } controller.IsHeightBlocked = false; }
/// <summary> /// Handles activating the module when entering a fluid /// </summary> /// <param name="fluid">The fluid that was entered</param> public void OnFluidEnter(BodyOfFluid fluid) { controller.AddModuleToFixedUpdate(swimModule); trackedFluid = fluid; controller.IsMovementBlocked = true; controller.IsHeightBlocked = true; if (!swimSettings.controllerSinks) { controller.IsPhysicsBlocked = true; } }