Skip to content

Commit e884a93

Browse files
committed
refactor
1 parent 5ede994 commit e884a93

23 files changed

+482
-353
lines changed

Core/AvatarToggleMenu.cs

Lines changed: 21 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -83,27 +83,27 @@ public bool UseAdvanced
8383
}
8484
foreach (var key in ToggleBlendShapes.Keys.ToList())
8585
{
86-
ToggleBlendShapes[key] = ToggleBlendShapes[key].ResetAdvanced();
86+
ToggleBlendShapes[key].ResetAdvanced();
8787
}
8888
foreach (var key in ToggleShaderParameters.Keys.ToList())
8989
{
90-
ToggleShaderParameters[key] = ToggleShaderParameters[key].ResetAdvanced();
90+
ToggleShaderParameters[key].ResetAdvanced();
9191
}
9292
foreach (var key in ToggleValues.Keys.ToList())
9393
{
94-
ToggleValues[key] = ToggleValues[key].ResetAdvanced();
94+
ToggleValues[key].ResetAdvanced();
9595
}
9696
foreach (var key in Positions.Keys.ToList())
9797
{
98-
Positions[key] = Positions[key].ResetAdvanced();
98+
Positions[key].ResetAdvanced();
9999
}
100100
foreach (var key in Rotations.Keys.ToList())
101101
{
102-
Rotations[key] = Rotations[key].ResetAdvanced();
102+
Rotations[key].ResetAdvanced();
103103
}
104104
foreach (var key in Scales.Keys.ToList())
105105
{
106-
Scales[key] = Scales[key].ResetAdvanced();
106+
Scales[key].ResetAdvanced();
107107
}
108108
}
109109
}
@@ -724,19 +724,12 @@ void ShowToggleBlendShapeControl(
724724
if (newValue.Inactive > (float)maxValue) newValue.Inactive = (float)maxValue;
725725
if (newValue.Active > (float)maxValue) newValue.Active = (float)maxValue;
726726
}
727-
if (newValue.TransitionOffsetPercent < 0) newValue.TransitionOffsetPercent = 0;
728-
if (newValue.TransitionOffsetPercent > 100) newValue.TransitionOffsetPercent = 100;
729-
if (newValue.TransitionDurationPercent <= 0) newValue.TransitionDurationPercent = 1;
730-
if (newValue.TransitionDurationPercent > 100) newValue.TransitionDurationPercent = 100;
731-
if (newValue.TransitionOffsetPercent + newValue.TransitionDurationPercent > 100)
732-
{
733-
newValue.TransitionDurationPercent = 100 - newValue.TransitionOffsetPercent;
734-
}
727+
newValue.AdjustTransitionValues();
735728

736729
toggles[key] = newValue;
737730
if (BulkSet)
738731
{
739-
BulkSetToggleBlendShape(toggles, name.Name, newValue, value.ChangedProp(newValue));
732+
BulkSetToggleBlendShape(toggles, name.Name, newValue, value.ChangedProps(newValue));
740733
}
741734
}
742735
}
@@ -748,7 +741,7 @@ void ShowToggleBlendShapeControl(
748741
}
749742
}
750743

751-
void BulkSetToggleBlendShape(ToggleBlendShapeDictionary toggles, string toggleName, ToggleBlendShape toggleBlendShape, string changedProp)
744+
void BulkSetToggleBlendShape(ToggleBlendShapeDictionary toggles, string toggleName, ToggleBlendShape toggleBlendShape, IEnumerable<string> changedProps)
752745
{
753746
var matches = new List<(string, string)>();
754747
foreach (var (child, name) in toggles.Keys)
@@ -760,7 +753,10 @@ void BulkSetToggleBlendShape(ToggleBlendShapeDictionary toggles, string toggleNa
760753
}
761754
foreach (var key in matches)
762755
{
763-
toggles[key] = toggles[key].SetProp(changedProp, toggleBlendShape.GetProp(changedProp));
756+
foreach (var changedProp in changedProps)
757+
{
758+
toggles[key].SetProp(changedProp, toggleBlendShape.GetProp(changedProp));
759+
}
764760
}
765761
}
766762

