mirror of
https://github.com/RHeavenStudioPlus/HeavenStudioPlus.git
synced 2024-11-09 19:25:10 +00:00
Dog Ninja Rework (#767)
* nearly the entire dog ninja rework lol. didn't think it would be this easy just a few more things to fix and we're good * fix some things, add NOT WORKING updater * final optimizations and fixes damn i didn't think the preparing stuff would be such a big deal * actual last fixes + ass buns
This commit is contained in:
parent
fa364a8579
commit
572b9e1f4d
39 changed files with 412 additions and 2062 deletions
|
@ -97,17 +97,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 5ac06902fd6630045a550c76211fcc63, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
inList: 0
|
||||
state:
|
||||
gameObject: {fileID: 119991411479083905}
|
||||
early: 0
|
||||
perfect: 0
|
||||
late: 0
|
||||
createBeat: 0
|
||||
eligibleHitsList: []
|
||||
aceTimes: 0
|
||||
isEligible: 0
|
||||
triggersAutoplay: 1
|
||||
game: {fileID: 4542966729274958099}
|
||||
startBeat: 0
|
||||
type: 0
|
||||
fromLeft: 0
|
||||
|
@ -115,12 +105,12 @@ MonoBehaviour:
|
|||
direction: 0
|
||||
sfxNum:
|
||||
curve: {fileID: 0}
|
||||
barelyCurve: {fileID: 0}
|
||||
LeftCurve: {fileID: 2592536718110886033}
|
||||
RightCurve: {fileID: 8538313959133990924}
|
||||
BarelyLeftCurve: {fileID: 5959598018215963193}
|
||||
BarelyRightCurve: {fileID: 4156529297438955755}
|
||||
HalvesLeftBase: {fileID: 8462363345267808632}
|
||||
HalvesRightBase: {fileID: 997672822965154321}
|
||||
ObjectParent: {fileID: 0}
|
||||
HalvesLeftBase: {fileID: 3507681361263350449}
|
||||
HalvesRightBase: {fileID: 5646879835731180444}
|
||||
objectLeftHalves:
|
||||
- {fileID: -5050977528292827191, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3}
|
||||
- {fileID: -6734710479057769413, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3}
|
||||
|
@ -544,24 +534,13 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 6f3ef60f47c093b45a623a707f33c877, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
inList: 0
|
||||
state:
|
||||
gameObject: {fileID: 0}
|
||||
early: 0
|
||||
perfect: 0
|
||||
late: 0
|
||||
createBeat: 0
|
||||
eligibleHitsList: []
|
||||
aceTimes: 0
|
||||
isEligible: 0
|
||||
triggersAutoplay: 1
|
||||
startBeat: 0
|
||||
objPos: {x: 0, y: 0, z: 0}
|
||||
lefty: 0
|
||||
rotSpeed: 140
|
||||
fallLeftCurve: {fileID: 7764367815067799206}
|
||||
fallRightCurve: {fileID: 7122240029612248645}
|
||||
halvesParent: {fileID: 2078672318315355962}
|
||||
sr: {fileID: 7206843505938361017}
|
||||
--- !u!1 &1203023033644261752
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1292,6 +1271,7 @@ GameObject:
|
|||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9090671386772390765}
|
||||
- component: {fileID: 7679373660039658227}
|
||||
m_Layer: 0
|
||||
m_Name: Bird
|
||||
m_TagString: Untagged
|
||||
|
@ -1307,15 +1287,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
|
||||
|
@ -1669,45 +1699,38 @@ MonoBehaviour:
|
|||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
SoundSequences:
|
||||
- name: hereWeGo
|
||||
- name: here_we_go
|
||||
sequence:
|
||||
game: 1
|
||||
force: 0
|
||||
force: 1
|
||||
clips:
|
||||
- clip: here
|
||||
- clip: dogNinja/here
|
||||
beat: 0
|
||||
pitch: 0
|
||||
volume: 0
|
||||
looping: 0
|
||||
offset: 0
|
||||
parameters: []
|
||||
- clip: we
|
||||
- clip: dogNinja/we
|
||||
beat: 0.5
|
||||
pitch: 0
|
||||
volume: 0
|
||||
looping: 0
|
||||
offset: 0
|
||||
parameters: []
|
||||
- clip: go
|
||||
- clip: dogNinja/go
|
||||
beat: 1
|
||||
pitch: 0
|
||||
volume: 0
|
||||
looping: 0
|
||||
offset: 0
|
||||
parameters: []
|
||||
EligibleHits: []
|
||||
scheduledInputs: []
|
||||
firstEnable: 0
|
||||
DogAnim: {fileID: 1770250701376598399}
|
||||
BirdAnim: {fileID: 4964290445827434540}
|
||||
ObjectBase: {fileID: 119991411479083905}
|
||||
FullBird: {fileID: 3439822116337821266}
|
||||
ObjectBase: {fileID: 4494871422713187218}
|
||||
WhichObject: {fileID: 1780506401517458247}
|
||||
WhichLeftHalf: {fileID: 8550182553065708291}
|
||||
WhichRightHalf: {fileID: 7206843505938361017}
|
||||
cutEverythingText: {fileID: 8405214087581042494}
|
||||
CurveFromLeft: {fileID: 2592536718110886033}
|
||||
CurveFromRight: {fileID: 8538313959133990924}
|
||||
CutEverythingText: {fileID: 8405214087581042494}
|
||||
ObjectTypes:
|
||||
- {fileID: 0}
|
||||
- {fileID: -2307065246004786754, guid: 1c59b9cd0adef0941bc4bd4bde66a759, type: 3}
|
||||
|
@ -1728,6 +1751,8 @@ MonoBehaviour:
|
|||
- {fileID: 2196219148037962045, guid: 4e56f90ec52abea4ea8c4c7bb6df84d5, type: 3}
|
||||
- {fileID: -6292424158522327523, guid: 4e56f90ec52abea4ea8c4c7bb6df84d5, type: 3}
|
||||
- {fileID: 2053246660185171032, guid: 4e56f90ec52abea4ea8c4c7bb6df84d5, type: 3}
|
||||
queuePrepare: 0
|
||||
preparing: 0
|
||||
--- !u!1 &3156757135167865752
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -1888,7 +1913,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
|
||||
|
@ -1897,7 +1922,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:
|
||||
|
@ -4165,108 +4190,13 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 6f3ef60f47c093b45a623a707f33c877, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
inList: 0
|
||||
state:
|
||||
gameObject: {fileID: 0}
|
||||
early: 0
|
||||
perfect: 0
|
||||
late: 0
|
||||
createBeat: 0
|
||||
eligibleHitsList: []
|
||||
aceTimes: 0
|
||||
isEligible: 0
|
||||
triggersAutoplay: 1
|
||||
startBeat: 0
|
||||
objPos: {x: 0, y: 0, z: 0}
|
||||
lefty: 1
|
||||
rotSpeed: -140
|
||||
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
|
||||
sr: {fileID: 8550182553065708291}
|
||||
--- !u!1 &8691542995859896262
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -4455,90 +4385,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
|
||||
|
@ -4730,15 +4576,17 @@ MonoBehaviour:
|
|||
m_lineSpacingMax: 0
|
||||
m_paragraphSpacing: 0
|
||||
m_charWidthMaxAdj: 0
|
||||
m_enableWordWrapping: 1
|
||||
m_TextWrappingMode: 1
|
||||
m_wordWrappingRatios: 0.4
|
||||
m_overflowMode: 0
|
||||
m_linkedTextComponent: {fileID: 0}
|
||||
parentLinkedComponent: {fileID: 0}
|
||||
m_enableKerning: 1
|
||||
m_ActiveFontFeatures: 6e72656b
|
||||
m_enableExtraPadding: 0
|
||||
checkPaddingRequired: 0
|
||||
m_isRichText: 1
|
||||
m_EmojiFallbackSupport: 1
|
||||
m_parseCtrlCharacters: 1
|
||||
m_isOrthographic: 0
|
||||
m_isCullingEnabled: 0
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -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: []
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -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: []
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -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: []
|
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3319f492700f97544b948589e4e54ca0
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -54,31 +54,6 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-8879658034113408578
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions:
|
||||
- m_ConditionMode: 1
|
||||
m_ConditionEvent: needPrepare
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 5009988345090580314}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-7628548708072257747
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
@ -333,31 +308,6 @@ AnimatorController:
|
|||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
--- !u!1101 &634343083532807637
|
||||
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: needPrepare
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 1628397019354410076}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &1183219720229009387
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
@ -368,9 +318,7 @@ AnimatorState:
|
|||
m_Name: Prepare
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -8879658034113408578}
|
||||
- {fileID: 634343083532807637}
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
|
@ -563,9 +511,6 @@ AnimatorStateMachine:
|
|||
- serializedVersion: 1
|
||||
m_State: {fileID: 4106059006902303284}
|
||||
m_Position: {x: 400, y: 90, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 5009988345090580314}
|
||||
m_Position: {x: 620, y: -110, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
|
@ -576,33 +521,6 @@ AnimatorStateMachine:
|
|||
m_ExitPosition: {x: 420, y: 210, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 1628397019354410076}
|
||||
--- !u!1102 &5009988345090580314
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: PrepareIdle
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 7023587105086888360}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: f9b4fb8d229e1d840b1663408bebfd18, type: 2}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &5032805319851727948
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
@ -669,31 +587,6 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &7023587105086888360
|
||||
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: needPrepare
|
||||
m_EventTreshold: 0
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 1628397019354410076}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &7232969264737895159
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
@ -701,11 +594,10 @@ AnimatorState:
|
|||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: UnPrepare
|
||||
m_Name: Unprepare
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 7451574809715408383}
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
|
@ -721,28 +613,6 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &7451574809715408383
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 1628397019354410076}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 1
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &8456159042725552206
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -450,7 +450,7 @@ AnimationClip:
|
|||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopTime: 0
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,8 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f9b4fb8d229e1d840b1663408bebfd18
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -492,7 +492,7 @@ AnimationClip:
|
|||
m_Level: 0
|
||||
m_CycleOffset: 0
|
||||
m_HasAdditiveReferencePose: 0
|
||||
m_LoopTime: 1
|
||||
m_LoopTime: 0
|
||||
m_LoopBlend: 0
|
||||
m_LoopBlendOrientation: 0
|
||||
m_LoopBlendPositionY: 0
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 7400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -4,5 +4,5 @@ NativeFormatImporter:
|
|||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleName: ntrninja/common
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -689,7 +689,7 @@ TextureImporter:
|
|||
width: 110
|
||||
height: 201
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
|
@ -710,7 +710,7 @@ TextureImporter:
|
|||
width: 103
|
||||
height: 198
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
|
@ -731,7 +731,7 @@ TextureImporter:
|
|||
width: 78
|
||||
height: 199
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
|
@ -743,6 +743,27 @@ TextureImporter:
|
|||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
- serializedVersion: 2
|
||||
name: oh it's the little guy. you found him
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 1143
|
||||
y: 1591
|
||||
width: 16
|
||||
height: 49
|
||||
alignment: 0
|
||||
pivot: {x: 0, y: 0}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 4cd68dea3c30b1f48bcd6dd5ad0fffa5
|
||||
internalID: 1314131981
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
physicsShape: []
|
||||
bones: []
|
||||
|
@ -763,6 +784,7 @@ TextureImporter:
|
|||
Ball_Full: 8158683621920566786
|
||||
Ball_Left: -5925680740112638021
|
||||
Ball_Right: -5567381644477528568
|
||||
DogNinja_OtherObjects_0: -1593653543
|
||||
Idol_Full: 2196219148037962045
|
||||
Idol_Left: -130797512336752496
|
||||
Idol_Right: 8490305602720712907
|
||||
|
@ -783,6 +805,7 @@ TextureImporter:
|
|||
WildBreath_Full: 2053246660185171032
|
||||
WildBreath_Left: -7594402133338608887
|
||||
WildBreath_Right: 3508372842914876614
|
||||
oh it's the little guy. you found him: 1314131981
|
||||
spritePackingTag:
|
||||
pSDRemoveMatte: 0
|
||||
pSDShowRemoveMatteOption: 0
|
||||
|
|
|
@ -5,6 +5,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using TMPro;
|
||||
using Jukebox;
|
||||
|
||||
namespace HeavenStudio.Games.Loaders
|
||||
{
|
||||
|
@ -13,11 +14,46 @@ namespace HeavenStudio.Games.Loaders
|
|||
{
|
||||
public static Minigame AddGame(EventCaller eventCaller)
|
||||
{
|
||||
RiqEntity ObjectUpdater(string datamodel, RiqEntity e)
|
||||
{
|
||||
if (datamodel == "dogNinja/ThrowObject" && e.version == 0)
|
||||
{
|
||||
e["diffObjs"] = e["direction"] == 2 && e["typeL"] != e["typeR"];
|
||||
e["type"] = e["direction"] is 0 or 2 ? (int)e["typeL"] : e["typeR"];
|
||||
e.version = 1;
|
||||
|
||||
return e;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// // Beatmap.Entities isn't available in a riqentity updater...
|
||||
// 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")
|
||||
{
|
||||
function = delegate { DogNinja.instance.Bop(eventCaller.currentEntity.beat, eventCaller.currentEntity.length, eventCaller.currentEntity["auto"], eventCaller.currentEntity["toggle"]); },
|
||||
function = delegate {
|
||||
var e = eventCaller.currentEntity;
|
||||
if (eventCaller.gameManager.minigameObj.TryGetComponent(out DogNinja instance)) {
|
||||
instance.Bop(e.beat, e.length, e["auto"], e["toggle"]);
|
||||
}
|
||||
},
|
||||
resizable = true,
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
|
@ -27,17 +63,28 @@ namespace HeavenStudio.Games.Loaders
|
|||
},
|
||||
new GameAction("Prepare", "Prepare")
|
||||
{
|
||||
function = delegate { DogNinja.instance.Prepare(eventCaller.currentEntity.beat); },
|
||||
function = delegate {
|
||||
if (eventCaller.gameManager.minigameObj.TryGetComponent(out DogNinja instance)) {
|
||||
instance.DoPrepare();
|
||||
}
|
||||
},
|
||||
defaultLength = 0.5f,
|
||||
},
|
||||
new GameAction("ThrowObject", "Throw Object")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, e["direction"], e["typeL"], e["typeR"], e["shouldPrepare"], false); },
|
||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, e["direction"], e["typeL"], e["typeR"], e["shouldPrepare"], e["muteThrow"]); },
|
||||
preFunction = delegate {
|
||||
var e = eventCaller.currentEntity;
|
||||
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>()
|
||||
{
|
||||
new Param("direction", DogNinja.ObjectDirection.Left, "Which Side", "Choose the side(s) the object(s) should be thrown from."),
|
||||
new Param("diffObjs", false, "Different Objects", "Toggle if the sides should be different.", new() {
|
||||
new((x, _) => (bool)x, "typeL", "typeR"),
|
||||
new((x, _) => !(bool)x, "type"),
|
||||
}),
|
||||
new Param("type", DogNinja.ObjectType.Random, "Object", "Choose the object to be thrown."),
|
||||
new Param("typeL", DogNinja.ObjectType.Random, "Left Object", "Choose the object to be thrown from the left."),
|
||||
new Param("typeR", DogNinja.ObjectType.Random, "Right Object", "Choose the object to be thrown from the right."),
|
||||
new Param("shouldPrepare", true, "Prepare", "Toggle if Dog Ninja should automatically prepare for this cue."),
|
||||
|
@ -46,57 +93,26 @@ namespace HeavenStudio.Games.Loaders
|
|||
},
|
||||
new GameAction("CutEverything", "Mister Eagle's Sign")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; DogNinja.instance.CutEverything(e.beat, e["toggle"], e["text"]); },
|
||||
defaultLength = 0.5f,
|
||||
function = delegate {
|
||||
var e = eventCaller.currentEntity;
|
||||
if (eventCaller.gameManager.minigameObj.TryGetComponent(out DogNinja instance)) {
|
||||
instance.CutEverything(e.beat, e.length, e["toggle"], e["text"]);
|
||||
}
|
||||
},
|
||||
defaultLength = 4f,
|
||||
resizable = true,
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("toggle", true, "Play Sound", "Toggle if the sound effect should play for flying in and out."),
|
||||
new Param("toggle", true, "Play Sound", "Toggle if the sound effect should play for flying in."),
|
||||
new Param("text", "Cut everything!", "Sign Text", "Set the text to be displayed on the sign.")
|
||||
}
|
||||
},
|
||||
new GameAction("HereWeGo", "Here We Go!")
|
||||
{
|
||||
function = delegate { DogNinja.instance.HereWeGo(eventCaller.currentEntity.beat); },
|
||||
preFunction = delegate { DogNinja.HereWeGo(eventCaller.currentEntity.beat); },
|
||||
defaultLength = 2,
|
||||
inactiveFunction = delegate { DogNinja.HereWeGoInactive(eventCaller.currentEntity.beat); },
|
||||
preFunctionLength = 1,
|
||||
},
|
||||
|
||||
// these are still here for backwards-compatibility but are hidden in the editor
|
||||
new GameAction("ThrowObjectLeft", "Throw Object Left")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 0, e["type"], 0, true, false);},
|
||||
defaultLength = 2,
|
||||
hidden = true,
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("type", DogNinja.ObjectType.Random, "Object", "The object to be thrown"),
|
||||
},
|
||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 0, e["type"], 0, true, false);},
|
||||
},
|
||||
new GameAction("ThrowObjectRight", "Throw Object Right")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 1, 0, e["type"], true, false);},
|
||||
defaultLength = 2,
|
||||
hidden = true,
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("type", DogNinja.ObjectType.Random, "Object", "The object to be thrown"),
|
||||
},
|
||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 1, 0, e["type"], true, false);},
|
||||
},
|
||||
new GameAction("ThrowObjectBoth", "Throw Object Both")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 2, e["typeL"], e["typeR"], true, false);},
|
||||
defaultLength = 2,
|
||||
hidden = true,
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("typeL", DogNinja.ObjectType.Random, "Left Object", "The object on the left to be thrown"),
|
||||
new Param("typeR", DogNinja.ObjectType.Random, "Right Object", "The object on the right to be thrown"),
|
||||
},
|
||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; DogNinja.QueueObject(e.beat, 2, e["typeL"], e["typeR"], true, false);},
|
||||
},
|
||||
},
|
||||
new List<string>() { "ntr", "normal" },
|
||||
"ntrninja", "en",
|
||||
|
@ -108,18 +124,14 @@ namespace HeavenStudio.Games.Loaders
|
|||
|
||||
namespace HeavenStudio.Games
|
||||
{
|
||||
using Jukebox;
|
||||
using Scripts_DogNinja;
|
||||
public class DogNinja : Minigame
|
||||
{
|
||||
static List<QueuedThrow> queuedThrows = new List<QueuedThrow>();
|
||||
struct QueuedThrow
|
||||
private struct QueuedThrow
|
||||
{
|
||||
public double beat;
|
||||
public int direction;
|
||||
public int typeL;
|
||||
public int typeR;
|
||||
public string sfxNumL;
|
||||
public string sfxNumR;
|
||||
public int[] types;
|
||||
public string sfxNumL, sfxNumR;
|
||||
}
|
||||
|
||||
[Header("Animators")]
|
||||
|
@ -127,23 +139,15 @@ namespace HeavenStudio.Games
|
|||
public Animator BirdAnim; // bird flying in and out
|
||||
|
||||
[Header("References")]
|
||||
[SerializeField] GameObject ObjectBase;
|
||||
[SerializeField] GameObject FullBird;
|
||||
[SerializeField] ThrowObject ObjectBase;
|
||||
[SerializeField] SpriteRenderer WhichObject;
|
||||
public SpriteRenderer WhichLeftHalf;
|
||||
public SpriteRenderer WhichRightHalf;
|
||||
[SerializeField] TMP_Text cutEverythingText;
|
||||
|
||||
[Header("Curves")]
|
||||
[SerializeField] BezierCurve3D CurveFromLeft;
|
||||
[SerializeField] BezierCurve3D CurveFromRight;
|
||||
[SerializeField] TMP_Text CutEverythingText;
|
||||
|
||||
[SerializeField] Sprite[] ObjectTypes;
|
||||
|
||||
private bool birdOnScreen = false;
|
||||
private const string sfxNum = "dogNinja/";
|
||||
|
||||
public static DogNinja instance;
|
||||
private bool autoBop = true;
|
||||
public bool queuePrepare;
|
||||
public bool preparing;
|
||||
|
||||
public enum ObjectDirection
|
||||
{
|
||||
|
@ -152,7 +156,7 @@ namespace HeavenStudio.Games
|
|||
Both,
|
||||
}
|
||||
|
||||
public enum ObjectType
|
||||
public enum ObjectType : int
|
||||
{
|
||||
Random, // random fruit
|
||||
Apple, // fruit
|
||||
|
@ -195,199 +199,172 @@ namespace HeavenStudio.Games
|
|||
new("NtrNinjaTouchRelease", new int[] { IAEmptyCat, IAReleaseCat, IAEmptyCat },
|
||||
IA_Empty, IA_TouchBasicRelease, IA_Empty);
|
||||
|
||||
private void Awake()
|
||||
public override void OnLateBeatPulse(double beat)
|
||||
{
|
||||
instance = this;
|
||||
SetupBopRegion("dogNinja", "Bop", "auto");
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
if (!Conductor.instance.isPlaying || Conductor.instance.isPaused)
|
||||
{
|
||||
if (queuedThrows.Count > 0) queuedThrows.Clear();
|
||||
}
|
||||
foreach (var evt in scheduledInputs)
|
||||
{
|
||||
evt.Disable();
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnBeatPulse(double beat)
|
||||
{
|
||||
if (BeatIsInBopRegion(beat) && 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)
|
||||
{
|
||||
foreach (var e in gameManager.Beatmap.Entities.FindAll(e => e.datamodel is "dogNinja/ThrowObject" && beat > e.beat && beat < e.beat + 1))
|
||||
{
|
||||
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))
|
||||
{
|
||||
QueuedThrow t = e["throwData"];
|
||||
bool shouldPrepare = e["shouldPrepare"];
|
||||
if (beat > e.beat) {
|
||||
shouldPrepare = false;
|
||||
DogAnim.Play("Prepare", 0, 1);
|
||||
preparing = true;
|
||||
}
|
||||
ThrowObject(e.beat, e["direction"], shouldPrepare, t.types, t.sfxNumL, t.sfxNumR);
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (DogAnim.GetBool("needPrepare") && DogAnim.IsAnimationNotPlaying())
|
||||
// prepare queuing stuff
|
||||
if (queuePrepare && !preparing && (DogAnim.IsAnimationNotPlaying() || DogAnim.IsPlayingAnimationNames("Bop")))
|
||||
{
|
||||
DogAnim.DoScaledAnimationAsync("Prepare", 0.5f);
|
||||
DogAnim.SetBool("needPrepare", true);
|
||||
preparing = true;
|
||||
queuePrepare = false;
|
||||
}
|
||||
|
||||
// controls stuff
|
||||
if (PlayerInput.GetIsAction(InputAction_TouchPress) && !GameManager.instance.autoplay)
|
||||
{
|
||||
DogAnim.SetBool("needPrepare", true);
|
||||
// queuePrepare = true;
|
||||
DogAnim.DoScaledAnimationAsync("Prepare", 0.5f);
|
||||
preparing = true;
|
||||
}
|
||||
if (PlayerInput.GetIsAction(InputAction_TouchRelease) && (!IsExpectingInputNow(InputAction_Press)) && (!GameManager.instance.autoplay))
|
||||
{
|
||||
DogAnim.SetBool("needPrepare", false);
|
||||
DogAnim.DoScaledAnimationAsync("Bop", 0.5f);
|
||||
StopPrepare();
|
||||
DogAnim.DoScaledAnimationAsync("Unprepare", 0.5f);
|
||||
}
|
||||
|
||||
if (PlayerInput.GetIsAction(InputAction_Press) && !IsExpectingInputNow(InputAction_Press))
|
||||
{
|
||||
System.Random rd = new System.Random();
|
||||
string slice;
|
||||
int LorR = rd.Next(0, 2);
|
||||
if (LorR < 1)
|
||||
{
|
||||
slice = "WhiffRight";
|
||||
}
|
||||
else
|
||||
{
|
||||
slice = "WhiffLeft";
|
||||
}
|
||||
|
||||
string slice = UnityEngine.Random.Range(0, 1f) < 0.5f ? "WhiffRight" : "WhiffLeft";
|
||||
DogAnim.DoScaledAnimationAsync(slice, 0.5f);
|
||||
SoundByte.PlayOneShotGame("dogNinja/whiff");
|
||||
DogAnim.SetBool("needPrepare", false);
|
||||
}
|
||||
|
||||
if (queuedThrows.Count > 0)
|
||||
{
|
||||
foreach (var obj in queuedThrows) { ThrowObject(obj.beat, obj.direction, obj.typeL, obj.typeR, obj.sfxNumL, obj.sfxNumR); }
|
||||
queuedThrows.Clear();
|
||||
SoundByte.PlayOneShotGame("dogNinja/whiff");
|
||||
StopPrepare();
|
||||
}
|
||||
}
|
||||
|
||||
public void Bop(double beat, float length, bool auto, bool bop)
|
||||
{
|
||||
autoBop = auto;
|
||||
if (!bop) return;
|
||||
List<BeatAction.Action> actions = new();
|
||||
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
List<BeatAction.Action> actions = new();
|
||||
for (int i = 0; i < length; i++) {
|
||||
actions.Add(new(beat + i, delegate { DogAnim.DoScaledAnimationAsync("Bop", 0.5f); }));
|
||||
}
|
||||
|
||||
if (actions.Count > 0) BeatAction.New(this, actions);
|
||||
}
|
||||
|
||||
public static void QueueObject(double beat, int direction, int typeL, int typeR, bool prepare, bool muteThrow)
|
||||
public static void QueueObject(double beat, int direction, bool diffObjs, int type, int typeL, int typeR, bool prepare, bool muteThrow, RiqEntity e)
|
||||
{
|
||||
int ObjSprite = 1;
|
||||
if (typeL == 0 || typeR == 0)
|
||||
int randomObj = 1;
|
||||
int[] types = diffObjs ? new[] { typeL, typeR } : new[] { type, type };
|
||||
string[] sfxNums = new string[2];
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
// random object code. it makes a random number from 1-7 and sets that as the sprite
|
||||
System.Random rd = new System.Random();
|
||||
ObjSprite = rd.Next(1, 7);
|
||||
if (types[i] == 0 && (diffObjs || i == 0)) randomObj = UnityEngine.Random.Range((int)ObjectType.Apple, (int)ObjectType.Potato + 1);
|
||||
if (types[i] == 0) types[i] = randomObj;
|
||||
sfxNums[i] = "dogNinja/" + (types[i] < 7 ? "fruit" : Enum.GetName(typeof(ObjectType), types[i]));
|
||||
}
|
||||
|
||||
string sfxNumL = "dogNinja/";
|
||||
if (direction is 0 or 2)
|
||||
{
|
||||
sfxNumL += typeL < 7 ? "fruit" : Enum.GetName(typeof(ObjectType), typeL);
|
||||
if (typeL == 0) typeL = ObjSprite;
|
||||
if (!muteThrow) SoundByte.PlayOneShotGame(sfxNumL + "1", forcePlay: true);
|
||||
if (!muteThrow) {
|
||||
for (int i = 0; i < (direction == 2 && diffObjs ? 2 : 1); i++) {
|
||||
SoundByte.PlayOneShotGame(sfxNums[i] + "1", beat, forcePlay: true);
|
||||
}
|
||||
}
|
||||
|
||||
string sfxNumR = "dogNinja/";
|
||||
if (direction is 1 or 2)
|
||||
{
|
||||
sfxNumR += typeR < 7 ? "fruit" : Enum.GetName(typeof(ObjectType), typeR);
|
||||
if (typeR == 0) typeR = ObjSprite;
|
||||
if (!(direction == 2 && typeL == typeR) && !muteThrow) SoundByte.PlayOneShotGame(sfxNumR + "1", forcePlay: true);
|
||||
if (GameManager.instance.minigame is DogNinja instance) {
|
||||
instance.ThrowObject(beat, direction, prepare, types, sfxNums[0], sfxNums[1]);
|
||||
|
||||
} else {
|
||||
var queuedThrow = new QueuedThrow() {
|
||||
types = types,
|
||||
sfxNumL = sfxNums[0],
|
||||
sfxNumR = sfxNums[1],
|
||||
};
|
||||
// funny static variable workaround :)
|
||||
if (!e.dynamicData.TryAdd("throwData", queuedThrow)) {
|
||||
e["throwData"] = queuedThrow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
queuedThrows.Add(new QueuedThrow()
|
||||
public void ThrowObject(double beat, int direction, bool prepare, int[] types, string sfxNumL, string sfxNumR)
|
||||
{
|
||||
beat = beat,
|
||||
direction = direction,
|
||||
typeL = typeL,
|
||||
typeR = typeR,
|
||||
sfxNumL = sfxNumL,
|
||||
sfxNumR = sfxNumR,
|
||||
if (prepare) {
|
||||
BeatAction.New(this, new() {
|
||||
new(beat, () => queuePrepare = PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch || GameManager.instance.autoplay)
|
||||
});
|
||||
|
||||
prepare = prepare && (PlayerInput.CurrentControlStyle != InputController.ControlStyles.Touch || GameManager.instance.autoplay);
|
||||
if (prepare) DogNinja.instance.DogAnim.SetBool("needPrepare", true);
|
||||
}
|
||||
|
||||
public void ThrowObject(double beat, int direction, int typeL, int typeR, string sfxNumL, string sfxNumR)
|
||||
for (int i = 0; i < (direction == 2 ? 2 : 1); i++)
|
||||
{
|
||||
// instantiate a game object and give it its variables
|
||||
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);
|
||||
bool l = direction is 2 ? i == 0 : direction == 0;
|
||||
WhichObject.sprite = ObjectTypes[l ? types[0] : types[1]];
|
||||
ThrowObject obj = Instantiate(ObjectBase, transform);
|
||||
obj.startBeat = beat;
|
||||
obj.direction = direction;
|
||||
obj.fromLeft = l;
|
||||
obj.type = l ? types[0] : types[1];
|
||||
obj.sfxNum = l ? sfxNumL : sfxNumR;
|
||||
if (direction == 2) obj.shouldSfx = l == (types[0] == types[1]);
|
||||
}
|
||||
}
|
||||
|
||||
public void CutEverything(double beat, bool sound, string customText)
|
||||
public void CutEverything(double beat, float length, bool sound, string customText)
|
||||
{
|
||||
// plays one anim with sfx when it's not on screen, plays a different anim with no sfx when on screen. ez
|
||||
if (!birdOnScreen)
|
||||
{
|
||||
FullBird.SetActive(true);
|
||||
if (sound)
|
||||
{
|
||||
SoundByte.PlayOneShotGame(sfxNum + "bird_flap");
|
||||
}
|
||||
BirdAnim.Play("FlyIn", 0, 0);
|
||||
birdOnScreen = true;
|
||||
cutEverythingText.text = customText;
|
||||
}
|
||||
else
|
||||
{
|
||||
BirdAnim.Play("FlyOut", 0, 0);
|
||||
birdOnScreen = false;
|
||||
}
|
||||
if (sound) SoundByte.PlayOneShotGame("dogNinja/bird_flap");
|
||||
BirdAnim.DoScaledAnimationAsync("FlyIn", 0.5f);
|
||||
CutEverythingText.text = customText;
|
||||
|
||||
BeatAction.New(this, new() {
|
||||
new(beat + length, () => BirdAnim.Play("FlyOut", 0, 0))
|
||||
});
|
||||
}
|
||||
|
||||
public void Prepare(double beat)
|
||||
public void StopPrepare()
|
||||
{
|
||||
preparing = false;
|
||||
queuePrepare = false;
|
||||
}
|
||||
|
||||
public void DoPrepare()
|
||||
{
|
||||
if (PlayerInput.CurrentControlStyle == InputController.ControlStyles.Touch && PlayerInput.PlayerHasControl()) return;
|
||||
if (!DogAnim.GetBool("needPrepare")) DogAnim.DoScaledAnimationAsync("Prepare", 0.5f);
|
||||
DogAnim.SetBool("needPrepare", true);
|
||||
DogAnim.DoScaledAnimationAsync("Prepare", 0.5f);
|
||||
preparing = true;
|
||||
}
|
||||
|
||||
public void HereWeGo(double beat)
|
||||
public static void HereWeGo(double beat)
|
||||
{
|
||||
MultiSound.Play(new MultiSound.Sound[] {
|
||||
new MultiSound.Sound(sfxNum+"here", beat),
|
||||
new MultiSound.Sound(sfxNum+"we", beat + 0.5f),
|
||||
new MultiSound.Sound(sfxNum+"go", beat + 1f)
|
||||
// // sound sequence isn't working?
|
||||
// PlaySoundSequence("dogNinja", "here_we_go", beat);
|
||||
MultiSound.Play(new List<MultiSound.Sound>() {
|
||||
new("dogNinja/here", beat + 0),
|
||||
new("dogNinja/we", beat + 0.5),
|
||||
new("dogNinja/go", beat + 1),
|
||||
}, forcePlay: true);
|
||||
}
|
||||
|
||||
public static void HereWeGoInactive(double beat)
|
||||
{
|
||||
DogNinja.instance.HereWeGo(beat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,15 +4,14 @@ using System;
|
|||
using UnityEngine;
|
||||
using NaughtyBezierCurves;
|
||||
|
||||
using HeavenStudio.Util;
|
||||
|
||||
namespace HeavenStudio.Games.Scripts_DogNinja
|
||||
{
|
||||
// this code sucks but i don't wanna touch it. it works fine enough. sorry!
|
||||
public class SpawnHalves : MonoBehaviour
|
||||
{
|
||||
public double startBeat;
|
||||
public Vector3 objPos;
|
||||
private Vector3 posModifier;
|
||||
public bool lefty;
|
||||
float bpmModifier;
|
||||
double songPos;
|
||||
|
@ -23,27 +22,20 @@ namespace HeavenStudio.Games.Scripts_DogNinja
|
|||
[SerializeField] BezierCurve3D fallLeftCurve;
|
||||
[SerializeField] BezierCurve3D fallRightCurve;
|
||||
BezierCurve3D curve;
|
||||
[SerializeField] Transform halvesParent;
|
||||
|
||||
private DogNinja game;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
game = DogNinja.instance;
|
||||
bpmModifier = Conductor.instance.songBpm / 100;
|
||||
songPos = Conductor.instance.songPositionInBeatsAsDouble;
|
||||
}
|
||||
public SpriteRenderer sr;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
bpmModifier = Conductor.instance.songBpm / 100;
|
||||
songPos = Conductor.instance.songPositionInBeatsAsDouble;
|
||||
curve = lefty ? fallRightCurve : fallLeftCurve;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
float flyPosHalves = (Conductor.instance.GetPositionFromBeat(songPos, 3f)*(Conductor.instance.GetPositionFromBeat(songPos, 2f)))+Conductor.instance.GetPositionFromBeat(songPos, 1f);
|
||||
flyPosHalves = (flyPosHalves*0.2f)+0.35f;
|
||||
transform.position = curve.GetPoint(flyPosHalves)+objPos;
|
||||
float flyPosHalves = (Conductor.instance.GetPositionFromBeat(songPos, 3f) * Conductor.instance.GetPositionFromBeat(songPos, 2f)) + Conductor.instance.GetPositionFromBeat(songPos, 1f);
|
||||
flyPosHalves = (flyPosHalves * 0.2f) + 0.35f;
|
||||
transform.position = curve.GetPoint(flyPosHalves) + objPos;
|
||||
|
||||
float rot = rotSpeed;
|
||||
rot *= lefty ? bpmModifier : -1 * bpmModifier;
|
||||
|
@ -51,13 +43,8 @@ namespace HeavenStudio.Games.Scripts_DogNinja
|
|||
|
||||
// clean-up logic
|
||||
if (flyPosHalves > 1f) {
|
||||
GameObject.Destroy(gameObject);
|
||||
};
|
||||
|
||||
if ((!Conductor.instance.isPlaying && !Conductor.instance.isPaused)
|
||||
|| GameManager.instance.currentGame != "dogNinja") {
|
||||
GameObject.Destroy(gameObject);
|
||||
};
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,8 @@ namespace HeavenStudio.Games.Scripts_DogNinja
|
|||
{
|
||||
public class ThrowObject : MonoBehaviour
|
||||
{
|
||||
[SerializeField] DogNinja game;
|
||||
|
||||
public double startBeat;
|
||||
public int type;
|
||||
public bool fromLeft;
|
||||
|
@ -26,120 +28,84 @@ namespace HeavenStudio.Games.Scripts_DogNinja
|
|||
|
||||
[Header("References")]
|
||||
public BezierCurve3D curve;
|
||||
[SerializeField] BezierCurve3D barelyCurve;
|
||||
[SerializeField] BezierCurve3D LeftCurve;
|
||||
[SerializeField] BezierCurve3D RightCurve;
|
||||
private BezierCurve3D barelyCurve;
|
||||
[SerializeField] BezierCurve3D BarelyLeftCurve;
|
||||
[SerializeField] BezierCurve3D BarelyRightCurve;
|
||||
[SerializeField] GameObject HalvesLeftBase;
|
||||
[SerializeField] GameObject HalvesRightBase;
|
||||
[SerializeField] Transform ObjectParent;
|
||||
[SerializeField] SpawnHalves HalvesLeftBase;
|
||||
[SerializeField] SpawnHalves HalvesRightBase;
|
||||
public Sprite[] objectLeftHalves;
|
||||
public Sprite[] objectRightHalves;
|
||||
|
||||
private DogNinja game;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
game = DogNinja.instance;
|
||||
DogAnim = game.DogAnim;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
DogAnim = game.DogAnim;
|
||||
curve = fromLeft ? LeftCurve : RightCurve;
|
||||
barelyCurve = fromLeft ? BarelyRightCurve : BarelyLeftCurve;
|
||||
|
||||
game.ScheduleInput(startBeat, 1f, DogNinja.InputAction_Press, Hit, Miss, Out);
|
||||
game.ScheduleInput(startBeat, 1f, DogNinja.InputAction_Press, Hit, Miss, null);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
float flyPos = Conductor.instance.GetPositionFromBeat(startBeat, 1f)+1.1f;
|
||||
float flyPosBarely = Conductor.instance.GetPositionFromBeat(barelyTime, 1f)+1f;
|
||||
if (isActive) {
|
||||
float flyPos = game.conductor.GetPositionFromBeat(startBeat, 1f)+1.1f;
|
||||
flyPos *= 0.31f;
|
||||
transform.position = curve.GetPoint(flyPos);
|
||||
objPos = curve.GetPoint(flyPos);
|
||||
// destroy object when it's off-screen
|
||||
if (flyPos > 1f) {
|
||||
GameObject.Destroy(gameObject);
|
||||
Destroy(gameObject);
|
||||
}
|
||||
} else {
|
||||
float flyPosBarely = game.conductor.GetPositionFromBeat(barelyTime, 1f)+1f;
|
||||
flyPosBarely *= 0.3f;
|
||||
transform.position = barelyCurve.GetPoint(flyPosBarely) + objPos;
|
||||
float rot = fromLeft ? 200f : -200f;
|
||||
transform.rotation = Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z + (rot * Time.deltaTime));
|
||||
if (flyPosBarely > 1f) {
|
||||
GameObject.Destroy(gameObject);
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
if ((!Conductor.instance.isPlaying && !Conductor.instance.isPaused)
|
||||
|| GameManager.instance.currentGame != "dogNinja") {
|
||||
GameObject.Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
private void SuccessSlice()
|
||||
{
|
||||
string slice = "Slice" + direction switch
|
||||
{
|
||||
0 => "Left",
|
||||
1 => "Right",
|
||||
_ => "Both",
|
||||
};
|
||||
|
||||
DogAnim.DoScaledAnimationAsync(slice, 0.5f);
|
||||
if (shouldSfx) SoundByte.PlayOneShotGame(sfxNum+"2");
|
||||
|
||||
game.WhichLeftHalf.sprite = objectLeftHalves[type-1];
|
||||
game.WhichRightHalf.sprite = objectRightHalves[type-1];
|
||||
|
||||
SpawnHalves LeftHalf = Instantiate(HalvesLeftBase, game.gameObject.transform).GetComponent<SpawnHalves>();
|
||||
LeftHalf.startBeat = startBeat;
|
||||
LeftHalf.lefty = fromLeft;
|
||||
LeftHalf.objPos = objPos;
|
||||
|
||||
SpawnHalves RightHalf = Instantiate(HalvesRightBase, game.gameObject.transform).GetComponent<SpawnHalves>();
|
||||
RightHalf.startBeat = startBeat;
|
||||
RightHalf.lefty = fromLeft;
|
||||
RightHalf.objPos = objPos;
|
||||
|
||||
GameObject.Destroy(gameObject);
|
||||
}
|
||||
|
||||
private void JustSlice()
|
||||
{
|
||||
isActive = false;
|
||||
barelyTime = Conductor.instance.songPositionInBeatsAsDouble;
|
||||
|
||||
string barely = "Barely" + direction switch
|
||||
{
|
||||
0 => "Left",
|
||||
1 => "Right",
|
||||
2 => "Both",
|
||||
_ => "Both",
|
||||
};
|
||||
|
||||
DogAnim.DoScaledAnimationAsync(barely, 0.5f);
|
||||
SoundByte.PlayOneShotGame("dogNinja/barely");
|
||||
}
|
||||
|
||||
private void Hit(PlayerActionEvent caller, float state)
|
||||
{
|
||||
game.DogAnim.SetBool("needPrepare", false);
|
||||
if (state >= 1f || state <= -1f) JustSlice();
|
||||
else SuccessSlice();
|
||||
game.StopPrepare();
|
||||
string dir = direction switch {
|
||||
0 => "Left",
|
||||
1 => "Right",
|
||||
_ => "Both",
|
||||
};
|
||||
if (state >= 1f || state <= -1f) {
|
||||
isActive = false;
|
||||
barelyTime = game.conductor.songPositionInBeatsAsDouble;
|
||||
|
||||
DogAnim.DoScaledAnimationAsync("Barely" + dir, 0.5f);
|
||||
if (shouldSfx) SoundByte.PlayOneShotGame("dogNinja/barely");
|
||||
} else {
|
||||
DogAnim.DoScaledAnimationAsync("Slice" + dir, 0.5f);
|
||||
if (shouldSfx) SoundByte.PlayOneShotGame(sfxNum + "2");
|
||||
|
||||
HalvesLeftBase.sr.sprite = objectLeftHalves[type - 1];
|
||||
HalvesRightBase.sr.sprite = objectRightHalves[type - 1];
|
||||
for (int i = 0; i < 2; i++) {
|
||||
SpawnHalves half = Instantiate(i == 0 ? HalvesLeftBase : HalvesRightBase, game.transform);
|
||||
half.startBeat = startBeat;
|
||||
half.lefty = fromLeft;
|
||||
half.objPos = objPos;
|
||||
}
|
||||
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
private void Miss(PlayerActionEvent caller)
|
||||
{
|
||||
if (!DogAnim.GetBool("needPrepare")) return;
|
||||
DogAnim.DoScaledAnimationAsync("UnPrepare", 0.5f);
|
||||
DogAnim.SetBool("needPrepare", false);
|
||||
}
|
||||
|
||||
private void Out(PlayerActionEvent caller)
|
||||
{
|
||||
DogAnim.SetBool("needPrepare", false);
|
||||
if (!game.preparing) return;
|
||||
DogAnim.DoScaledAnimationAsync("Unprepare", 0.5f);
|
||||
game.StopPrepare();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue