HeavenStudio/Assets/Scripts/Common/ScrollObject.cs

44 lines
1.4 KiB
C#
Raw Normal View History

Munchy Monk Finalized (#432) * stache stuff (still needs more work but yeah) * new icon (TEMPORARY ICON!!!) * some placeholder animations * more two two jank fixed, almost there * superscroll + fixing early misses * made a few temporary changes to superscroll.cs, i will be modifying it further for ease of use but for now it isn't permanent * made real progress on stopping repeat inputs -game is basically broken for the time being, but i wanna push this so nothing theoretically breaks. ill fix it all tomorrow when im less tired * it's been a while since i've committed my changes * modifiers work again (idk if i broke that in this commit or it was already broken) * stacking logic is here!!! it always uses the latest objects' hit/miss/early function so it should be perfect. i might be able to improve on efficiency tho -FollowHand animation is broken again unfortunately :( * dumplings can now be individually colored, and are assigned their colors in Start(). the smear's colors are defined on Hit() (HitFunction() to be specific) , so that even when there are multiple stacked dumplings, they'll all be accurate. maybe some other stuff but i cannot remember * clean-up + integral fixes onto Monk Move and SingleSuperScroll i think ill add some more comments too * fixed some missing/early stuff + a check for whether you can hit or not * fixed FollowHand animation and the squishing/dumpling on top * cleaned up a ton of unused variables + checks + anims * added unused sound sequences -ig if somebody knows how to use them they can implement them but idk how to and it's not worth figuring out rn * more work on superscroll; there seems to be too many changes to the structure of the script to keep the single scrolling in with the tile scrolling, will combine if necessary tho * fanClub/arisa_dab * monk move!! still working on singlesuperscroll :sob: but i got the monk moving!! * a few optimizations + starting on new singlesuperscroll * ok ScrollObject is usable now oh my GOD i need to optimize how it looks and functions but rn it works like it will when it's done (theoretically) ev do ur work * a few things + new icon!! * scroll speeds are good now * finished except for the stache bop :sob: :sob: :sob: :sob: :sob: why isn't it working * im pring this now --------- Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
2023-05-23 04:09:46 +00:00
using UnityEngine;
using System;
namespace HeavenStudio.Common
{
public class ScrollObject : MonoBehaviour
{
public bool AutoScroll;
public float XSpeed = 1.0f;
public float YSpeed = 1.0f;
public Vector2 NegativeBounds;
public Vector2 PositiveBounds;
[System.NonSerialized] public float SpeedMod = 5;
public void LateUpdate()
{
var pos = gameObject.transform.position;
float _x = Time.deltaTime*SpeedMod*XSpeed;
float _y = Time.deltaTime*SpeedMod*YSpeed;
if (AutoScroll && Conductor.instance.isPlaying) {
gameObject.transform.position += new Vector3(_x, _y);
if (XSpeed > 0 && pos.x >= PositiveBounds.x) {
SetPos(NegativeBounds.x, pos.y);
}
if (XSpeed < 0 && pos.x <= NegativeBounds.x) {
SetPos(PositiveBounds.x, pos.y);
}
if (YSpeed > 0 && pos.y >= PositiveBounds.y) {
SetPos(pos.x, NegativeBounds.y);
}
if (YSpeed < 0 && pos.y <= NegativeBounds.y) {
SetPos(pos.x, PositiveBounds.y);
}
}
}
public void SetPos(float x, float y)
{
gameObject.transform.position = new Vector3(x, y);
}
}
}