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);
})
});
}