mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
extensions
This commit is contained in:
parent
b357dafa8f
commit
f00d323de9
@ -1,11 +1,11 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
namespace NewHorizons.Utility
|
||||
{
|
||||
public static class CollectionUtilities
|
||||
{
|
||||
public static T KeyByValue<T, W>(Dictionary<T, W> dict, W val)
|
||||
public static T KeyByValue<T, W>(Dictionary<T, W> dict, W val, T defaultValue = default)
|
||||
{
|
||||
T key = default;
|
||||
T key = defaultValue;
|
||||
foreach (KeyValuePair<T, W> pair in dict)
|
||||
{
|
||||
if (EqualityComparer<W>.Default.Equals(pair.Value, val))
|
||||
|
||||
@ -387,5 +387,43 @@ namespace NewHorizons.Utility
|
||||
// return Regex.Replace(text.Trim(), @"[^\S\r\n]+", "GUH");
|
||||
return Regex.Replace(text.Trim(), @"\s+", " ").ToLowerInvariant();
|
||||
}
|
||||
|
||||
public static void Stabilize(this SingularityController singularity)
|
||||
{
|
||||
singularity._state = SingularityController.State.Stable;
|
||||
singularity._timer = 0f;
|
||||
singularity._baseRadius = singularity._targetRadius;
|
||||
singularity._currentRadius = singularity._targetRadius;
|
||||
singularity._renderer.SetActivation(active: true);
|
||||
singularity._renderer.SetMaterialProperty(singularity._propID_Radius, singularity._targetRadius);
|
||||
if (singularity._owAmbientSource != null) singularity._owAmbientSource.FadeIn(0.5f);
|
||||
singularity.enabled = true;
|
||||
}
|
||||
|
||||
public static void OpenEyesImmediate(this PlayerCameraEffectController playerCameraEffectController)
|
||||
{
|
||||
playerCameraEffectController._lastOpenness = 1;
|
||||
playerCameraEffectController._wakeCurve = playerCameraEffectController._fastWakeCurve;
|
||||
playerCameraEffectController._isOpeningEyes = false;
|
||||
playerCameraEffectController._isClosingEyes = false;
|
||||
playerCameraEffectController._eyeAnimDuration = 0;
|
||||
playerCameraEffectController._eyeAnimStartTime = Time.time;
|
||||
playerCameraEffectController._owCamera.postProcessingSettings.eyeMask.openness = 1;
|
||||
playerCameraEffectController._owCamera.postProcessingSettings.bloom.threshold = playerCameraEffectController._owCamera.postProcessingSettings.bloomDefault.threshold;
|
||||
playerCameraEffectController._owCamera.postProcessingSettings.eyeMaskEnabled = false;
|
||||
}
|
||||
|
||||
public static void CloseEyesImmediate(this PlayerCameraEffectController playerCameraEffectController)
|
||||
{
|
||||
playerCameraEffectController._lastOpenness = 0f;
|
||||
playerCameraEffectController._wakeCurve = playerCameraEffectController._fastWakeCurve;
|
||||
playerCameraEffectController._isOpeningEyes = false;
|
||||
playerCameraEffectController._isClosingEyes = false;
|
||||
playerCameraEffectController._eyeAnimDuration = 0;
|
||||
playerCameraEffectController._eyeAnimStartTime = Time.time;
|
||||
playerCameraEffectController._owCamera.postProcessingSettings.eyeMask.openness = 0f;
|
||||
playerCameraEffectController._owCamera.postProcessingSettings.bloom.threshold = 0f;
|
||||
playerCameraEffectController._owCamera.postProcessingSettings.eyeMaskEnabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user