From 2d4af47609fcfbf01c248350b7f32a02e54134ee Mon Sep 17 00:00:00 2001 From: minenice55 Date: Fri, 5 Aug 2022 22:37:06 -0400 Subject: [PATCH] facial expressions - activated thru certain actions (NG input, special moves) or can be forced via entity --- Assets/Resources/Games/karateman.prefab | 23 +- .../KarateMan/anime/karateman/BackHand.anim | 16 +- .../Games/KarateMan/anime/karateman/Beat.anim | 9 +- .../Games/KarateMan/anime/karateman/Head.meta | 8 + .../anime/karateman/Head/Face00.anim | 83 +++++ .../anime/karateman/Head/Face00.anim.meta | 8 + .../anime/karateman/Head/Face01.anim | 83 +++++ .../anime/karateman/Head/Face01.anim.meta | 8 + .../anime/karateman/Head/Face02.anim | 92 +++++ .../anime/karateman/Head/Face02.anim.meta | 8 + .../anime/karateman/Head/Face03.anim | 83 +++++ .../anime/karateman/Head/Face03.anim.meta | 8 + .../anime/karateman/Head/Face04.anim | 83 +++++ .../anime/karateman/Head/Face04.anim.meta | 8 + .../anime/karateman/Head/Face05.anim | 83 +++++ .../anime/karateman/Head/Face05.anim.meta | 8 + .../anime/karateman/Head/Face06.anim | 83 +++++ .../anime/karateman/Head/Face06.anim.meta | 8 + .../anime/karateman/Head/Face07.anim | 83 +++++ .../anime/karateman/Head/Face07.anim.meta | 8 + .../anime/karateman/Head/Face08.anim | 83 +++++ .../anime/karateman/Head/Face08.anim.meta | 8 + .../karateman/Head/KarateManHead.controller | 330 ++++++++++++++++++ .../Head/KarateManHead.controller.meta | 8 + .../Games/KarateMan/anime/karateman/Jab.anim | 9 +- .../KarateMan/anime/karateman/LowJab.anim | 16 +- .../KarateMan/anime/karateman/LowKick.anim | 23 +- .../anime/karateman/LowKickMiss.anim | 37 +- .../KarateMan/anime/karateman/ManCharge.anim | 9 +- .../KarateMan/anime/karateman/ManKick.anim | 23 +- .../KarateMan/anime/karateman/NoPose.anim | 9 +- .../KarateMan/anime/karateman/Straight.anim | 16 +- .../KarateMan/anime/karateman/ToReady.anim | 23 +- .../KarateMan/anime/karateman/UpperCut.anim | 30 +- Assets/Scripts/Games/KarateMan/KarateMan.cs | 24 +- .../Scripts/Games/KarateMan/KarateManJoe.cs | 30 +- .../Scripts/Games/KarateMan/KarateManPot.cs | 82 ++++- 37 files changed, 1524 insertions(+), 29 deletions(-) create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face00.anim create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face00.anim.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face01.anim create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face01.anim.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face02.anim create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face02.anim.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face03.anim create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face03.anim.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face04.anim create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face04.anim.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face05.anim create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face05.anim.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face06.anim create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face06.anim.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face07.anim create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face07.anim.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face08.anim create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face08.anim.meta create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/KarateManHead.controller create mode 100644 Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/KarateManHead.controller.meta diff --git a/Assets/Resources/Games/karateman.prefab b/Assets/Resources/Games/karateman.prefab index 886d5b57..a425af7c 100644 --- a/Assets/Resources/Games/karateman.prefab +++ b/Assets/Resources/Games/karateman.prefab @@ -5209,6 +5209,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: anim: {fileID: 3234329793564267697} + FaceAnim: {fileID: 5536880711032662789} Shadows: - {fileID: 6959523891618734576} - {fileID: 7256772822833254697} @@ -20412,6 +20413,7 @@ GameObject: m_Component: - component: {fileID: 632063457541129794} - component: {fileID: 9065825703577906459} + - component: {fileID: 5536880711032662789} m_Layer: 0 m_Name: Head m_TagString: Untagged @@ -20485,6 +20487,25 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!95 &5536880711032662789 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1588002223575483339} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 42f59a0269f309549baa9ac01ce6812a, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 --- !u!1 &1684620099579289651 GameObject: m_ObjectHideFlags: 0 @@ -61491,7 +61512,7 @@ SpriteRenderer: m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 - m_Size: {x: 4.3333335, y: 3.8888888} + m_Size: {x: 6.111111, y: 9.222222} m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/BackHand.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/BackHand.anim index 0b2ec701..59f9b44b 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/BackHand.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/BackHand.anim @@ -8756,4 +8756,18 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkNoEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Beat.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Beat.anim index b68073ca..3a1413f6 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Beat.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Beat.anim @@ -9887,4 +9887,11 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkCanEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head.meta new file mode 100644 index 00000000..45717c95 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 67d4bfbf1a4a6b44d876b181826c611c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face00.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face00.anim new file mode 100644 index 00000000..9c75c934 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face00.anim @@ -0,0 +1,83 @@ +%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: Face00 + 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: 4149267612586432800, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 0} + attribute: m_Sprite + path: HeadAttatch + 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: 2352827173 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 4149267612586432800, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 0} + 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: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face00.anim.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face00.anim.meta new file mode 100644 index 00000000..1bc381b0 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face00.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 230da584b9289f64683dd1f969b27a4f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face01.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face01.anim new file mode 100644 index 00000000..77928eb3 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face01.anim @@ -0,0 +1,83 @@ +%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: Face01 + 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: 3060967690338004721, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 0} + attribute: m_Sprite + path: HeadAttatch + 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: 2352827173 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 3060967690338004721, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 0} + 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: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face01.anim.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face01.anim.meta new file mode 100644 index 00000000..8badd100 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face01.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e5bf7322815d2454da8ca957e3dd70b2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face02.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face02.anim new file mode 100644 index 00000000..10d87840 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face02.anim @@ -0,0 +1,92 @@ +%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: Face02 + 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: 4866608027561499029, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - time: 0.5 + value: {fileID: 4866608027561499029, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: -348202296468608855, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - time: 0.16666667 + value: {fileID: 0} + - time: 0.5 + value: {fileID: 0} + attribute: m_Sprite + path: HeadAttatch + 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: 2352827173 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 4866608027561499029, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 4866608027561499029, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: -348202296468608855, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 0} + - {fileID: 0} + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.51666665 + 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: [] diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face02.anim.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face02.anim.meta new file mode 100644 index 00000000..b64514dd --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face02.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5c56dbada33ffd94a9cec6d1bc0ea8f3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face03.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face03.anim new file mode 100644 index 00000000..3394562b --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face03.anim @@ -0,0 +1,83 @@ +%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: Face03 + 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: -467025217388406215, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 0} + attribute: m_Sprite + path: HeadAttatch + 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: 2352827173 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -467025217388406215, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 0} + 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: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face03.anim.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face03.anim.meta new file mode 100644 index 00000000..bd19a114 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face03.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3975a0b02bfaadf4683f37b9a7d1b712 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face04.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face04.anim new file mode 100644 index 00000000..d416435d --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face04.anim @@ -0,0 +1,83 @@ +%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: Face04 + 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: 2844288917660902187, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 0} + attribute: m_Sprite + path: HeadAttatch + 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: 2352827173 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 2844288917660902187, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 0} + 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: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face04.anim.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face04.anim.meta new file mode 100644 index 00000000..18230ae2 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face04.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec64f94d6a166c34c82a1593854dc795 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face05.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face05.anim new file mode 100644 index 00000000..2cdb0b97 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face05.anim @@ -0,0 +1,83 @@ +%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: Face05 + 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: -4811965814584269873, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 0} + attribute: m_Sprite + path: HeadAttatch + 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: 2352827173 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -4811965814584269873, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 0} + 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: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face05.anim.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face05.anim.meta new file mode 100644 index 00000000..545d0431 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face05.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b83ce49d55d63e64f8acbf84321f3263 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face06.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face06.anim new file mode 100644 index 00000000..a4631b18 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face06.anim @@ -0,0 +1,83 @@ +%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: Face06 + 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: -3340168359885296488, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 0} + attribute: m_Sprite + path: HeadAttatch + 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: 2352827173 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: -3340168359885296488, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 0} + 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: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face06.anim.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face06.anim.meta new file mode 100644 index 00000000..b19681a4 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face06.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47d331203e3b1f741a1c792b23a562d5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face07.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face07.anim new file mode 100644 index 00000000..87d16fae --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face07.anim @@ -0,0 +1,83 @@ +%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: Face07 + 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: 3379959602278205485, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 0} + attribute: m_Sprite + path: HeadAttatch + 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: 2352827173 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 3379959602278205485, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 0} + 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: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face07.anim.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face07.anim.meta new file mode 100644 index 00000000..919e1900 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face07.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7077e7dd164d92f419da5882d72a1c4b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face08.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face08.anim new file mode 100644 index 00000000..a56f3a15 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face08.anim @@ -0,0 +1,83 @@ +%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: Face08 + 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: 8497358629359107968, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + attribute: m_Sprite + path: + classID: 212 + script: {fileID: 0} + - curve: + - time: 0 + value: {fileID: 0} + attribute: m_Sprite + path: HeadAttatch + 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: 2352827173 + attribute: 0 + script: {fileID: 0} + typeID: 212 + customType: 23 + isPPtrCurve: 1 + pptrCurveMapping: + - {fileID: 8497358629359107968, guid: 868cd67f05ca7c646bae00fcc2ba7eaa, type: 3} + - {fileID: 0} + 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: 1 + 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: [] diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face08.anim.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face08.anim.meta new file mode 100644 index 00000000..e877300f --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/Face08.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca47d71738d91fc488b661f9b8bf564b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/KarateManHead.controller b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/KarateManHead.controller new file mode 100644 index 00000000..ce2237da --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/KarateManHead.controller @@ -0,0 +1,330 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-6077457446881172648 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face05 + 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: b83ce49d55d63e64f8acbf84321f3263, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-4921655805488561479 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face04 + 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: ec64f94d6a166c34c82a1593854dc795, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-4067774393947154345 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face-3 + 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: 5f66dc85485deae4eb4829992519c565, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-3055142267590956856 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face06 + 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: 47d331203e3b1f741a1c792b23a562d5, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &-2766429591979421357 +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: 2950097409336028787} + m_Position: {x: 200, y: 0, z: 0} + - serializedVersion: 1 + m_State: {fileID: -54236355687464849} + m_Position: {x: 235, y: 65, z: 0} + - serializedVersion: 1 + m_State: {fileID: -2325225867072163686} + m_Position: {x: 270, y: 130, z: 0} + - serializedVersion: 1 + m_State: {fileID: 6055335416017212245} + m_Position: {x: 305, y: 195, z: 0} + - serializedVersion: 1 + m_State: {fileID: -4921655805488561479} + m_Position: {x: 340, y: 260, z: 0} + - serializedVersion: 1 + m_State: {fileID: -6077457446881172648} + m_Position: {x: 375, y: 325, z: 0} + - serializedVersion: 1 + m_State: {fileID: -3055142267590956856} + m_Position: {x: 410, y: 390, z: 0} + - serializedVersion: 1 + m_State: {fileID: 8634772160231822414} + m_Position: {x: 445, y: 455, z: 0} + - serializedVersion: 1 + m_State: {fileID: -2467802088085342195} + m_Position: {x: 480, y: 520, 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: 2950097409336028787} +--- !u!1102 &-2467802088085342195 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face08 + 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: ca47d71738d91fc488b661f9b8bf564b, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-2325225867072163686 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face02 + 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: 5c56dbada33ffd94a9cec6d1bc0ea8f3, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &-54236355687464849 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face01 + 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: e5bf7322815d2454da8ca957e3dd70b2, 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: KarateManHead + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -2766429591979421357} + 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 &2950097409336028787 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face00 + 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: 230da584b9289f64683dd1f969b27a4f, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &6055335416017212245 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face03 + 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: 3975a0b02bfaadf4683f37b9a7d1b712, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &8634772160231822414 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Face07 + 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: 7077e7dd164d92f419da5882d72a1c4b, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/KarateManHead.controller.meta b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/KarateManHead.controller.meta new file mode 100644 index 00000000..6d18e44e --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Head/KarateManHead.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 42f59a0269f309549baa9ac01ce6812a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Jab.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Jab.anim index b401d660..b7d0eec7 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Jab.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Jab.anim @@ -10256,4 +10256,11 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkCanEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowJab.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowJab.anim index 9b4613fe..7e9078d4 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowJab.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowJab.anim @@ -6143,4 +6143,18 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkNoEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowKick.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowKick.anim index a172dca1..d54575fa 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowKick.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowKick.anim @@ -6412,4 +6412,25 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkNoEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 8 + messageOptions: 0 + - time: 0.083333336 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowKickMiss.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowKickMiss.anim index dc613beb..275e11f6 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowKickMiss.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/LowKickMiss.anim @@ -14389,4 +14389,39 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkNoEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 8 + messageOptions: 0 + - time: 0.1 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0.95 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 1.1666666 + functionName: MarkCanEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ManCharge.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ManCharge.anim index 44ada048..a1d72889 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ManCharge.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ManCharge.anim @@ -14639,4 +14639,11 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkCanEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ManKick.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ManKick.anim index f557ee06..55a4d7a7 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ManKick.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ManKick.anim @@ -15497,4 +15497,25 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkNoEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0.41666666 + functionName: MarkCanEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/NoPose.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/NoPose.anim index b5713c31..b4697f09 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/NoPose.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/NoPose.anim @@ -5495,4 +5495,11 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkCanEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Straight.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Straight.anim index 9a7c38b4..255844ee 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Straight.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/Straight.anim @@ -8630,4 +8630,18 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkNoEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0.18333334 + functionName: MarkCanEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ToReady.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ToReady.anim index 982d559c..d18d52e1 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ToReady.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/ToReady.anim @@ -9977,4 +9977,25 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkNoEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0.15 + functionName: MarkCanEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/UpperCut.anim b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/UpperCut.anim index d067d328..195bc01e 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/UpperCut.anim +++ b/Assets/Resources/Sprites/Games/KarateMan/anime/karateman/UpperCut.anim @@ -12974,4 +12974,32 @@ AnimationClip: script: {fileID: 0} m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 - m_Events: [] + m_Events: + - time: 0 + functionName: MarkNoEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 8 + messageOptions: 0 + - time: 0.43333334 + functionName: SetFaceExpressionForced + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 + - time: 0.55 + functionName: MarkCanEmote + data: + objectReferenceParameter: {fileID: 0} + floatParameter: 0 + intParameter: 0 + messageOptions: 0 diff --git a/Assets/Scripts/Games/KarateMan/KarateMan.cs b/Assets/Scripts/Games/KarateMan/KarateMan.cs index 18a6ad64..76ccb3a8 100644 --- a/Assets/Scripts/Games/KarateMan/KarateMan.cs +++ b/Assets/Scripts/Games/KarateMan/KarateMan.cs @@ -56,7 +56,11 @@ namespace HeavenStudio.Games.Loaders { new Param("type", KarateMan.ParticleType.None, "Particle Type", "The type of particle effect to spawn"), new Param("valA", new EntityTypes.Float(0f, 64f, 1f), "Wind Strength", "The strength of the particle wind. (Does not work on the Rain particle.)"), - new Param("valB", new EntityTypes.Float(1f, 12f, 1f), "Particle Intensity", "The intensity of the particle effect.") + new Param("valB", new EntityTypes.Float(1f, 12f, 1f), "Particle Intensity", "The intensity of the particle effect") + }), + new GameAction("force facial expression", delegate { KarateMan.instance.SetFaceExpression(eventCaller.currentEntity.type); }, 0.5f, false, new List() + { + new Param("type", KarateMan.KarateManFaces.Normal, "Facial Expression", "The facial expression to force Joe to. Special moves may override this") }), // These are still here for backwards-compatibility but are hidden in the editor @@ -155,6 +159,7 @@ namespace HeavenStudio.Games { Plain, Gradient, + Radial, Blood, //ManMan? } @@ -178,6 +183,18 @@ namespace HeavenStudio.Games Fire, Rain } + + public enum KarateManFaces + { + Normal, + Smirk, + Surprise, + Sad, + Lenny, + Happy, + VerySad, + Blush + } public Color[] LightBulbColors; public Color[] BackgroundColors; @@ -591,5 +608,10 @@ namespace HeavenStudio.Games } Wind.windMain = windStrength; } + + public void SetFaceExpression(int face) + { + Joe.SetFaceExpression(face); + } } } \ No newline at end of file diff --git a/Assets/Scripts/Games/KarateMan/KarateManJoe.cs b/Assets/Scripts/Games/KarateMan/KarateManJoe.cs index 29e70e99..96af4809 100644 --- a/Assets/Scripts/Games/KarateMan/KarateManJoe.cs +++ b/Assets/Scripts/Games/KarateMan/KarateManJoe.cs @@ -11,6 +11,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan public class KarateManJoe : MonoBehaviour { public Animator anim; + public Animator FaceAnim; public GameEvent bop = new GameEvent(); public SpriteRenderer[] Shadows; @@ -29,6 +30,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan public bool wantKick = false; public bool inKick = false; float lastChargeTime = Single.MinValue; + bool canEmote = false; bool inSpecial { get { return inCombo || Conductor.instance.GetPositionFromBeat(lastChargeTime, 2.75f) <= 0.25f; } } @@ -44,6 +46,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan { anim.speed = 1f; anim.Play("Beat", -1, 0); + lastChargeTime = Single.MinValue; } if (inCombo && shouldComboId == -2) @@ -71,12 +74,12 @@ namespace HeavenStudio.Games.Scripts_KarateMan if (chargeProg >= 0f && chargeProg < 1f) { anim.DoScaledAnimation("ManCharge", lastChargeTime, 2.75f); - bop.startBeat = lastChargeTime + 2.75f; + bop.startBeat = lastChargeTime + 1.75f; } else if (chargeProg >= 1f) { anim.speed = 1f; - bop.startBeat = lastChargeTime + 2.75f; + bop.startBeat = lastChargeTime + 1.75f; lastChargeTime = Single.MinValue; inKick = false; } @@ -229,7 +232,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan wantKick = false; inKick = true; lastChargeTime = beat; - bop.startBeat = beat + 2.75f; + bop.startBeat = beat + 1.75f; } }) }); @@ -247,6 +250,16 @@ namespace HeavenStudio.Games.Scripts_KarateMan anim.DoScaledAnimationAsync("ManKick", 0.5f); } + public void MarkCanEmote() + { + canEmote = true; + } + + public void MarkNoEmote() + { + canEmote = false; + } + public void UpdateShadowColour() { foreach (var shadow in Shadows) @@ -254,5 +267,16 @@ namespace HeavenStudio.Games.Scripts_KarateMan shadow.color = KarateMan.instance.GetShadowColor(); } } + + public void SetFaceExpressionForced(int face) + { + FaceAnim.DoScaledAnimationAsync("Face" + face.ToString("D2")); + } + + public void SetFaceExpression(int face, bool ignoreCheck = false) + { + if (canEmote || ignoreCheck) + FaceAnim.DoScaledAnimationAsync("Face" + face.ToString("D2")); + } } } \ No newline at end of file diff --git a/Assets/Scripts/Games/KarateMan/KarateManPot.cs b/Assets/Scripts/Games/KarateMan/KarateManPot.cs index fac39206..951cb545 100644 --- a/Assets/Scripts/Games/KarateMan/KarateManPot.cs +++ b/Assets/Scripts/Games/KarateMan/KarateManPot.cs @@ -495,6 +495,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan curveTargetBeat = 1f; Jukebox.PlayOneShot("miss"); status = FlyStatus.NG; + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Sad); } else { ItemHitEffect(straight); @@ -530,11 +531,12 @@ namespace HeavenStudio.Games.Scripts_KarateMan { if (GameManager.instance.currentGame != "karateman") return; if (status != FlyStatus.Fly || gameObject == null) return; - BeatAction.New(gameObject, new List() + BeatAction.New(KarateMan.instance.Joe.gameObject, new List() { new BeatAction.Action(startBeat + 2f, delegate { //TODO: play miss sound //deduct flow if applicable + KarateMan.instance.Joe.SetFaceExpression((int) KarateMan.KarateManFaces.Surprise); }) }); } @@ -564,7 +566,16 @@ namespace HeavenStudio.Games.Scripts_KarateMan public void ComboStartOut(PlayerActionEvent caller) {} public void ComboStartThrough(PlayerActionEvent caller) { + if (GameManager.instance.currentGame != "karateman") return; if (status != FlyStatus.Fly || gameObject == null) return; + BeatAction.New(KarateMan.instance.Joe.gameObject, new List() + { + new BeatAction.Action(startBeat + 2f, delegate { + //TODO: play miss sound + //deduct flow if applicable + KarateMan.instance.Joe.SetFaceExpression((int) KarateMan.KarateManFaces.Surprise); + }) + }); } public void ComboStartWrongAction(PlayerActionEvent caller, float state) @@ -603,9 +614,25 @@ namespace HeavenStudio.Games.Scripts_KarateMan curveTargetBeat = 1f; Jukebox.PlayOneShot("miss"); status = FlyStatus.NG; + + BeatAction.New(joe.gameObject, new List() + { + new BeatAction.Action(startBeat + 2f, delegate { + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Sad); + }) + }); } else { ItemHitEffect(); + BeatAction.New(joe.gameObject, new List() + { + new BeatAction.Action(startBeat + 1.5f, delegate { + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Happy); + }), + new BeatAction.Action(startBeat + 3.5f, delegate { + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Normal); + }) + }); } } } @@ -616,16 +643,32 @@ namespace HeavenStudio.Games.Scripts_KarateMan if (GameManager.instance.currentGame != "karateman") return; if (status != FlyStatus.Fly || gameObject == null) return; var joe = KarateMan.instance.Joe; - if (joe.GetComboId() != comboId || !joe.inCombo) return; - BeatAction.New(gameObject, new List() + if (joe.GetComboId() != comboId || !joe.inCombo) { - new BeatAction.Action(startBeat + 1.5f, delegate { - joe.inCombo = false; - joe.SetComboId(-1); - joe.SetShouldComboId(-1); - joe.ComboSequence(4); - }) - }); + BeatAction.New(joe.gameObject, new List() + { + new BeatAction.Action(startBeat + 2f, delegate { + //TODO: play miss sound + //deduct flow if applicable + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Surprise); + }) + }); + } + else + { + BeatAction.New(joe.gameObject, new List() + { + new BeatAction.Action(startBeat + 1.5f, delegate { + joe.inCombo = false; + joe.SetComboId(-1); + joe.SetShouldComboId(-1); + joe.ComboSequence(4); + }), + new BeatAction.Action(startBeat + 2.5f, delegate { + joe.SetFaceExpression((int) KarateMan.KarateManFaces.VerySad); + }) + }); + } } public void ComboEndWrongAction(PlayerActionEvent caller, float state) @@ -651,6 +694,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan CurrentCurve = ItemCurves[6]; curveTargetBeat = 1f; Jukebox.PlayOneShot("miss"); + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Sad); status = FlyStatus.NG; } else { @@ -665,13 +709,15 @@ namespace HeavenStudio.Games.Scripts_KarateMan public void KickChargeThrough(PlayerActionEvent caller) { + var joe = KarateMan.instance.Joe; if (GameManager.instance.currentGame != "karateman") return; if (status != FlyStatus.Fly || gameObject == null) return; - BeatAction.New(gameObject, new List() + BeatAction.New(joe.gameObject, new List() { new BeatAction.Action(startBeat + 2f, delegate { //TODO: play miss sound //deduct flow if applicable + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Surprise); }) }); } @@ -687,6 +733,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan CurrentCurve = ItemCurves[8]; curveTargetBeat = 1f; Jukebox.PlayOneShot("miss"); + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Sad); status = FlyStatus.NG; } else { @@ -695,6 +742,16 @@ namespace HeavenStudio.Games.Scripts_KarateMan CurrentCurve = ItemCurves[7]; startBeat = Conductor.instance.songPositionInBeats; curveTargetBeat = 3f; + + BeatAction.New(joe.gameObject, new List() + { + new BeatAction.Action(startBeat + 1.25f, delegate { + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Smirk); + }), + new BeatAction.Action(startBeat + 3.25f, delegate { + joe.SetFaceExpression((int) KarateMan.KarateManFaces.Normal); + }) + }); } } } @@ -705,11 +762,12 @@ namespace HeavenStudio.Games.Scripts_KarateMan { if (GameManager.instance.currentGame != "karateman") return; if (status != FlyStatus.Fly || gameObject == null) return; - BeatAction.New(gameObject, new List() + BeatAction.New(KarateMan.instance.Joe.gameObject, new List() { new BeatAction.Action(startBeat + 2f, delegate { //TODO: play miss sound //deduct flow if applicable + KarateMan.instance.Joe.SetFaceExpression((int) KarateMan.KarateManFaces.VerySad); }) }); }