further work

attempt at fixing colour deserialization, not working
This commit is contained in:
minenice55 2022-08-21 20:50:19 -04:00
parent dcb2a71b98
commit 9de0e1734e
7 changed files with 17 additions and 17 deletions

View File

@ -198,14 +198,14 @@ namespace HeavenStudio
{ "type5", entity.type5 }, { "type5", entity.type5 },
{ "type6", entity.type6 }, { "type6", entity.type6 },
{ "ease", entity.ease }, { "ease", (int) entity.ease },
{ "colorA", entity.colorA }, { "colorA", (EntityTypes.SerializableColor) entity.colorA },
{ "colorB", entity.colorB }, { "colorB", (EntityTypes.SerializableColor) entity.colorB },
{ "colorC", entity.colorC }, { "colorC", (EntityTypes.SerializableColor) entity.colorC },
{ "colorD", entity.colorD }, { "colorD", (EntityTypes.SerializableColor) entity.colorD },
{ "colorE", entity.colorE }, { "colorE", (EntityTypes.SerializableColor) entity.colorE },
{ "colorF", entity.colorF }, { "colorF", (EntityTypes.SerializableColor) entity.colorF },
{ "text1", entity.text1 }, { "text1", entity.text1 },
{ "text2", entity.text2 }, { "text2", entity.text2 },

View File

@ -125,7 +125,7 @@ namespace HeavenStudio
float prog = Conductor.instance.GetPositionFromBeat(e.beat, e.length); float prog = Conductor.instance.GetPositionFromBeat(e.beat, e.length);
if (prog >= 0f) if (prog >= 0f)
{ {
EasingFunction.Function func = EasingFunction.GetEasingFunction(e["ease"]); EasingFunction.Function func = EasingFunction.GetEasingFunction((EasingFunction.Ease) e["ease"]);
float dx = func(positionLast.x, e["valA"], Mathf.Min(prog, 1f)); float dx = func(positionLast.x, e["valA"], Mathf.Min(prog, 1f));
float dy = func(positionLast.y, e["valB"], Mathf.Min(prog, 1f)); float dy = func(positionLast.y, e["valB"], Mathf.Min(prog, 1f));
float dz = func(positionLast.z, -e["valC"], Mathf.Min(prog, 1f)); float dz = func(positionLast.z, -e["valC"], Mathf.Min(prog, 1f));
@ -145,7 +145,7 @@ namespace HeavenStudio
float prog = Conductor.instance.GetPositionFromBeat(e.beat, e.length); float prog = Conductor.instance.GetPositionFromBeat(e.beat, e.length);
if (prog >= 0f) if (prog >= 0f)
{ {
EasingFunction.Function func = EasingFunction.GetEasingFunction(e["ease"]); EasingFunction.Function func = EasingFunction.GetEasingFunction((EasingFunction.Ease) e["ease"]);
float dx = func(rotEluerLast.x, e["valA"], Mathf.Min(prog, 1f)); float dx = func(rotEluerLast.x, e["valA"], Mathf.Min(prog, 1f));
float dy = func(rotEluerLast.y, e["valB"], Mathf.Min(prog, 1f)); float dy = func(rotEluerLast.y, e["valB"], Mathf.Min(prog, 1f));
float dz = func(-rotEluerLast.z, e["valC"], Mathf.Min(prog, 1f)); float dz = func(-rotEluerLast.z, e["valC"], Mathf.Min(prog, 1f));

View File

@ -92,7 +92,7 @@ namespace HeavenStudio.Games.Global
endCol = new Color(colB.r, colB.g, colB.b, startEntity["valB"]); endCol = new Color(colB.r, colB.g, colB.b, startEntity["valB"]);
} }
SetFade(startEntity.beat, startEntity.length, startCol, endCol, startEntity["ease"]); SetFade(startEntity.beat, startEntity.length, startCol, endCol, (EasingFunction.Ease) startEntity["ease"]);
} }
} }
} }

View File

@ -206,7 +206,7 @@ namespace HeavenStudio.Games
else else
currentZoomCamDistance = dist; currentZoomCamDistance = dist;
lastEase = allCameraEvents[currentZoomIndex]["ease"]; lastEase = (EasingFunction.Ease) allCameraEvents[currentZoomIndex]["ease"];
} }
} }

View File

@ -120,10 +120,10 @@ namespace HeavenStudio.Editor
); );
break; break;
case Color _:
case EntityTypes.SerializableColor _: case EntityTypes.SerializableColor _:
case Color _:
colorPreview.colorPicker.onColorChanged += _ => colorPreview.colorPicker.onColorChanged += _ =>
parameterManager.entity[propertyName] = colorPreview.colorPicker.color; parameterManager.entity[propertyName] = new EntityTypes.SerializableColor { Color = colorPreview.colorPicker.color };
Color paramCol = parameterManager.entity[propertyName]; Color paramCol = parameterManager.entity[propertyName];

View File

@ -594,7 +594,7 @@ namespace HeavenStudio.Editor.Track
} }
else if (propertyType == typeof(Color)) else if (propertyType == typeof(Color))
{ {
returnVal = new EntityTypes.SerializableColor{ Color = (Color)ep[i].parameter }; returnVal = new EntityTypes.SerializableColor { Color = (UnityEngine.Color) ep[i].parameter };
} }
else if (propertyType.IsEnum) else if (propertyType.IsEnum)
{ {

View File

@ -43,20 +43,20 @@ namespace HeavenStudio
public class SerializableColor public class SerializableColor
{ {
public float[] colorStore = new float[4] { 1F, 1F, 1F, 1F }; public float[] colorStore = new float[4] { 1F, 1F, 1F, 1F };
public Color Color public UnityEngine.Color Color
{ {
get { return new Color(colorStore[0], colorStore[1], colorStore[2], colorStore[3]); } get { return new Color(colorStore[0], colorStore[1], colorStore[2], colorStore[3]); }
set { colorStore = new float[4] { value.r, value.g, value.b, value.a }; } set { colorStore = new float[4] { value.r, value.g, value.b, value.a }; }
} }
//makes this class usable as Color, Color normalColor = mySerializableColor; //makes this class usable as Color, Color normalColor = mySerializableColor;
public static implicit operator Color(SerializableColor instance) public static implicit operator UnityEngine.Color(SerializableColor instance)
{ {
return instance.Color; return instance.Color;
} }
//makes this class assignable by Color, SerializableColor myColor = Color.white; //makes this class assignable by Color, SerializableColor myColor = Color.white;
public static implicit operator SerializableColor(Color color) public static implicit operator SerializableColor(UnityEngine.Color color)
{ {
return new SerializableColor { Color = color }; return new SerializableColor { Color = color };
} }