i did another funny
This commit is contained in:
parent
d0220611bb
commit
3c2a867f3f
|
|
@ -6402,7 +6402,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
m_AnchoredPosition: {x: 194, y: 0}
|
||||
m_AnchoredPosition: {x: 194.00002, y: 0}
|
||||
m_SizeDelta: {x: 40, y: 40}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &285739500
|
||||
|
|
@ -13774,6 +13774,14 @@ PrefabInstance:
|
|||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1535126665250126034, guid: 720073bc7682b1441bece7116681f72c, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
value: 1728
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1535126665250126034, guid: 720073bc7682b1441bece7116681f72c, type: 3}
|
||||
propertyPath: m_SizeDelta.y
|
||||
value: 972
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1535126665250126034, guid: 720073bc7682b1441bece7116681f72c, type: 3}
|
||||
propertyPath: m_ConstrainProportionsScale
|
||||
value: 0
|
||||
|
|
@ -15753,7 +15761,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
m_AnchoredPosition: {x: 100, y: 0}
|
||||
m_AnchoredPosition: {x: 100.000015, y: 0}
|
||||
m_SizeDelta: {x: 40, y: 40}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &689781278
|
||||
|
|
@ -24782,7 +24790,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 129.94975}
|
||||
m_AnchoredPosition: {x: 0, y: 105.87459}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
--- !u!114 &1154875944
|
||||
|
|
@ -33259,7 +33267,7 @@ MonoBehaviour:
|
|||
m_TargetGraphic: {fileID: 1292844878}
|
||||
m_HandleRect: {fileID: 1292844877}
|
||||
m_Direction: 2
|
||||
m_Value: 1
|
||||
m_Value: 0
|
||||
m_Size: 1
|
||||
m_NumberOfSteps: 0
|
||||
m_OnValueChanged:
|
||||
|
|
@ -33685,40 +33693,6 @@ GameObject:
|
|||
m_CorrespondingSourceObject: {fileID: 2464883521749415129, guid: 720073bc7682b1441bece7116681f72c, type: 3}
|
||||
m_PrefabInstance: {fileID: 631525709}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1818360610 &1638236453
|
||||
ScaleConstraint:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1638236449}
|
||||
m_Enabled: 1
|
||||
m_Weight: 1
|
||||
m_ScaleAtRest: {x: 1, y: 1, z: 1}
|
||||
m_ScaleOffset: {x: 1, y: 1, z: 1}
|
||||
m_AffectScalingX: 1
|
||||
m_AffectScalingY: 1
|
||||
m_AffectScalingZ: 1
|
||||
m_IsContraintActive: 1
|
||||
m_IsLocked: 1
|
||||
m_Sources: []
|
||||
--- !u!1818360608 &1638236454
|
||||
PositionConstraint:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1638236449}
|
||||
m_Enabled: 1
|
||||
m_Weight: 1
|
||||
m_TranslationAtRest: {x: 0, y: 0, z: 0}
|
||||
m_TranslationOffset: {x: 0, y: 0, z: 0}
|
||||
m_AffectTranslationX: 1
|
||||
m_AffectTranslationY: 1
|
||||
m_AffectTranslationZ: 1
|
||||
m_IsContraintActive: 0
|
||||
m_IsLocked: 0
|
||||
m_Sources: []
|
||||
--- !u!1 &1647324172
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -36943,7 +36917,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: -84.98999}
|
||||
m_AnchoredPosition: {x: 0, y: -84.98996}
|
||||
m_SizeDelta: {x: 320, y: -84.99}
|
||||
m_Pivot: {x: 0, y: 1}
|
||||
--- !u!1 &1852819572
|
||||
|
|
@ -41664,7 +41638,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
m_AnchoredPosition: {x: 147, y: 0}
|
||||
m_AnchoredPosition: {x: 147.00002, y: 0}
|
||||
m_SizeDelta: {x: 40, y: 40}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &2125404437
|
||||
|
|
|
|||
|
|
@ -718,8 +718,23 @@ namespace HeavenStudio
|
|||
new Param("valA", new EntityTypes.Float(0, 50, 1), "Scale Letterbox X"),
|
||||
new Param("valB", new EntityTypes.Float(0, 50, 1), "Scale Letterbox Y"),
|
||||
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease Type"),
|
||||
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "The axis to scale the letterbox in"),
|
||||
new Param("toggle", true, "Mirror scaling", "Mirror the scaling of the letterbox via scaling the minigame as well.")
|
||||
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "The axis to scale the letterbox in")
|
||||
}
|
||||
),
|
||||
new GameAction("complex pan", "Scale Viewport(Complex)", 1f, true, new List<Param>()
|
||||
{
|
||||
new Param("valA", new EntityTypes.Float(-50, 50, 1), "Pan Viewport X"),
|
||||
new Param("valB", new EntityTypes.Float(-50, 50, 1), "Pan Viewport Y"),
|
||||
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease Type"),
|
||||
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "The axis to pan the viewport in")
|
||||
}
|
||||
),
|
||||
new GameAction("complex scale", "Scale Viewport(Complex)", 1f, true, new List<Param>()
|
||||
{
|
||||
new Param("valA", new EntityTypes.Float(0, 50, 1), "Scale Viewport X"),
|
||||
new Param("valB", new EntityTypes.Float(0, 50, 1), "Scale Viewport Y"),
|
||||
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease Type"),
|
||||
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "The axis to scale the viewport in")
|
||||
}
|
||||
),
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ namespace HeavenStudio
|
|||
[SerializeField] GameObject ambientBgGO;
|
||||
[SerializeField] GameObject letterboxBgGO;
|
||||
[SerializeField] RectTransform letterboxMask;
|
||||
[SerializeField] GameObject maskObj;
|
||||
[SerializeField] RawImage viewportTexture;
|
||||
|
||||
public static StaticCamera instance { get; private set; }
|
||||
public new Camera camera;
|
||||
|
|
@ -40,11 +40,15 @@ namespace HeavenStudio
|
|||
private List<RiqEntity> scaleEvents = new();
|
||||
private List<RiqEntity> rotationEvents = new();
|
||||
private List<RiqEntity> letterboxEvents = new();
|
||||
private List<RiqEntity> complexPanEvents = new();
|
||||
private List<RiqEntity> complexScaleEvents = new();
|
||||
|
||||
static Vector3 defaultPan = new Vector3(0, 0, 0);
|
||||
static Vector3 defaultScale = new Vector3(1, 1, 1);
|
||||
static float defaultRotation = 0;
|
||||
static Vector3 defaultLetterbox = new Vector3(1, 1, 1);
|
||||
static Vector3 defaultComplexPan = new Vector3(0, 0, 0);
|
||||
static Vector3 defaultComplexScale = new Vector3(1, 1, 1);
|
||||
|
||||
private static Vector3 pan;
|
||||
private static Vector3 scale;
|
||||
|
|
@ -52,14 +56,15 @@ namespace HeavenStudio
|
|||
private static Vector3 letterbox;
|
||||
private static Vector3 panInv;
|
||||
private static Vector3 scaleInv;
|
||||
|
||||
private static bool toggle;
|
||||
private Transform[] children = null;
|
||||
private static Vector3 complexPan;
|
||||
private static Vector3 complexScale;
|
||||
|
||||
private static Vector3 panLast;
|
||||
private static Vector3 scaleLast;
|
||||
private static float rotationLast;
|
||||
private static Vector3 letterboxLast;
|
||||
private static Vector3 complexPanLast;
|
||||
private static Vector3 complexScaleLast;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
|
@ -78,13 +83,11 @@ namespace HeavenStudio
|
|||
letterboxLast = defaultLetterbox;
|
||||
scaleLast = defaultScale;
|
||||
rotationLast = defaultRotation;
|
||||
complexPanLast = defaultComplexPan;
|
||||
complexScaleLast = defaultComplexScale;
|
||||
|
||||
ToggleLetterboxBg(PersistentDataManager.gameSettings.letterboxBgEnable);
|
||||
ToggleLetterboxGlow(PersistentDataManager.gameSettings.letterboxFxEnable);
|
||||
/*
|
||||
children = new Transform[ maskObj.transform.childCount ];
|
||||
foreach(Transform T in transform)
|
||||
children.add(T);*/
|
||||
}
|
||||
|
||||
public void OnBeatChanged(double beat)
|
||||
|
|
@ -95,16 +98,22 @@ namespace HeavenStudio
|
|||
scaleEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "scale view" });
|
||||
rotationEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "rotate view" });
|
||||
letterboxEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "scale letterbox" });
|
||||
complexPanEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "complex pan"});
|
||||
complexScaleEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "complex scale" });
|
||||
|
||||
panLast = defaultPan;
|
||||
letterboxLast = defaultLetterbox;
|
||||
scaleLast = defaultScale;
|
||||
rotationLast = defaultRotation;
|
||||
complexPanLast = defaultComplexPan;
|
||||
complexScaleLast = defaultComplexScale;
|
||||
|
||||
UpdatePan();
|
||||
UpdateRotation();
|
||||
UpdateScale();
|
||||
UpdateLetterbox();
|
||||
UpdateComplexPan();
|
||||
UpdatecomplexScale();
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
|
|
@ -114,34 +123,18 @@ namespace HeavenStudio
|
|||
UpdatePan();
|
||||
UpdateRotation();
|
||||
UpdateScale();
|
||||
UpdateComplexPan();
|
||||
UpdatecomplexScale();
|
||||
|
||||
canvas.localPosition = pan;
|
||||
canvas.localScale = scale;
|
||||
canvas.eulerAngles = new Vector3(0, 0, rotation);
|
||||
//if(!toggle)canvas.localPosition = panInv;
|
||||
//if(!toggle)canvas.localScale = scaleInv;
|
||||
if(!toggle)
|
||||
{
|
||||
//canvas.transform.SetParent(null); dont do that
|
||||
letterboxMask.localScale = letterbox;
|
||||
canvas.transform.localScale = scale;
|
||||
//letterboxMask.localScale = letterbox;
|
||||
|
||||
} //heyo future me FIX THIS MESS PLEASEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
|
||||
//canvas.localScale = canvas.InverseTransformDirection(scaleInv);
|
||||
/*if(!toggle)
|
||||
{
|
||||
canvas.localPosition = canvas.InverseTransformVector(panInv);
|
||||
|
||||
canvas.eulerAngles = canvas.TransformVector(new Vector3(0, 0, rotation));
|
||||
toggle = true;
|
||||
}else{
|
||||
canvas.localPosition = pan;
|
||||
canvas.localScale = scale;
|
||||
canvas.eulerAngles = new Vector3(0, 0, rotation);
|
||||
}
|
||||
*/
|
||||
letterboxMask.localScale = letterbox;
|
||||
scaleInv = scale;
|
||||
scaleInv.x /= letterbox.x;
|
||||
scaleInv.y /= letterbox.y;
|
||||
scaleInv.z /= letterbox.z;
|
||||
canvas.localScale = scaleInv;
|
||||
viewportTexture.uvRect = new Rect(complexPan.x, complexPan.y, complexScale.x, complexScale.y);
|
||||
}
|
||||
|
||||
private void UpdatePan()
|
||||
|
|
@ -255,23 +248,14 @@ namespace HeavenStudio
|
|||
{
|
||||
case (int) ViewAxis.X:
|
||||
letterbox.x = func(letterboxLast.x, e["valA"], Mathf.Min(prog, 1f)) * AspectRatioWidth;
|
||||
panInv = pan;
|
||||
scaleInv = scale;
|
||||
toggle = e["toggle"];
|
||||
break;
|
||||
case (int) ViewAxis.Y:
|
||||
letterbox.y = func(letterboxLast.y, e["valB"], Mathf.Min(prog, 1f)) * AspectRatioHeight;
|
||||
panInv = pan;
|
||||
scaleInv = scale;
|
||||
toggle = e["toggle"];
|
||||
break;
|
||||
default:
|
||||
float dx = func(letterboxLast.x, e["valA"], Mathf.Min(prog, 1f)) * AspectRatioWidth;
|
||||
float dy = func(letterboxLast.y, e["valB"], Mathf.Min(prog, 1f)) * AspectRatioHeight;
|
||||
letterbox = new Vector3(dx, dy, 1);
|
||||
panInv = pan;
|
||||
scaleInv = scale;
|
||||
toggle = e["toggle"];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -293,13 +277,96 @@ namespace HeavenStudio
|
|||
}
|
||||
}
|
||||
|
||||
private void UpdateComplexPan()
|
||||
{
|
||||
foreach (var e in complexPanEvents)
|
||||
{
|
||||
float prog = Conductor.instance.GetPositionFromBeat(e.beat, e.length);
|
||||
if (prog >= 0f)
|
||||
{
|
||||
Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease) e["ease"]);
|
||||
switch (e["axis"])
|
||||
{
|
||||
case (int) ViewAxis.X:
|
||||
complexPan.x = func(complexPanLast.x, e["valA"], Mathf.Min(prog, 1f));
|
||||
break;
|
||||
case (int) ViewAxis.Y:
|
||||
complexPan.y = func(complexPan.y, e["valB"], Mathf.Min(prog, 1f));
|
||||
break;
|
||||
default:
|
||||
float dx = func(complexPanLast.x, e["valA"], Mathf.Min(prog, 1f));
|
||||
float dy = func(complexPanLast.y, e["valB"], Mathf.Min(prog, 1f));
|
||||
complexPan = new Vector3(dx, dy, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (prog > 1f)
|
||||
{
|
||||
switch (e["axis"])
|
||||
{
|
||||
case (int) ViewAxis.X:
|
||||
complexPanLast.x = e["valA"];
|
||||
break;
|
||||
case (int) ViewAxis.Y:
|
||||
complexPanLast.y = e["valB"];
|
||||
break;
|
||||
default:
|
||||
complexPanLast = new Vector3(e["valA"], e["valB"], 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdatecomplexScale()
|
||||
{
|
||||
foreach (var e in complexScaleEvents)
|
||||
{
|
||||
float prog = Conductor.instance.GetPositionFromBeat(e.beat, e.length);
|
||||
if (prog >= 0f)
|
||||
{
|
||||
Util.EasingFunction.Function func = Util.EasingFunction.GetEasingFunction((Util.EasingFunction.Ease) e["ease"]);
|
||||
switch (e["axis"])
|
||||
{
|
||||
case (int) ViewAxis.X:
|
||||
complexScale.x = func(complexScaleLast.x, e["valA"], Mathf.Min(prog, 1f)) * AspectRatioWidth;
|
||||
break;
|
||||
case (int) ViewAxis.Y:
|
||||
complexScale.y = func(complexScaleLast.y, e["valB"], Mathf.Min(prog, 1f)) * AspectRatioHeight;
|
||||
break;
|
||||
default:
|
||||
float dx = func(complexScaleLast.x, e["valA"], Mathf.Min(prog, 1f)) * AspectRatioWidth;
|
||||
float dy = func(complexScaleLast.y, e["valB"], Mathf.Min(prog, 1f)) * AspectRatioHeight;
|
||||
complexScale = new Vector3(dx, dy, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (prog > 1f)
|
||||
{
|
||||
switch (e["axis"])
|
||||
{
|
||||
case (int) ViewAxis.X:
|
||||
complexScaleLast.x = e["valA"] * AspectRatioWidth;
|
||||
break;
|
||||
case (int) ViewAxis.Y:
|
||||
complexScaleLast.y = e["valB"] * AspectRatioHeight;
|
||||
break;
|
||||
default:
|
||||
complexScaleLast = new Vector3(e["valA"] * AspectRatioWidth, e["valB"] * AspectRatioHeight, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Reset()
|
||||
{
|
||||
pan = defaultPan;
|
||||
scale = defaultScale;
|
||||
rotation = defaultRotation;
|
||||
letterbox = defaultLetterbox;
|
||||
toggle = true;
|
||||
complexPan = defaultComplexPan;
|
||||
complexScale = defaultComplexScale;
|
||||
}
|
||||
|
||||
public void ToggleOverlayView(bool toggle)
|
||||
|
|
|
|||
Loading…
Reference in a new issue