more testing

This commit is contained in:
wookywok 2024-02-28 10:58:26 -06:00
parent f7d25f2aad
commit 2c83f87906
5 changed files with 274 additions and 88 deletions

File diff suppressed because one or more lines are too long

View file

@ -220,7 +220,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
SoundSequences: [] SoundSequences: []
scheduledInputs: [] scheduledInputs: []
archBasic: {fileID: 3544897609412685557} archBasic: {fileID: 8936501854466078156}
CPU1: {fileID: 1975474441940497211} CPU1: {fileID: 1975474441940497211}
CPU2: {fileID: 1643307588540728724} CPU2: {fileID: 1643307588540728724}
Player: {fileID: 4556547465341807253} Player: {fileID: 4556547465341807253}
@ -470,7 +470,6 @@ GameObject:
serializedVersion: 6 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 3936369134362627134} - component: {fileID: 3936369134362627134}
- component: {fileID: 3544897609412685557}
m_Layer: 0 m_Layer: 0
m_Name: Wall m_Name: Wall
m_TagString: Untagged m_TagString: Untagged
@ -494,22 +493,6 @@ Transform:
m_Father: {fileID: 9145231469005479427} m_Father: {fileID: 9145231469005479427}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3544897609412685557
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8361443125662412372}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7418df1ca9a5218468aa02006816659f, type: 3}
m_Name:
m_EditorClassIdentifier:
game: {fileID: 9105702199878946262}
targetBeat: 0
appearBeat: 0
anim: {fileID: 1569284795458859455}
--- !u!1 &8404534327873962576 --- !u!1 &8404534327873962576
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -957,7 +940,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3} - target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3}
propertyPath: m_LocalRotation.w propertyPath: m_LocalRotation.w
value: 0.65308315 value: 0.7188349
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3} - target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3}
propertyPath: m_LocalRotation.x propertyPath: m_LocalRotation.x
@ -965,7 +948,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3} - target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3}
propertyPath: m_LocalRotation.y propertyPath: m_LocalRotation.y
value: 0.75728625 value: 0.6951809
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3} - target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3}
propertyPath: m_LocalRotation.z propertyPath: m_LocalRotation.z
@ -977,7 +960,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3} - target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3}
propertyPath: m_LocalEulerAnglesHint.y propertyPath: m_LocalEulerAnglesHint.y
value: 98.451 value: 88.083
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3} - target: {fileID: -8679921383154817045, guid: ff59f8d97b493cd48be0648a02466412, type: 3}
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
@ -1391,15 +1374,15 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3} - target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3}
propertyPath: m_LocalScale.x propertyPath: m_LocalScale.x
value: 3.0154 value: 3.308497
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3} - target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3}
propertyPath: m_LocalScale.y propertyPath: m_LocalScale.y
value: 3.0154 value: 3.308497
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3} - target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3}
propertyPath: m_LocalScale.z propertyPath: m_LocalScale.z
value: 3.0154 value: 3.308497
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3} - target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
@ -1411,7 +1394,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3} - target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
value: -48.5 value: -87.2
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3} - target: {fileID: -8679921383154817045, guid: 0fda9d12bd084a047aa0dd724e70fc36, type: 3}
propertyPath: m_LocalRotation.w propertyPath: m_LocalRotation.w
@ -1622,6 +1605,22 @@ Animator:
m_AllowConstantClipSamplingOptimization: 1 m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0 m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0 m_WriteDefaultValuesOnDisable: 0
--- !u!114 &8936501854466078156
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7832363007057217750}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7418df1ca9a5218468aa02006816659f, type: 3}
m_Name:
m_EditorClassIdentifier:
game: {fileID: 0}
targetBeat: 0
appearBeat: 0
anim: {fileID: 1569284795458859455}
--- !u!1001 &8186997898690455698 --- !u!1001 &8186997898690455698
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -50,7 +50,35 @@ AnimationClip:
m_RotationOrder: 4 m_RotationOrder: 4
path: path:
m_ScaleCurves: [] m_ScaleCurves: []
m_FloatCurves: [] m_FloatCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.6666667
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Enabled
path:
classID: 114
script: {fileID: 11500000, guid: 7418df1ca9a5218468aa02006816659f, type: 3}
m_PPtrCurves: [] m_PPtrCurves: []
m_SampleRate: 60 m_SampleRate: 60
m_WrapMode: 0 m_WrapMode: 0
@ -66,6 +94,13 @@ AnimationClip:
typeID: 4 typeID: 4
customType: 0 customType: 0
isPPtrCurve: 0 isPPtrCurve: 0
- serializedVersion: 2
path: 0
attribute: 3305885265
script: {fileID: 11500000, guid: 7418df1ca9a5218468aa02006816659f, type: 3}
typeID: 114
customType: 24
isPPtrCurve: 0
pptrCurveMapping: [] pptrCurveMapping: []
m_AnimationClipSettings: m_AnimationClipSettings:
serializedVersion: 2 serializedVersion: 2
@ -77,7 +112,7 @@ AnimationClip:
m_Level: 0 m_Level: 0
m_CycleOffset: 0 m_CycleOffset: 0
m_HasAdditiveReferencePose: 0 m_HasAdditiveReferencePose: 0
m_LoopTime: 1 m_LoopTime: 0
m_LoopBlend: 0 m_LoopBlend: 0
m_LoopBlendOrientation: 0 m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0 m_LoopBlendPositionY: 0
@ -199,6 +234,34 @@ AnimationClip:
path: path:
classID: 4 classID: 4
script: {fileID: 0} script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.6666667
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Enabled
path:
classID: 114
script: {fileID: 11500000, guid: 7418df1ca9a5218468aa02006816659f, type: 3}
m_EulerEditorCurves: [] m_EulerEditorCurves: []
m_HasGenericRootTransform: 1 m_HasGenericRootTransform: 1
m_HasMotionFloatCurves: 0 m_HasMotionFloatCurves: 0

View file

@ -51,9 +51,9 @@ namespace HeavenStudio.Games.Loaders
new GameAction("duck", "Duck") new GameAction("duck", "Duck")
{ {
function = delegate {Airboarder.instance.RequestArch(eventCaller.currentEntity.beat);},
defaultLength = 4f, defaultLength = 4f,
resizable = false resizable = false,
priority = 1
}, },
new GameAction("crouch", "Charged Duck") new GameAction("crouch", "Charged Duck")
@ -145,39 +145,47 @@ namespace HeavenStudio.Games
{ {
instance = this; instance = this;
SetupBopRegion("airboarder", "bop", "auto"); SetupBopRegion("airboarder", "bop", "auto");
} }
public override void OnGameSwitch(double beat) public override void OnGameSwitch(double beat)
{ {
List<BeatAction.Action> actions = new()
{};
endBeat = maxValue; endBeat = maxValue;
var entities = GameManager.instance.Beatmap.Entities; var entities = GameManager.instance.Beatmap.Entities;
//find when the next game switch/remix end happens //find when the next game switch/remix end happens
RiqEntity firstEnd = entities.Find(c => c.datamodel is "gameManager/switchGame/airboarder" or "gameManager/end" && c.beat > beat); RiqEntity firstEnd = entities.Find(c => c.datamodel is "gameManager/switchGame/airboarder" or "gameManager/end" && c.beat > beat);
endBeat = firstEnd?.beat ?? maxValue; endBeat = firstEnd?.beat ?? maxValue;
//lists arch and wall events List<RiqEntity> relevantArches = GetAllArches(beat, endBeat);
List<RiqEntity> archEvents = EventCaller.GetAllInGameManagerList("airboarder", new string[] { "duck"}); relevantArches.Sort((x, y) => x.beat.CompareTo(y.beat));
List<RiqEntity> crouchEvents = EventCaller.GetAllInGameManagerList("airboarder", new string[] { "crouch"}); // for (int i = 0; i < relevantArches.Count; i++)
// {
// double archSpawnBeat = relevantArches[i].beat - 28;
// actions.Add(new BeatAction.Action(archSpawnBeat, delegate
// {
// if (archSpawnBeat >= 0)
// {RequestArch(archSpawnBeat);}
// }));
// }
// BeatAction.New(this, actions);
//spawns an arch for each arch event //spawns an arch for each arch event
for (int i = 0; i <archEvents.Count; i++){ foreach (var archReg in relevantArches)
var archBeat = archEvents[i].beat; {
if(archReg.beat - 28 >= switchBeat)
if (startBeat <= archBeat - 28){ {
BeatAction.New(instance, new List<BeatAction.Action>()
var targetArchBeat = archBeat - 28f; {
if (switchBeat <= targetArchBeat){ new BeatAction.Action(archReg.beat-28f, delegate {RequestArch(archReg.beat);})
RequestArch(targetArchBeat); });
}
} }
}
}
} }
@ -186,6 +194,11 @@ namespace HeavenStudio.Games
OnGameSwitch(beat); OnGameSwitch(beat);
} }
private List<RiqEntity> GetAllArches(double beat, double endBeat)
{
//lists arch and wall events
return EventCaller.GetAllInGameManagerList("airboarder", new string[] { "duck"}).FindAll(x => x.beat >= beat && x.beat < endBeat);
}
public void Update() public void Update()
{ {
@ -206,36 +219,20 @@ namespace HeavenStudio.Games
if (PlayerInput.GetIsAction(InputAction_FlickRelease) && !IsExpectingInputNow(InputAction_FlickRelease)){ if (PlayerInput.GetIsAction(InputAction_FlickRelease) && !IsExpectingInputNow(InputAction_FlickRelease)){
Player.GetComponent<Animator>().DoScaledAnimationAsync("hold",1f); Player.GetComponent<Animator>().DoScaledAnimationAsync("hold",1f);
playerCantBop = false;} playerCantBop = false;}
} }
} }
public void FloorMovement (double beat)
{
}
public override void OnBeatPulse(double beat) public override void OnBeatPulse(double beat)
{ {
if (goBop) if (goBop)
{ {
Bop(); Bop();
} }
} }
public void BopToggle(double beat, float length, bool shouldBop, bool autoBop) public void BopToggle(double beat, float length, bool shouldBop, bool autoBop)
{ {
goBop = autoBop; goBop = autoBop;
if (shouldBop) if (shouldBop)
{ {
@ -263,8 +260,6 @@ namespace HeavenStudio.Games
if (!cpu2CantBop){ if (!cpu2CantBop){
CPU2.GetComponent<Animator>().DoScaledAnimationAsync("bop",0.5f); CPU2.GetComponent<Animator>().DoScaledAnimationAsync("bop",0.5f);
} }
} }
public void YeahLetsGo(double beat, bool voiceOn) public void YeahLetsGo(double beat, bool voiceOn)
@ -290,14 +285,10 @@ namespace HeavenStudio.Games
Arch newArch = Instantiate(archBasic); Arch newArch = Instantiate(archBasic);
newArch.appearBeat = beat; newArch.appearBeat = beat;
newArch.gameObject.SetActive(true); newArch.gameObject.SetActive(true);
} }
public void CueDuck(double beat) public void CueDuck(double beat)
{ {
BeatAction.New(instance, new List<BeatAction.Action>() { BeatAction.New(instance, new List<BeatAction.Action>() {
new BeatAction.Action(beat, delegate {cpu1CantBop = true;} ), new BeatAction.Action(beat, delegate {cpu1CantBop = true;} ),

View file

@ -14,6 +14,8 @@ namespace HeavenStudio.Games.Scripts_Airboarder
public double targetBeat; public double targetBeat;
public double appearBeat; public double appearBeat;
[Header("Components")] [Header("Components")]
public Animator anim; public Animator anim;
@ -40,7 +42,7 @@ namespace HeavenStudio.Games.Scripts_Airboarder
float normalizedBeat = Conductor.instance.GetPositionFromBeat(appearBeat, 40f); float normalizedBeat = Conductor.instance.GetPositionFromBeat(appearBeat, 40f);
anim.DoNormalizedAnimation("move", normalizedBeat, 0); anim.DoNormalizedAnimation("move", normalizedBeat, 0);
anim.speed = 0; anim.speed = 0;
if (normalizedBeat > 1) Destroy(gameObject);
} }