change: finished and cleaned all settings changes, code commented, smoothing and easing are now exponential

This commit is contained in:
Chris
2025-09-26 14:03:11 -04:00
parent bd2903a0b2
commit 4569cea664
20 changed files with 676 additions and 399 deletions

View File

@@ -15,23 +15,23 @@ namespace Reset.Core{
public BBParameter<float> Easing{ get; set; }
}
public static void ChangeSmoothingEasing(ISmoothable valueGroup, ref float targetSmoothing,
ref float targetEasing, ref float defaultSmoothing, ref float defaultEasing){
public static void ChangeSmoothingEasing<T>(ISmoothable valueGroup, SettingValue<T> settingValue){
switch (valueGroup.changeSmoothing.value) {
case ValueChangeAction.NewValue:
targetSmoothing = valueGroup.Smoothing.value;
settingValue.targetSmoothing = valueGroup.Smoothing.value;
settingValue.currentSmoothing = valueGroup.Smoothing.value;
break;
case ValueChangeAction.ResetValue:
targetSmoothing = defaultSmoothing;
settingValue.targetSmoothing = settingValue.defaultSmoothing;
break;
}
switch (valueGroup.changeEasing.value) {
case ValueChangeAction.NewValue:
targetEasing = valueGroup.Easing.value;
settingValue.targetEasing = valueGroup.Easing.value;
break;
case ValueChangeAction.ResetValue:
targetEasing = defaultEasing;
settingValue.targetEasing = settingValue.defaultEasing;
break;
}
}
@@ -96,12 +96,54 @@ namespace Reset.Core{
changeEasing = new BBParameter<ValueChangeAction>();
Easing = new BBParameter<float>().value = 0f;
}
public static void UpdateValue(OrbitalFollowValueGroup valueGroup, SettingValue<float> heightSetting, SettingValue<float> radiusSetting){
switch (valueGroup.changeHeight.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
heightSetting.Value = valueGroup.height.value;
break;
case ValueChangeAction.ResetValue:
heightSetting.Value = heightSetting.defaultValue;
break;
case ValueChangeAction.RelativeValue:
heightSetting.Value += valueGroup.height.value;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
switch (valueGroup.changeRadius.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
radiusSetting.Value = valueGroup.radius.value;
break;
case ValueChangeAction.ResetValue:
radiusSetting.Value = radiusSetting.defaultValue;
break;
case ValueChangeAction.RelativeValue:
radiusSetting.Value += valueGroup.radius.value;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
ValueGroup.ChangeSmoothingEasing(valueGroup, heightSetting);
// Debug.Log($"{heightSetting.targetSmoothing} {valueGroup.Smoothing.value}");
ValueGroup.ChangeSmoothingEasing(valueGroup, radiusSetting);
}
[Obsolete]
public static void UpdateValue(OrbitalFollowValueGroup valueGroup, ref float targetProperty, ref float defaultProperty){
switch (valueGroup.changeHeight.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
targetProperty = valueGroup.height.value;
break;
@@ -111,6 +153,7 @@ namespace Reset.Core{
}
switch (valueGroup.changeRadius.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
targetProperty = valueGroup.radius.value;
break;
@@ -133,14 +176,18 @@ namespace Reset.Core{
value = new AnimationCurve();
label = newLabel;
}
public static void UpdateValue(CurveValueGroup valueGroup, ref AnimationCurve targetProperty, ref AnimationCurve defaultProperty){
public static void UpdateValue(CurveValueGroup valueGroup, SettingValue<AnimationCurve> settingValue){
switch (valueGroup.changeValue.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
targetProperty = valueGroup.value.value;
settingValue.Value = valueGroup.value.value;
break;
case ValueChangeAction.ResetValue:
targetProperty = defaultProperty;
settingValue.Value = settingValue.defaultValue;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
}
@@ -159,16 +206,21 @@ namespace Reset.Core{
label = newLabel;
}
public static void UpdateValue(EnumValueGroup valueGroup, ref Enum targetProperty, ref Enum defaultProperty){
public static void UpdateValue<T>(EnumValueGroup valueGroup, SettingValue<T> settingValue){
switch (valueGroup.changeValue.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
targetProperty = valueGroup.value.value;
settingValue.Value = (T)(object)valueGroup.value.value;
break;
case ValueChangeAction.ResetValue:
targetProperty = defaultProperty;
settingValue.Value = settingValue.defaultValue;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
}
}
public class Vector3ValueGroup : ValueGroup.ISmoothable{ // Done
@@ -227,8 +279,57 @@ namespace Reset.Core{
changeEasing = new BBParameter<ValueChangeAction>();
Easing = new BBParameter<float>().value = 0f;
}
public static void UpdateValue(Vector3ValueGroup valueGroup, SettingValue<Vector3> settingValue){
Vector3 newValue = settingValue.Value;
switch (valueGroup.changeX.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
newValue.x = valueGroup.value.value.x;
break;
case ValueChangeAction.ResetValue:
newValue.x = settingValue.defaultValue.x;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
switch (valueGroup.changeY.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
newValue.y = valueGroup.value.value.y;
break;
case ValueChangeAction.ResetValue:
newValue.y = settingValue.defaultValue.y;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
switch (valueGroup.changeZ.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
newValue.z = valueGroup.value.value.z;
break;
case ValueChangeAction.ResetValue:
newValue.z = settingValue.defaultValue.z;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
settingValue.Value = newValue;
ValueGroup.ChangeSmoothingEasing(valueGroup, settingValue);
}
[Obsolete]
public static void UpdateValue(Vector3ValueGroup valueGroup, ref Vector3 targetProperty, ref Vector3 defaultProperty){
switch (valueGroup.changeX.value) {
case ValueChangeAction.NewValue:
@@ -313,7 +414,42 @@ namespace Reset.Core{
changeEasing = new BBParameter<ValueChangeAction>();
Easing = new BBParameter<float>().value = 0f;
}
public static void UpdateValue(Vector2ValueGroup valueGroup, SettingValue<Vector2> settingValue){
Vector2 newValue = settingValue.Value;
switch (valueGroup.changeX.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
newValue.x = valueGroup.value.value.x;
break;
case ValueChangeAction.ResetValue:
newValue.x = settingValue.defaultValue.x;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
switch (valueGroup.changeY.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
newValue.y = valueGroup.value.value.y;
break;
case ValueChangeAction.ResetValue:
newValue.y = settingValue.defaultValue.y;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
settingValue.Value = newValue;
ValueGroup.ChangeSmoothingEasing(valueGroup, settingValue);
}
[Obsolete]
public static void UpdateValue(Vector2ValueGroup valueGroup, ref Vector2 targetProperty, ref Vector2 defaultProperty){
switch (valueGroup.changeX.value) {
case ValueChangeAction.NewValue:
@@ -386,6 +522,7 @@ namespace Reset.Core{
public static void UpdateValue(FloatValueGroup valueGroup, SettingValue<float> settingValue){
switch (valueGroup.changeValue.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
settingValue.Value = valueGroup.value.value;
break;
@@ -395,12 +532,15 @@ namespace Reset.Core{
case ValueChangeAction.RelativeValue:
settingValue.Value += valueGroup.value.value;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
ValueGroup.ChangeSmoothingEasing(valueGroup, ref settingValue.targetSmoothing,
ref settingValue.targetEasing, ref settingValue.defaultEasing, ref settingValue.defaultSmoothing);
ValueGroup.ChangeSmoothingEasing(valueGroup, settingValue);
}
[Obsolete]
public static void UpdateValue(FloatValueGroup valueGroup, ref float targetProperty, ref float defaultProperty){
Debug.LogWarning("Deprecated call of UpdateValue(). Use the new one with only two arguments!");
switch (valueGroup.changeValue.value) {
@@ -429,8 +569,25 @@ namespace Reset.Core{
changeValue = ValueChangeAction.NoChange;
}
public static void UpdateValue(BoolValueGroup valueGroup, SettingValue<bool> settingValue){
switch (valueGroup.changeValue.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
settingValue.Value = valueGroup.value.value;
break;
case ValueChangeAction.ResetValue:
settingValue.Value = settingValue.defaultValue;
break;
default:
Debug.LogError($"No value was changed for part of {valueGroup.label} because this ValueChangeAction was not supported.");
break;
}
}
[Obsolete]
public static void UpdateValue(BoolValueGroup valueGroup, ref bool targetProperty, ref bool defaultProperty){
switch (valueGroup.changeValue.value) {
case ValueChangeAction.NoChange: break;
case ValueChangeAction.NewValue:
targetProperty = valueGroup.value.value;
break;