uhhh?? ig i forgot to save

wow i guess i was. really tired last night.
This commit is contained in:
AstrlJelly 2024-06-07 16:44:55 -04:00
parent 66e87ee428
commit 62ebea8411
14 changed files with 835 additions and 51 deletions

View file

@ -289,7 +289,7 @@ Transform:
- {fileID: 8226260808373746563}
- {fileID: 5878401426804739814}
m_Father: {fileID: 5715047164748654698}
m_RootOrder: 5
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &6037582727269570347
Animator:
@ -512,7 +512,7 @@ Transform:
- {fileID: 3448463463127742291}
- {fileID: 8796473988025086322}
m_Father: {fileID: 5715047164748654698}
m_RootOrder: 4
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &2937590231589242979
Animator:
@ -852,6 +852,7 @@ Transform:
- {fileID: 7509207802279435211}
- {fileID: 8336220536032857166}
- {fileID: 1503179506244560240}
- {fileID: 5883637438837570447}
- {fileID: 8769701094702201794}
- {fileID: 3256309863007746927}
- {fileID: 3350458927318833813}
@ -874,6 +875,7 @@ MonoBehaviour:
girlAnim: {fileID: 2937590231589242979}
monkeyAnim: {fileID: 3536726533992943518}
sewingAnim: {fileID: 6037582727269570347}
reactionAnim: {fileID: 7081272534623568140}
bgSpriteRenderer: {fileID: 2629062112903974991}
lightRenderer: {fileID: 1403303695239245045}
lightMaterialTemplate: {fileID: 2100000, guid: 42b863c88a7a9c4428440728fee737bb, type: 2}
@ -1400,13 +1402,14 @@ GameObject:
m_Component:
- component: {fileID: 5883637438837570447}
- component: {fileID: 2012344898042423413}
- component: {fileID: 7081272534623568140}
m_Layer: 0
m_Name: Reaction
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!4 &5883637438837570447
Transform:
m_ObjectHideFlags: 0
@ -1415,12 +1418,12 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5555175038130275063}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: -0.66, y: -0.02, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8769701094702201794}
m_RootOrder: 6
m_Father: {fileID: 5715047164748654698}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &2012344898042423413
SpriteRenderer:
@ -1464,7 +1467,7 @@ SpriteRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 455743163, guid: 91eefdf066035514b82191a67d108b89, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
@ -1474,6 +1477,27 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!95 &7081272534623568140
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5555175038130275063}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: a90105ef6315a114fb02eb8a6bf15f42, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!1 &5831123814062995111
GameObject:
m_ObjectHideFlags: 0
@ -1677,9 +1701,8 @@ Transform:
- {fileID: 2680789703424563267}
- {fileID: 5792578720703545176}
- {fileID: 4233767558195956804}
- {fileID: 5883637438837570447}
m_Father: {fileID: 5715047164748654698}
m_RootOrder: 3
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &3536726533992943518
Animator:

View file

@ -0,0 +1,71 @@
%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: MonkeyCallFace
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: -1983626645, guid: 91eefdf066035514b82191a67d108b89, type: 3}
- time: 0.13333334
value: {fileID: -2055584907, guid: 91eefdf066035514b82191a67d108b89, type: 3}
attribute: m_Sprite
path: Head
classID: 212
script: {fileID: 0}
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: 130111906
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
pptrCurveMapping:
- {fileID: -1983626645, guid: 91eefdf066035514b82191a67d108b89, type: 3}
- {fileID: -2055584907, guid: 91eefdf066035514b82191a67d108b89, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.15
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: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View file

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

View file

@ -20,7 +20,7 @@ AnimationClip:
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: -2055584907, guid: 91eefdf066035514b82191a67d108b89, type: 3}
value: {fileID: -1270103365, guid: 91eefdf066035514b82191a67d108b89, type: 3}
attribute: m_Sprite
path: Head
classID: 212
@ -40,7 +40,7 @@ AnimationClip:
customType: 23
isPPtrCurve: 1
pptrCurveMapping:
- {fileID: -2055584907, guid: 91eefdf066035514b82191a67d108b89, type: 3}
- {fileID: -1270103365, guid: 91eefdf066035514b82191a67d108b89, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}

