fix some things, add NOT WORKING updater

This commit is contained in:
AstrlJelly 2024-03-06 17:51:59 -05:00
parent 76419b93d4
commit fe6bd8a516
8 changed files with 192 additions and 493 deletions

View file

@ -1272,6 +1272,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 9090671386772390765}
- component: {fileID: 7679373660039658227}
m_Layer: 0
m_Name: Bird
m_TagString: Untagged
@ -1287,15 +1288,65 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2345899427382000280}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_LocalPosition: {x: -5.1111, y: 4.7888, z: 0}
m_LocalScale: {x: 1.17, y: 1.17, z: 1.17}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6141650836764449341}
- {fileID: 3508355828836896233}
m_Children: []
m_Father: {fileID: 6570085815560366024}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &7679373660039658227
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2345899427382000280}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 10
m_Sprite: {fileID: -6878904103022551539, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 6.69, y: 6.3}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &2488711815545919274
GameObject:
m_ObjectHideFlags: 0
@ -1652,7 +1703,7 @@ MonoBehaviour:
- name: hereWeGo
sequence:
game: 1
force: 0
force: 1
clips:
- clip: here
beat: 0
@ -1678,7 +1729,7 @@ MonoBehaviour:
scheduledInputs: []
DogAnim: {fileID: 1770250701376598399}
BirdAnim: {fileID: 4964290445827434540}
ObjectBase: {fileID: 119991411479083905}
ObjectBase: {fileID: 4494871422713187218}
FullBird: {fileID: 3439822116337821266}
WhichObject: {fileID: 1780506401517458247}
WhichLeftHalf: {fileID: 8550182553065708291}
@ -1868,7 +1919,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!4 &6570085815560366024
Transform:
m_ObjectHideFlags: 0
@ -1877,7 +1928,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3439822116337821266}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: 0, y: 69, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
@ -4152,90 +4203,6 @@ MonoBehaviour:
fallLeftCurve: {fileID: 7191847337805905266}
fallRightCurve: {fileID: 5028931464679965393}
halvesParent: {fileID: 2078672318315355962}
--- !u!1 &8597163618617364548
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3508355828836896233}
- component: {fileID: 5092057247171099703}
m_Layer: 0
m_Name: Bird1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3508355828836896233
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8597163618617364548}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -5.1111, y: 4.7888, z: 0}
m_LocalScale: {x: 1.17, y: 1.17, z: 1.17}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9090671386772390765}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &5092057247171099703
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8597163618617364548}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 10
m_Sprite: {fileID: -6837453462447269357, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 6.69, y: 6.3}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &8691542995859896262
GameObject:
m_ObjectHideFlags: 0
@ -4424,90 +4391,6 @@ MonoBehaviour:
handleType: 0
leftHandleLocalPosition: {x: 2.6498117, y: 0.019104965, z: 0}
rightHandleLocalPosition: {x: -2.6498117, y: -0.019104965, z: -0}
--- !u!1 &9014789612631171718
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6141650836764449341}
- component: {fileID: 4708541773062853748}
m_Layer: 0
m_Name: Bird2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6141650836764449341
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9014789612631171718}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -5.1111, y: 4.7888, z: 0}
m_LocalScale: {x: 1.17, y: 1.17, z: 1.17}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 9090671386772390765}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &4708541773062853748
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9014789612631171718}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 10
m_Sprite: {fileID: -6878904103022551539, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 6.69, y: 6.3}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &9069277017458690841
GameObject:
m_ObjectHideFlags: 0
@ -4705,7 +4588,7 @@ MonoBehaviour:
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_ActiveFontFeatures: 00000000
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1

View file

@ -28,31 +28,6 @@ AnimatorStateMachine:
m_ExitPosition: {x: 640, y: 180, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 320149015002627566}
--- !u!1101 &-57611587176777246
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: birdOnScreen
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 0}
m_Solo: 0
m_Mute: 0
m_IsExit: 1
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.5833334
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@ -101,7 +76,7 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 3319f492700f97544b948589e4e54ca0, type: 2}
m_Motion: {fileID: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
@ -117,8 +92,7 @@ AnimatorState:
m_Name: FlyOut
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -57611587176777246}
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0