@@ -968,7 +964,7 @@ void BulkSetToggleValue(TypeMember toggleTypeMember, ToggleValue toggleValue, IE
968964
{
969965
foreach (var changedProp in changedProps)
970966
{
971-
ToggleValues[key] = ToggleValues[key].SetProp(changedProp, toggleValue.GetProp(changedProp));
967+
ToggleValues[key].SetProp(changedProp, toggleValue.GetProp(changedProp));
972968
}
973969
}
974970
}
@@ -1098,19 +1094,12 @@ void ShowTransformComponentControl(IList<string> children, string child, ToggleV
10981094
if (!value.Equals(newValue))
10991095
{
11001096
WillChange();
1101-
if (newValue.TransitionOffsetPercent < 0) newValue.TransitionOffsetPercent = 0;
1102-
if (newValue.TransitionOffsetPercent > 100) newValue.TransitionOffsetPercent = 100;
1103-
if (newValue.TransitionDurationPercent <= 0) newValue.TransitionDurationPercent = 1;
1104-
if (newValue.TransitionDurationPercent > 100) newValue.TransitionDurationPercent = 100;
1105-
if (newValue.TransitionOffsetPercent + newValue.TransitionDurationPercent > 100)
1106-
{
1107-
newValue.TransitionDurationPercent = 100 - newValue.TransitionOffsetPercent;
1108-
}
1097+
newValue.AdjustTransitionValues();
11091098

11101099
values[child] = newValue;
11111100
if (BulkSet)
11121101
{
1113-
BulkSetTransformComponent(values, newValue, value.ChangedProp(newValue));
1102+
BulkSetTransformComponent(values, newValue, value.ChangedProps(newValue));
11141103
}
11151104
}
11161105
}
@@ -1121,11 +1110,14 @@ void ShowTransformComponentControl(IList<string> children, string child, ToggleV
11211110
}
11221111
}
11231112

1124-
void BulkSetTransformComponent(ToggleVector3Dictionary values, ToggleVector3 value, string changedProp)
1113+
void BulkSetTransformComponent(ToggleVector3Dictionary values, ToggleVector3 value, IEnumerable<string> changedProps)
11251114
{
11261115
foreach (var key in values.Keys.ToArray())
11271116
{
1128-
values[key] = values[key].SetProp(changedProp, value.GetProp(changedProp));
1117+
foreach (var changedProp in changedProps)
1118+
{
1119+
values[key].SetProp(changedProp, value.GetProp(changedProp));
1120+
}
11291121
}
11301122
}
11311123

Core/IToggleComplexItem.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#if UNITY_EDITOR
2+
using net.narazaka.avatarmenucreator.valuecurve;
3+
#endif
4+
5+
namespace net.narazaka.avatarmenucreator
6+
{
7+
public interface IToggleComplexItem
8+
{
9+
#if UNITY_EDITOR
10+
INamedAnimationToggleCurve ComplexAnimationToggleCurve(string prefix);
11+
#endif
12+
}
13+
}

Core/IToggleComplexItem.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Core/IToggleSingleItem.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#if UNITY_EDITOR
2+
using net.narazaka.avatarmenucreator.valuecurve;
3+
#endif
4+
5+
namespace net.narazaka.avatarmenucreator
6+
{
7+
public interface IToggleSingleItem
8+
{
9+
#if UNITY_EDITOR
10+
IAnimationToggleCurve AnimationToggleCurve();
11+
#endif
12+
}
13+
}

Core/IToggleSingleItem.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Core/IToggleTypedComplexItem.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#if UNITY_EDITOR
2+
using net.narazaka.avatarmenucreator.valuecurve;
3+
using System;
4+
#endif
5+
6+
namespace net.narazaka.avatarmenucreator
7+
{
8+
public interface IToggleTypedComplexItem
9+
{
10+
#if UNITY_EDITOR
11+
INamedAnimationToggleCurve ComplexAnimationToggleCurve(Type type, string prefix);
12+
#endif
13+
}
14+
}

Core/IToggleTypedComplexItem.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Core/IToggleTypedSingleItem.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#if UNITY_EDITOR
2+
using net.narazaka.avatarmenucreator.valuecurve;
3+
using System;
4+
#endif
5+
6+
namespace net.narazaka.avatarmenucreator
7+
{
8+
public interface IToggleTypedSingleItem
9+
{
10+
#if UNITY_EDITOR
11+
IAnimationToggleCurve AnimationToggleCurve(Type type);
12+
#endif
13+
}
14+
}

Core/IToggleTypedSingleItem.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Core/IUseActive.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace net.narazaka.avatarmenucreator
2+
{
3+
public interface IUseActive
4+
{
5+
bool UseActive { get; }
6+
bool UseInactive { get; }
7+
}
8+
}

0 commit comments

Comments
 (0)