View file

@ -20,7 +20,7 @@ AnimationClip:
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: -2055584907, guid: 91eefdf066035514b82191a67d108b89, type: 3}
value: {fileID: -578941528, guid: 91eefdf066035514b82191a67d108b89, type: 3}
attribute: m_Sprite
path: Head
classID: 212
@ -40,7 +40,7 @@ AnimationClip:
customType: 23
isPPtrCurve: 1
pptrCurveMapping:
- {fileID: -2055584907, guid: 91eefdf066035514b82191a67d108b89, type: 3}
- {fileID: -578941528, guid: 91eefdf066035514b82191a67d108b89, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}

View file

@ -1,5 +1,57 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1102 &-4333161336659600000
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Sad
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
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: 1e0250de52541f54b8137ca93a43b7a8, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-1677676648488995382
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Happy
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
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: cfd96695df349724791682c162ceb9c1, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-1409298229096361948
AnimatorState:
serializedVersion: 6
@ -20,7 +72,7 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 0}
m_Motion: {fileID: 7400000, guid: 3c83387d343c1e144a9f1bc8de6941c9, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
@ -40,7 +92,7 @@ AnimatorState:
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
@ -80,9 +132,9 @@ AnimatorController:
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_BlendingMode: 1
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_DefaultWeight: 1
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
@ -140,6 +192,32 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &4226119145841885105
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: CallFace
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
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: 1090d8c79dc86f149af8c4811c6299bc, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &4650706990511529687
AnimatorStateMachine:
serializedVersion: 6
@ -152,6 +230,15 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: 8118728865878460043}
m_Position: {x: 370, y: 150, z: 0}
- serializedVersion: 1
m_State: {fileID: -1677676648488995382}
m_Position: {x: 280, y: -30, z: 0}
- serializedVersion: 1
m_State: {fileID: -4333161336659600000}
m_Position: {x: 370, y: 60, z: 0}
- serializedVersion: 1
m_State: {fileID: 4226119145841885105}
m_Position: {x: 570, y: -30, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 59150cc8be823cb46bb55e377206eac4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,130 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1102 &-1133403523855269911
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Incorrect
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
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: 93d2c53ea2a98a94581181a583838fb8, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ReactionAnim
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 3908481374778911780}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &343592015237330692
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Idle
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
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: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &2747063380849003634
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Correct
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
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: 35e5172c77cae3e43a081e67e50557fa, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &3908481374778911780
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 343592015237330692}
m_Position: {x: 370, y: 100, z: 0}
- serializedVersion: 1
m_State: {fileID: 2747063380849003634}
m_Position: {x: 330, y: -20, z: 0}
- serializedVersion: 1
m_State: {fileID: -1133403523855269911}
m_Position: {x: 350, y: 40, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 343592015237330692}

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a90105ef6315a114fb02eb8a6bf15f42
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,193 @@
%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: ReactionCorrect
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: -0.68, y: 0.21, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path:
m_ScaleCurves: []
m_FloatCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
path:
classID: 212
script: {fileID: 0}
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: 455743163, guid: 91eefdf066035514b82191a67d108b89, type: 3}
attribute: m_Sprite
path:
classID: 212
script: {fileID: 0}
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: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 0
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 0
attribute: 304273561
script: {fileID: 0}
typeID: 212
customType: 0
isPPtrCurve: 0
pptrCurveMapping:
- {fileID: 455743163, guid: 91eefdf066035514b82191a67d108b89, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.016666668
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: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
path:
classID: 212
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -0.68
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
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: 0.21
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
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
outWeight: 0
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

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

View file

@ -0,0 +1,193 @@
%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: ReactionIncorrect
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: -0.75, y: 0.69, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path:
m_ScaleCurves: []
m_FloatCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
path:
classID: 212
script: {fileID: 0}
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: -591490588, guid: 91eefdf066035514b82191a67d108b89, type: 3}
attribute: m_Sprite
path:
classID: 212
script: {fileID: 0}
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: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 0
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 0
attribute: 304273561
script: {fileID: 0}
typeID: 212
customType: 0
isPPtrCurve: 0
pptrCurveMapping:
- {fileID: -591490588, guid: 91eefdf066035514b82191a67d108b89, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.016666668
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: 1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_Color.a
path:
classID: 212
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -0.75
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
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: 0.69
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
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
outWeight: 0
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

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

View file

@ -24,8 +24,8 @@ namespace HeavenStudio.Games.Loaders
var e = eventCaller.currentEntity;
if (eventCaller.gameManager.TryGetMinigame(out DressYourBest instance)) {
DressYourBest.Characters characters = (DressYourBest.Characters)e["characters"];
instance.ToggleBopping(characters, e["bop"]);
if (e["auto"]) instance.DoBopping(e.beat, e.length, characters);
instance.ToggleBopping(characters, e["auto"]);
if (e["bop"]) instance.DoBopping(e.beat, e.length, characters);
}
},
defaultLength = 1f,
@ -33,8 +33,8 @@ namespace HeavenStudio.Games.Loaders
parameters = new List<Param>()
{
new("characters", DressYourBest.Characters.Both, "Characters", "Choose the characters to toggle bopping."),
new("bop", true, "Bop", "Toggle if the selected characters should bop for the duration of this event."),
new("auto", true, "Bop (Auto)", "Toggle if the selected characters should automatically bop until another Bop event is reached."),
new("bop", true, "Bop", "Toggle if the selected characters should bop for the duration of this event."),
}
},
new GameAction("start interval", "Start Interval", "Cues")
@ -176,6 +176,7 @@ namespace HeavenStudio.Games
[SerializeField] private Animator girlAnim;
[SerializeField] private Animator monkeyAnim;
[SerializeField] private Animator sewingAnim;
[SerializeField] private Animator reactionAnim;
[Header("Renderers")]
[SerializeField] private SpriteRenderer bgSpriteRenderer;
@ -201,10 +202,16 @@ namespace HeavenStudio.Games
private Sound whirringSfx = null;
private List<RiqEntity> callEntities;
private double startIntervalEndBeat;
// if characters should bop automatically
private bool girlBop = true;
private bool monkeyBop = true;
private Faces girlFaceCurrent;
private Faces monkeyFaceCurrent;
private void Awake()
{
// instantiate the material so it doesn't persist between game switches
@ -215,15 +222,24 @@ namespace HeavenStudio.Games
private void Update()
{
bgSpriteRenderer.color = bgColorEase.GetColor();
if (PlayerInput.GetIsAction(InputAction_BasicPress) && !IsExpectingInputNow(InputAction_BasicPress)) {
ChangeEmotion(Characters.Girl, Faces.Sad);
sewingAnim.DoScaledAnimationAsync("Miss", 0.5f);
SoundByte.PlayOneShotGame("dressYourBest/hit_1", volume: 2);
SoundByte.PlayOneShot("miss");
}
}
public override void OnLateBeatPulse(double beat)
{
if (girlBop && !girlAnim.IsPlayingAnimationNames()) {
// if (girlBop && !girlAnim.IsPlayingAnimationNames()) {
if (girlBop) {
girlAnim.DoScaledAnimationAsync("Bop", 0.5f, animLayer: 0);
}
if (monkeyBop && !monkeyAnim.IsPlayingAnimationNames("Call")) {
monkeyAnim.DoScaledAnimationAsync("Bop", 0.5f);
// if (monkeyBop && beat >= startIntervalEndBeat && !monkeyAnim.IsPlayingAnimationNames("Call")) {
if (monkeyBop && beat >= startIntervalEndBeat) {
monkeyAnim.DoScaledAnimationAsync("Bop", 0.5f, animLayer: 0);
}
}
@ -231,13 +247,13 @@ namespace HeavenStudio.Games
public override void OnGameSwitch(double beat)
{
StoreAllCallEntities();
PersistBackgroundAppearance(beat);
PersistPreviousEntities(beat);
}
public override void OnPlay(double beat)
{
StoreAllCallEntities();
PersistBackgroundAppearance(beat);
PersistPreviousEntities(beat);
}
private void StoreAllCallEntities()
@ -246,7 +262,7 @@ namespace HeavenStudio.Games
callEntities = gameManager.Beatmap.Entities.FindAll(e => e.datamodel == "dressYourBest/monkey call");
}
private void PersistBackgroundAppearance(double beat)
private void PersistPreviousEntities(double beat)
{
// find the last background appearance from the current beat
// this uses only beat, not length. earlier events will be completely ignored
@ -255,13 +271,25 @@ namespace HeavenStudio.Games
RiqEntity e = bgEntity;
ChangeBackgroundAppearance(e.beat, e.length, e["startColor"], e["endColor"], e["ease"]);
}
RiqEntity bopEntity = gameManager.Beatmap.Entities.FindLast(e => e.beat <= beat && e.datamodel == "dressYourBest/bop");
if (bopEntity != null) {
RiqEntity e = bopEntity;
Characters characters = (Characters)e["characters"];
ToggleBopping(characters, e["auto"]);
if (e["bop"] && beat > e.beat && beat < e.beat + e.length) { // if it is switched to or played in the middle of a bop event
DoBopping(e.beat, e.length, characters);
}
}
}
private void SetLightFromState(LightState state)
{
ColorPair colorPair = lightStates[(int)state];
lightRenderer.material.SetColor("_ColorAlpha", colorPair.outside);
lightRenderer.material.SetColor("_ColorBravo", colorPair.inside);
// lightRenderer.material.SetColor("_ColorAlpha", colorPair.outside);
// lightRenderer.material.SetColor("_ColorBravo", colorPair.inside);
lightRenderer.material.SetColor("_ColorAlpha", colorPair.inside);
lightRenderer.material.SetColor("_ColorBravo", colorPair.outside);
}
public void ChangeBackgroundAppearance(double beat, float length, Color startColor, Color endColor, int ease)
@ -287,7 +315,7 @@ namespace HeavenStudio.Games
bopAction += () => girlAnim.DoScaledAnimationAsync("Bop", 0.5f, animLayer: 0);
}
if (characters is Characters.Monkey or Characters.Both) {
bopAction += () => monkeyAnim.DoScaledAnimationAsync("Bop", 0.5f);
bopAction += () => monkeyAnim.DoScaledAnimationAsync("Bop", 0.5f, animLayer: 0);
}
List<BeatAction.Action> actions = new();
@ -299,20 +327,19 @@ namespace HeavenStudio.Games
public void ChangeEmotion(Characters character, Faces emotion)
{
string emotionStr = emotion.ToString();
if (character is Characters.Girl or Characters.Both) {
ChangeEmotion(girlAnim, emotion);
girlFaceCurrent = emotion;
girlAnim.DoScaledAnimationAsync(emotionStr, 0.5f, animLayer: 1);
}
if (character is Characters.Monkey or Characters.Both) {
ChangeEmotion(monkeyAnim, emotion);
Debug.Log("monkey emotionStr : " + emotionStr);
monkeyFaceCurrent = emotion;
monkeyAnim.DoScaledAnimationAsync(emotionStr, 0.5f, animLayer: 1);
}
}
private void ChangeEmotion(Animator anim, Faces emotion)
{
Debug.Log("emotion : " + emotion);
anim.DoScaledAnimationAsync(emotion.ToString(), 0.5f, animLayer: 1);
}
// startBeat exists so actions that happened when inactive aren't done again. that would suck
public void QueueStartInterval(double beat, float length, bool autoPass, bool autoReact, double startBeat = double.MinValue)
{
@ -322,14 +349,25 @@ namespace HeavenStudio.Games
if (startBeat < beat + length) {
List<MultiSound.Sound> sounds = new();
List<BeatAction.Action> actions = new() {
new(beat, () => ChangeEmotion(girlAnim, Faces.Looking))
new(beat, delegate {
startIntervalEndBeat = beat + length;
if (neededCalls[^1].beat == beat + length) { // if there's a block at the end, extend the bop one beat
startIntervalEndBeat++;
}
ChangeEmotion(Characters.Girl, Faces.Looking);
})
};
foreach (RiqEntity call in neededCalls)
{
// Debug.Log("call.beat : " + call.beat);
if (call.beat < startBeat) continue;
sounds.Add(new("dressYourBest/monkey_call_" + (call["callSfx"] + 1), call.beat));
actions.Add(new(call.beat, () => monkeyAnim.DoScaledAnimationAsync("Call", 0.5f)));
actions.Add(new(call.beat, () => {
monkeyAnim.DoScaledAnimationAsync("Call", 0.5f, animLayer: 0);
// this is janky but unity animation Sucks Balls so it's really the best way to do it
monkeyFaceCurrent = Faces.Idle;
monkeyAnim.DoScaledAnimationAsync("CallFace", 0.5f, animLayer: 1);
}));
}
if (autoPass) {
// have to add this after all the other actions as actions are done in order of beat
@ -355,12 +393,13 @@ namespace HeavenStudio.Games
neededCalls ??= GetNeededCalls(startIntervalBeat, startIntervalLength);
if (neededCalls.Count <= 0) return; // do the actual stuff under here
ChangeEmotion(girlAnim, Faces.Idle);
ChangeEmotion(Characters.Girl, Faces.Idle);
SetLightFromState(LightState.Repeating);
// "Any" check instead of just checking the last one?
if (neededCalls[^1].beat != beat) {
monkeyAnim.DoScaledAnimationAsync("Idle", 0.5f);
}
// if (neededCalls[^1].beat != beat) {
// monkeyAnim.DoScaledAnimationAsync("Idle", 0.5f, animLayer: 0);
// // ChangeEmotion(Characters.Monkey, Faces.Idle);
// }
hitCount = 0;
foreach (RiqEntity call in neededCalls)
{
@ -382,21 +421,29 @@ namespace HeavenStudio.Games
public void IntervalReact(double beat, float length)
{
hasMissed = false;
Faces reaction = HasMissed ? Faces.Sad : Faces.Happy;
ChangeEmotion(monkeyAnim, reaction);
ChangeEmotion(girlAnim, reaction);
ChangeEmotion(Characters.Monkey, reaction);
ChangeEmotion(Characters.Girl, reaction);
LightState lightState = (LightState)reaction;
SetLightFromState(lightState);
string lightStateStr = lightState.ToString();
reactionAnim.DoScaledAnimationAsync(lightStateStr, 0.5f);
// there's not a good way to schedule this afaik.
// there might be some way to like, schedule the sound then change the sound source when missed? that could work maybe
SoundByte.PlayOneShotGame("dressYourBest/" + lightState.ToString().ToLower());
SoundByte.PlayOneShotGame("dressYourBest/" + lightStateStr.ToLower());
// maybe wanna use a beat value that's checked in the update loop
// that would let people specify
// made this comment before adding this "current face" check
_ = BeatAction.New(this, new() {
new(beat + length, delegate {
ChangeEmotion(monkeyAnim, Faces.Idle);
ChangeEmotion(girlAnim, Faces.Idle);
reactionAnim.DoScaledAnimationAsync("Idle", 0.5f);
// makes sure it's not overriding new faces (really just the looking face.)
if (girlFaceCurrent == reaction) ChangeEmotion(Characters.Girl, Faces.Idle);
if (monkeyFaceCurrent == reaction) ChangeEmotion(Characters.Monkey, Faces.Idle);
// ChangeEmotion(Characters.Monkey, Faces.Idle);
SetLightFromState(LightState.IdleOrListening);
})
});
@ -408,7 +455,7 @@ namespace HeavenStudio.Games
private void OnHit(PlayerActionEvent caller, float state)
{
hitCount++;
SoundByte.PlayOneShotGame("dressYourBest/hit_1");
SoundByte.PlayOneShotGame("dressYourBest/hit_1", volume: 2);
SoundByte.PlayOneShotGame("dressYourBest/hit_2", pitch: SoundByte.GetPitchFromSemiTones(hitCount, false));
if (state is >= 1f or <= (-1f)) // barely
{