mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-12 16:57:39 +02:00
Timekeeping Improvements and Small Optimizations (#544)
* make BeatActions coroutines instead of componentrs * pooled scheduled sounds implement S' entity seek * remove debug prints from last two changes * implement absolute time tracking implement DSP time resyncing * optimize GameManager * update TMPro * update IDE packages * fix dsp sync making the drift worse * fix issue with the JSL dll * relocate debug print * make scheduled pitch setter functional * any cpu
This commit is contained in:
@ -763,7 +763,7 @@ namespace HeavenStudio.Games
|
||||
|
||||
int comboId = KarateManPot.GetNewCombo();
|
||||
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { CreateItemInstance(beat, "Item00", 0, KarateManPot.ItemType.ComboPot1, comboId); }),
|
||||
new BeatAction.Action(beat + 0.25f, delegate { CreateItemInstance(beat + 0.25f, "Item00", 0, KarateManPot.ItemType.ComboPot2, comboId); }),
|
||||
@ -1043,7 +1043,7 @@ namespace HeavenStudio.Games
|
||||
{
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + i, delegate
|
||||
{
|
||||
|
@ -276,7 +276,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
public void ForceFailCombo(double beat)
|
||||
{
|
||||
if (inCombo) return;
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { Punch(1); inCombo = true; inComboId = -1; shouldComboId = -1;}),
|
||||
new BeatAction.Action(beat + 0.25f, delegate { Punch(2); }),
|
||||
@ -297,7 +297,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
{
|
||||
wantKick = true;
|
||||
unPrepareTime = double.MinValue;
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(this, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate {
|
||||
if (wantKick)
|
||||
|
@ -186,20 +186,20 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
break;
|
||||
case ItemType.ComboPot2:
|
||||
path = 1;
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>() { new BeatAction.Action(startBeat + 1f, delegate { JoeComboSequence(); }) });
|
||||
BeatAction.New(this, new List<BeatAction.Action>() { new BeatAction.Action(startBeat + 1f, delegate { JoeComboSequence(); }) });
|
||||
break;
|
||||
case ItemType.ComboPot3:
|
||||
path = 2;
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>() { new BeatAction.Action(startBeat + 1f, delegate { JoeComboSequence(); }) });
|
||||
BeatAction.New(this, new List<BeatAction.Action>() { new BeatAction.Action(startBeat + 1f, delegate { JoeComboSequence(); }) });
|
||||
break;
|
||||
case ItemType.ComboPot4:
|
||||
path = 3;
|
||||
//if the button isn't held anymore make Joe spin
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>() { new BeatAction.Action(startBeat + 1f, delegate { JoeComboSequence(); }) });
|
||||
BeatAction.New(this, new List<BeatAction.Action>() { new BeatAction.Action(startBeat + 1f, delegate { JoeComboSequence(); }) });
|
||||
break;
|
||||
case ItemType.ComboPot5:
|
||||
path = 4;
|
||||
BeatAction.New(gameObject, new List<BeatAction.Action>() { new BeatAction.Action(startBeat + 1f, delegate { JoeComboSequence(); }) });
|
||||
BeatAction.New(this, new List<BeatAction.Action>() { new BeatAction.Action(startBeat + 1f, delegate { JoeComboSequence(); }) });
|
||||
break;
|
||||
case ItemType.ComboBarrel:
|
||||
OnHit = KarateMan.instance.ScheduleInput(startBeat, 1f, InputType.STANDARD_ALT_UP, ComboEndJustOrNg, ComboEndThrough, ComboEndOut, CanComboEnd);
|
||||
@ -711,7 +711,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
if (OnHitExpression == (int) KarateMan.KarateManFaces.Normal)
|
||||
return;
|
||||
var joe = KarateMan.instance.Joe;
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(offset, delegate {
|
||||
joe.SetFaceExpression(OnHitExpression);
|
||||
@ -741,7 +741,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
status = FlyStatus.NG;
|
||||
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Sad);
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 2f, delegate {
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Normal);
|
||||
@ -792,7 +792,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
ItemHitEffect();
|
||||
}
|
||||
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 4f, delegate {
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Sad);
|
||||
@ -811,7 +811,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
var joe = KarateMan.instance.Joe;
|
||||
if (GameManager.instance.currentGame != "karateman") return;
|
||||
if (status != FlyStatus.Fly || gameObject == null) return;
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 2f, delegate {
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Surprise);
|
||||
@ -862,7 +862,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
var joe = KarateMan.instance.Joe;
|
||||
if (GameManager.instance.currentGame != "karateman") return;
|
||||
if (status != FlyStatus.Fly || gameObject == null) return;
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 2f, delegate {
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Surprise);
|
||||
@ -919,7 +919,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
SoundByte.PlayOneShot("miss");
|
||||
status = FlyStatus.NG;
|
||||
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 2f, delegate {
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Sad);
|
||||
@ -959,7 +959,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
var joe = KarateMan.instance.Joe;
|
||||
if (joe.GetComboId() != comboId || !joe.inCombo)
|
||||
{
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 2f, delegate {
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Surprise);
|
||||
@ -973,7 +973,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
else
|
||||
{
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.VerySad);
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 1.5f, delegate {
|
||||
joe.inCombo = false;
|
||||
@ -1007,7 +1007,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
status = FlyStatus.NG;
|
||||
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Sad);
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 2f, delegate {
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Normal);
|
||||
@ -1030,7 +1030,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
var joe = KarateMan.instance.Joe;
|
||||
if (GameManager.instance.currentGame != "karateman") return;
|
||||
if (status != FlyStatus.Fly || gameObject == null) return;
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 2f, delegate {
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Surprise);
|
||||
@ -1065,7 +1065,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
SoundByte.PlayOneShot("miss");
|
||||
status = FlyStatus.NG;
|
||||
|
||||
BeatAction.New(joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 1.25f, delegate {
|
||||
joe.SetFaceExpression((int) KarateMan.KarateManFaces.Sad);
|
||||
@ -1096,7 +1096,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||
{
|
||||
if (GameManager.instance.currentGame != "karateman") return;
|
||||
if (status != FlyStatus.Fly || gameObject == null) return;
|
||||
BeatAction.New(KarateMan.instance.Joe.gameObject, new List<BeatAction.Action>()
|
||||
BeatAction.New(KarateMan.instance.Joe, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(startBeat + 2f, delegate {
|
||||
KarateMan.instance.Joe.SetFaceExpression((int) KarateMan.KarateManFaces.VerySad);
|
||||
|
Reference in New Issue
Block a user