View file

@ -54,8 +54,18 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: Bird
classID: 1
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.15
time: 0
value: 1
inSlope: Infinity
outSlope: Infinity
@ -67,35 +77,7 @@ AnimationClip:
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: Bird/Bird2
classID: 1
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.15
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_IsActive
path: Bird/Bird1
path: CutEverythingSign
classID: 1
script: {fileID: 0}
m_PPtrCurves: []
@ -114,14 +96,14 @@ AnimationClip:
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 341651793
path: 8978736
attribute: 2086281974
script: {fileID: 0}
typeID: 1
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 2371117291
path: 2588901114
attribute: 2086281974
script: {fileID: 0}
typeID: 1
@ -236,8 +218,18 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: Bird
classID: 1
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.15
time: 0
value: 1
inSlope: Infinity
outSlope: Infinity
@ -249,35 +241,7 @@ AnimationClip:
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: Bird/Bird2
classID: 1
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.15
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_IsActive
path: Bird/Bird1
path: CutEverythingSign
classID: 1
script: {fileID: 0}
m_EulerEditorCurves: []

View file

@ -56,7 +56,7 @@ AnimationClip:
outWeight: 0
- serializedVersion: 3
time: 0.6
value: 1
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
@ -67,7 +67,7 @@ AnimationClip:
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: Bird/Bird1
path: Bird
classID: 1
script: {fileID: 0}
- curve:
@ -75,7 +75,7 @@ AnimationClip:
m_Curve:
- serializedVersion: 3
time: 0
value: 0
value: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
@ -95,7 +95,7 @@ AnimationClip:
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: Bird/Bird2
path: CutEverythingSign
classID: 1
script: {fileID: 0}
m_PPtrCurves: []
@ -114,14 +114,14 @@ AnimationClip:
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 2371117291
path: 8978736
attribute: 2086281974
script: {fileID: 0}
typeID: 1
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 341651793
path: 2588901114
attribute: 2086281974
script: {fileID: 0}
typeID: 1
@ -247,7 +247,7 @@ AnimationClip:
outWeight: 0
- serializedVersion: 3
time: 0.6
value: 1
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
@ -258,7 +258,7 @@ AnimationClip:
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: Bird/Bird1
path: Bird
classID: 1
script: {fileID: 0}
- curve:
@ -266,7 +266,7 @@ AnimationClip:
m_Curve:
- serializedVersion: 3
time: 0
value: 0
value: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
@ -286,7 +286,7 @@ AnimationClip:
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_IsActive
path: Bird/Bird2
path: CutEverythingSign
classID: 1
script: {fileID: 0}
m_EulerEditorCurves: []

View file

@ -1,133 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Idle
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 13.216, y: 8.8714, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path:
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 13.216
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path:
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 8.8714
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path:
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path:
classID: 4
script: {fileID: 0}
m_EulerEditorCurves: []
m_HasGenericRootTransform: 1
m_HasMotionFloatCurves: 0
m_Events: []

