Mr. Upbeat Re-Re-Rework (#525)

* so much

* reworked everything (AGAIN.)
 -everything just uses recursive methods and beatactions, and only uses the update loop for inactive queuing
* count-ins
 -need hq 4 sound effect, kitties doesn't have the og :(
* mr. downbeat rere-revived (unfortunately enough.)
* huge change to how stepping works, to make it so you can't step over it the wrong way, and so that missing looks good
* added missing miss anim, which happens in the same way as the og
* added a check on game switch to use the last bg change/blip color block's attributes
 -i think i might add these to other games; it should make the process of remixing more intuitive and fun, even if it's a small change

currently all i'm missing is blip jank fix. but im not staying up another hour for that lol

* letter/blip jank fixed + force stepping

* instead of being a separate animator, the letter is instead set to have a scale of (1, 1, 1) in the update loop, so that no graphical bugs happen even when the scale is changed.
* hopefully this new system is a lot less janky, but if bugs do still come up they'll be a lot easier to fix now
This commit is contained in:
AstrlJelly
2023-08-11 23:32:33 -04:00
committed by GitHub
parent 7da767ccbe
commit f540241fb7
57 changed files with 1962 additions and 978 deletions

View File

@ -199,7 +199,9 @@ namespace HeavenStudio.Editor.Track
lastPos = transform.localPosition;
}
} else {
}
else
{
if (moving) moving = false;
if (resizingLeft) SetPivot(new Vector2(1, rectTransform.pivot.y));
@ -287,14 +289,17 @@ namespace HeavenStudio.Editor.Track
{
var mgs = EventCaller.instance.minigames;
string[] datamodels = entity.datamodel.Split('/');
Debug.Log("Selected entity's datamodel : "+entity.datamodel);
bool isSwitchGame = (datamodels[1] == "switchGame");
bool isSwitchGame = datamodels[1] == "switchGame";
int gameIndex = mgs.FindIndex(c => c.name == datamodels[isSwitchGame ? 2 : 0]);
int block = isSwitchGame ? 0 : mgs[gameIndex].actions.FindIndex(c => c.actionName == datamodels[1]) + 1;
if (!isSwitchGame) {
// hardcoded stuff
// needs to happen because hidden blocks technically change the event index
if (datamodels[0] == "gameManager") block -= 2;
else if (datamodels[0] is "countIn" or "vfx") block--;
else if (datamodels[0] is "countIn" or "vfx") block -= 1;
}
GridGameSelector.instance.SelectGame(datamodels[isSwitchGame ? 2 : 0], block);