View file

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 3319f492700f97544b948589e4e54ca0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using Jukebox;
namespace HeavenStudio.Games.Loaders
{
@ -13,6 +14,37 @@ namespace HeavenStudio.Games.Loaders
{
public static Minigame AddGame(EventCaller eventCaller)
{
RiqEntity ObjectUpdater(string datamodel, RiqEntity e)
{
if (datamodel == "dogNinja/ThrowObject" && e.version == 0)
{
Debug.Log("entity at beat " + e.beat + " is the same? " + (e["typeL"] == e["typeR"]));
bool diff = e["typeL"] == e["typeR"];
Debug.Log("entity at beat " + e.beat + " is the same? " + (e["typeL"] == e["typeR"]));
e.CreateProperty("type", diff ? e["typeL"] : DogNinja.ObjectType.Random);
e.version = 1;
return e;
}
return null;
}
// RiqEntity BirdUpdater(string datamodel, RiqEntity e)
// {
// if (datamodel == "dogNinja/CutEverything" && e.version == 0)
// {
// RiqEntity nextBird = eventCaller.gameManager.Beatmap.Entities.Find(c => c.datamodel is "dogNinja/CutEverything" && c.beat > e.beat);
// if (nextBird != null) nextBird.datamodel = "dogNinja/DELETE THIS";
// e.length = nextBird != null ? (float)(nextBird.beat - e.beat) : 4;
// e.version = 1;
// return e;
// }
// return null;
// }
RiqBeatmap.OnUpdateEntity += ObjectUpdater;
// RiqBeatmap.OnUpdateEntity += BirdUpdater;
return new Minigame("dogNinja", "Dog Ninja", "554899", false, false, new List<GameAction>()
{
new GameAction("Bop", "Bop")
@ -34,27 +66,16 @@ namespace HeavenStudio.Games.Loaders
{
function = delegate {
if (eventCaller.gameManager.minigameObj.TryGetComponent(out DogNinja instance)) {
instance.Prepare(eventCaller.currentEntity.beat);
instance.DoPrepare(eventCaller.currentEntity.beat);
}
},
defaultLength = 0.5f,
},
new GameAction("ThrowObject", "Throw Object")
{
// function = delegate {
// var e = eventCaller.currentEntity;
// (int typeL, int typeR) = e["diffObjs"] ? ((int)e["typeL"], (int)e["typeR"]) : ((int)e["type"], (int)e["type"]);
// DogNinja.QueueObject(e.beat, e["direction"], e["diffObjs"], typeL, typeR, e["shouldPrepare"], false, e);
// },
// inactiveFunction = delegate {
// var e = eventCaller.currentEntity;
// (int typeL, int typeR) = e["diffObjs"] ? ((int)e["typeL"], (int)e["typeR"]) : ((int)e["type"], (int)e["type"]);
// DogNinja.QueueObject(e.beat, e["direction"], e["diffObjs"], typeL, typeR, e["shouldPrepare"], e["muteThrow"], e);
// },
preFunction = delegate {
var e = eventCaller.currentEntity;
(int typeL, int typeR) = e["diffObjs"] ? ((int)e["typeL"], (int)e["typeR"]) : ((int)e["type"], (int)e["type"]);
DogNinja.QueueObject(e.beat, e["direction"], e["diffObjs"], e["type"], typeL, typeR, e["shouldPrepare"], e["muteThrow"], e);
DogNinja.QueueObject(e.beat, e["direction"], e["diffObjs"], e["type"], e["typeL"], e["typeR"], e["shouldPrepare"], e["muteThrow"], e);
},
defaultLength = 2,
parameters = new List<Param>()
@ -94,10 +115,11 @@ namespace HeavenStudio.Games.Loaders
defaultLength = 2,
preFunctionLength = 1,
},
},
new List<string>() { "ntr", "normal" },
"ntrninja", "en",
new List<string>() { }
}
// ,
// new List<string>() { "ntr", "normal" },
// "ntrninja", "en",
// new List<string>() { }
);
}
}
@ -120,7 +142,7 @@ namespace HeavenStudio.Games
public Animator BirdAnim; // bird flying in and out
[Header("References")]
[SerializeField] GameObject ObjectBase;
[SerializeField] ThrowObject ObjectBase;
[SerializeField] GameObject FullBird;
[SerializeField] SpriteRenderer WhichObject;
public SpriteRenderer WhichLeftHalf;
@ -133,7 +155,7 @@ namespace HeavenStudio.Games
[SerializeField] Sprite[] ObjectTypes;
private bool autoBop;
private bool autoBop = true;
public bool queuePrepare;
public bool preparing;
@ -189,33 +211,42 @@ namespace HeavenStudio.Games
public override void OnLateBeatPulse(double beat)
{
if (autoBop && preparing && (DogAnim.IsAnimationNotPlaying() || DogAnim.IsPlayingAnimationNames("Idle"))) {
if (autoBop && !preparing && !queuePrepare && (DogAnim.IsAnimationNotPlaying() || DogAnim.IsPlayingAnimationNames("Idle"))) {
DogAnim.DoScaledAnimationAsync("Bop", 0.5f);
}
}
public override void OnPlay(double beat) => Persist(beat, true);
public override void OnGameSwitch(double beat) => Persist(beat, false);
private void Persist(double beat, bool onPlay)
public override void OnPlay(double beat)
{
foreach (var e in gameManager.Beatmap.Entities.FindAll(e => e.datamodel is "dogNinja/ThrowObject" && beat > (onPlay ? e.beat : e.beat - 2) && beat < e.beat + 1))
foreach (var e in gameManager.Beatmap.Entities.FindAll(e => e.datamodel is "dogNinja/ThrowObject" && beat > e.beat && beat < e.beat + 1))
{
QueuedThrow t = new();
if (e.dynamicData.TryGetValue("throwData", out dynamic temp)) {
t = temp;
} else {
QueueObject(e.beat, e["direction"], e["diffObjs"], e["type"], e["typeL"], e["typeR"], e["shouldPrepare"], true, e);
}
ThrowObject(e.beat, e["direction"], e["shouldPrepare"], t.types, t.sfxNumL, t.sfxNumR);
DogAnim.Play("Prepare", 0, 1);
preparing = true;
QueueObject(e.beat, e["direction"], e["diffObjs"], e["type"], e["typeL"], e["typeR"], e["shouldPrepare"], true, e);
}
}
public override void OnGameSwitch(double beat)
{
foreach (var e in gameManager.Beatmap.Entities.FindAll(e => e.datamodel is "dogNinja/ThrowObject" && beat > e.beat - 2 && beat < e.beat + 1))
{
// if (!e.dynamicData.ContainsKey("throwData")) {
// QueueObject(e.beat, e["direction"], e["diffObjs"], e["type"], e["typeL"], e["typeR"], e["shouldPrepare"], true, e);
// }
QueuedThrow t = e["throwData"];
DogAnim.Play("Prepare", 0, 1);
preparing = true;
ThrowObject(e.beat, e["direction"], t.types, t.sfxNumL, t.sfxNumR);
}
}
private void Update()
{
// prepare queuing stuff
if (queuePrepare && DogAnim.IsAnimationNotPlaying())
if (queuePrepare && (DogAnim.IsAnimationNotPlaying() || DogAnim.IsPlayingAnimationNames("Bop")))
{
DogAnim.DoScaledAnimationAsync("Prepare", 0.5f);
preparing = true;
queuePrepare = false;
}
@ -227,8 +258,7 @@ namespace HeavenStudio.Games
}
if (PlayerInput.GetIsAction(InputAction_TouchRelease) && (!IsExpectingInputNow(InputAction_Press)) && (!GameManager.instance.autoplay))
{
queuePrepare = false;
preparing = false;
StopPrepare();
DogAnim.DoScaledAnimationAsync("Unprepare", 0.5f);
}
@ -242,6 +272,16 @@ namespace HeavenStudio.Games
}
}
private void LateUpdate()
{
// // prepare queuing stuff
// if (queuePrepare && (DogAnim.IsAnimationNotPlaying() || DogAnim.IsPlayingAnimationNames("Bop", "Idle")))
// {
// DogAnim.DoScaledAnimationAsync("Prepare", 0.5f);
// queuePrepare = false;
// }
}
public void Bop(double beat, float length, bool auto, bool bop)
{
autoBop = auto;
@ -274,7 +314,13 @@ namespace HeavenStudio.Games
}
if (GameManager.instance.minigameObj.TryGetComponent(out DogNinja instance)) {
instance.ThrowObject(beat, direction, prepare, types, sfxNums[0], sfxNums[1]);
instance.ThrowObject(beat, direction, types, sfxNums[0], sfxNums[1]);
if (prepare) {
BeatAction.New(instance, new() {
new(beat, () => instance.queuePrepare = PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch || GameManager.instance.autoplay)
});
}
} else {
var queuedThrow = new QueuedThrow() {
types = types,
@ -288,16 +334,13 @@ namespace HeavenStudio.Games
}
}
public void ThrowObject(double beat, int direction, bool prepare, int[] types, string sfxNumL, string sfxNumR)
public void ThrowObject(double beat, int direction, int[] types, string sfxNumL, string sfxNumR)
{
BeatAction.New(this, new() {
new(beat, () => queuePrepare = prepare && (PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch || GameManager.instance.autoplay))
});
for (int i = 0; i < (direction == 2 ? 2 : 1); i++)
{
bool l = direction is 2 ? i == 0 : direction == 0;
WhichObject.sprite = ObjectTypes[l ? types[0] : types[1]];
ThrowObject obj = Instantiate(ObjectBase, gameObject.transform).GetComponent<ThrowObject>();
ThrowObject obj = Instantiate(ObjectBase, transform);
obj.startBeat = beat;
obj.direction = direction;
obj.fromLeft = l;
@ -305,31 +348,6 @@ namespace HeavenStudio.Games
obj.sfxNum = l ? sfxNumL : sfxNumR;
if (direction == 2) obj.shouldSfx = l == (types[0] == types[1]);
}
// if (direction is 0 or 2)
// {
// WhichObject.sprite = ObjectTypes[typeL];
// ThrowObject ObjectL = Instantiate(ObjectBase, gameObject.transform).GetComponent<ThrowObject>();
// ObjectL.startBeat = beat;
// ObjectL.curve = CurveFromLeft;
// ObjectL.fromLeft = true;
// ObjectL.direction = direction;
// ObjectL.type = typeL;
// ObjectL.sfxNum = sfxNumL;
// if (direction == 2) ObjectL.shouldSfx = (typeL == typeR);
// }
// if (direction is 1 or 2)
// {
// WhichObject.sprite = ObjectTypes[typeR];
// ThrowObject ObjectR = Instantiate(ObjectBase, gameObject.transform).GetComponent<ThrowObject>();
// ObjectR.startBeat = beat;
// ObjectR.curve = CurveFromRight;
// ObjectR.fromLeft = false;
// ObjectR.direction = direction;
// ObjectR.type = typeR;
// ObjectR.sfxNum = sfxNumR;
// if (direction == 2) ObjectR.shouldSfx = !(typeL == typeR);
// }
}
public void CutEverything(double beat, float length, bool sound, string customText)
@ -343,7 +361,13 @@ namespace HeavenStudio.Games
});
}
public void Prepare(double beat)
public void StopPrepare()
{
preparing = false;
queuePrepare = false;
}
public void DoPrepare(double beat)
{
if (PlayerInput.CurrentControlStyle == InputController.ControlStyles.Touch && PlayerInput.PlayerHasControl()) return;
if (!queuePrepare) DogAnim.DoScaledAnimationAsync("Prepare", 0.5f);
@ -352,11 +376,7 @@ namespace HeavenStudio.Games
public static void HereWeGo(double beat)
{
MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound("dogNinja/here", beat),
new MultiSound.Sound("dogNinja/we", beat + 0.5f),
new MultiSound.Sound("dogNinja/go", beat + 1f)
}, forcePlay: true);
PlaySoundSequence("dogNinja", "here_we_go", beat);
}
}
}

View file

@ -78,7 +78,7 @@ namespace HeavenStudio.Games.Scripts_DogNinja
private void Hit(PlayerActionEvent caller, float state)
{
game.queuePrepare = false;
game.StopPrepare();
string dir = direction switch {
0 => "Left",
1 => "Right",
@ -112,8 +112,7 @@ namespace HeavenStudio.Games.Scripts_DogNinja
{
if (!game.queuePrepare) return;
DogAnim.DoScaledAnimationAsync("Unprepare", 0.5f);
game.queuePrepare = false;
game.preparing = false;
game.StopPrepare();
}
}
}