diff --git a/Assets/Resources/Games/karateman.prefab b/Assets/Resources/Games/karateman.prefab index 4efb076a..10e8e58e 100644 --- a/Assets/Resources/Games/karateman.prefab +++ b/Assets/Resources/Games/karateman.prefab @@ -31421,6 +31421,88 @@ SpriteRenderer: m_WasSpriteAssigned: 0 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &2663523590501458685 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5398479681583471366} + - component: {fileID: 1364957835243644098} + m_Layer: 0 + m_Name: OverlayDeco00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &5398479681583471366 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2663523590501458685} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -9, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 504328619051278505} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1364957835243644098 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2663523590501458685} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 99 + m_Sprite: {fileID: 21300000, guid: 8d47d8089ec1a3f40a5873ac60190d2b, type: 3} + m_Color: {r: 0, g: 0, b: 0, a: 0.78431374} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 5.84, y: 5.84} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &2707606657656961620 GameObject: m_ObjectHideFlags: 0 @@ -36693,7 +36775,6 @@ GameObject: - component: {fileID: 2451790077583954414} - component: {fileID: 3195597168826951133} - component: {fileID: 4263937186560560557} - - component: {fileID: 242812226896771560} m_Layer: 0 m_Name: NoriCanvas m_TagString: Untagged @@ -36711,7 +36792,10 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] + m_Children: + - {fileID: 3330579849842867243} + - {fileID: 5348445960594656213} + - {fileID: 1719477137588232708} m_Father: {fileID: 504328619051278505} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -36764,32 +36848,6 @@ MonoBehaviour: m_DefaultSpriteDPI: 96 m_DynamicPixelsPerUnit: 1 m_PresetInfoIsWorld: 1 ---- !u!114 &242812226896771560 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3227896808416057017} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 1 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 3 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 1 --- !u!1 &3317749162070580323 GameObject: m_ObjectHideFlags: 0 @@ -51702,6 +51760,108 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &3826058516668778663 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5348445960594656213} + - component: {fileID: 9217574238430128644} + - component: {fileID: 6713131659125112190} + - component: {fileID: 354785550203359815} + m_Layer: 0 + m_Name: ManiaVertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5348445960594656213 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3826058516668778663} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2451790077583954414} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 3, y: 10.8} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &9217574238430128644 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3826058516668778663} + m_CullTransparentMesh: 1 +--- !u!114 &6713131659125112190 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3826058516668778663} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &354785550203359815 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3826058516668778663} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 1 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 --- !u!1 &3829260912007825304 GameObject: m_ObjectHideFlags: 0 @@ -62078,6 +62238,88 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &4222576282379005862 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4697915430287191595} + - component: {fileID: 117653910417391510} + m_Layer: 0 + m_Name: OverlayDeco01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4697915430287191595 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4222576282379005862} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 9, y: 5.4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 504328619051278505} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &117653910417391510 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4222576282379005862} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 99 + m_Sprite: {fileID: 21300000, guid: 8d47d8089ec1a3f40a5873ac60190d2b, type: 3} + m_Color: {r: 0, g: 0, b: 0, a: 0.78431374} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 5.84, y: 5.84} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &4443733665875631485 GameObject: m_ObjectHideFlags: 0 @@ -67104,6 +67346,8 @@ Transform: - {fileID: 7683902595720021875} - {fileID: 4602674661767132279} - {fileID: 2451790077583954414} + - {fileID: 5398479681583471366} + - {fileID: 4697915430287191595} m_Father: {fileID: 1483789816297415762} m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -67121,14 +67365,22 @@ MonoBehaviour: m_EditorClassIdentifier: NoriController: {fileID: 4562470404778909465} NoriHeart: {fileID: 4687146461093134549} - NoriHolder: {fileID: 2451790077583954414} + NoriHolderTengoku: {fileID: 3330579849842867243} + NoriHolderMania00: {fileID: 5348445960594656213} + NoriHolderMania01: {fileID: 1719477137588232708} + NoriManiaInk00: {fileID: 2663523590501458685} + NoriManiaInk01: {fileID: 4222576282379005862} NoriMaterial: {fileID: 2100000, guid: b1a39ae83b8f3994ea5ea73e28b253a8, type: 2} NoriColorsTengoku: - {r: 0.13333334, g: 0.4, b: 1, a: 1} - {r: 0.007843138, g: 0.9019608, b: 0.9098039, a: 1} - {r: 1, g: 0.09411765, b: 0, a: 1} - {r: 0.9843137, g: 0.92941177, b: 0, a: 1} - NoriColorsMania: [] + NoriColorsMania: + - {r: 0.13333334, g: 0.4, b: 1, a: 1} + - {r: 0.13333334, g: 0.4, b: 0, a: 1} + - {r: 0.5283019, g: 0.49883488, b: 0, a: 1} + - {r: 1, g: 1, b: 1, a: 1} Nori: 0 MaxNori: 0 --- !u!1 &4608551727560295043 @@ -102821,6 +103073,108 @@ MonoBehaviour: handleType: 0 leftHandleLocalPosition: {x: -2.5, y: -3.5, z: -0} rightHandleLocalPosition: {x: 2.5, y: 3.5, z: 0} +--- !u!1 &7341770571649793907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3330579849842867243} + - component: {fileID: 5891056545356116059} + - component: {fileID: 3109539415965776052} + - component: {fileID: 8451770885996465870} + m_Layer: 0 + m_Name: Tengoku + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3330579849842867243 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7341770571649793907} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2451790077583954414} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 3, y: 10.8} + m_Pivot: {x: 0, y: 0.5} +--- !u!222 &5891056545356116059 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7341770571649793907} + m_CullTransparentMesh: 1 +--- !u!114 &3109539415965776052 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7341770571649793907} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &8451770885996465870 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7341770571649793907} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 1 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 1 --- !u!1 &7395954162971010416 GameObject: m_ObjectHideFlags: 0 @@ -103199,6 +103553,108 @@ Transform: m_Father: {fileID: 1483789816297415762} m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7724750281891176066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1719477137588232708} + - component: {fileID: 4938178472322233844} + - component: {fileID: 4713257410658208399} + - component: {fileID: 2796940925001920587} + m_Layer: 0 + m_Name: ManiaHorizontal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1719477137588232708 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7724750281891176066} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2451790077583954414} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: -0.25} + m_SizeDelta: {x: 18, y: 2} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &4938178472322233844 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7724750281891176066} + m_CullTransparentMesh: 1 +--- !u!114 &4713257410658208399 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7724750281891176066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &2796940925001920587 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7724750281891176066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 2 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 2 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &7779193320400728963 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Sprites/Games/KarateMan/karate_bg_bloody.png.meta b/Assets/Resources/Sprites/Games/KarateMan/karate_bg_bloody.png.meta index b05fb8d3..bdd1332d 100644 --- a/Assets/Resources/Sprites/Games/KarateMan/karate_bg_bloody.png.meta +++ b/Assets/Resources/Sprites/Games/KarateMan/karate_bg_bloody.png.meta @@ -46,7 +46,7 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 + spritePixelsToUnits: 400 spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 2 diff --git a/Assets/Resources/Sprites/Games/KarateMan/karate_overlaydeco00.png.meta b/Assets/Resources/Sprites/Games/KarateMan/karate_overlaydeco00.png.meta new file mode 100644 index 00000000..45ada4e3 --- /dev/null +++ b/Assets/Resources/Sprites/Games/KarateMan/karate_overlaydeco00.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 8d47d8089ec1a3f40a5873ac60190d2b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 2 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Games/KarateMan/KarateMan.cs b/Assets/Scripts/Games/KarateMan/KarateMan.cs index 2ce6f585..10342508 100644 --- a/Assets/Scripts/Games/KarateMan/KarateMan.cs +++ b/Assets/Scripts/Games/KarateMan/KarateMan.cs @@ -40,7 +40,7 @@ namespace HeavenStudio.Games.Loaders new Param("toggle", true, "Return Camera", "Camera zooms back in?"), }), new GameAction("prepare", delegate { var e = eventCaller.currentEntity; KarateMan.instance.Prepare(e.beat, e.length);}, 1f, true), - new GameAction("set gameplay modifiers", delegate { var e = eventCaller.currentEntity; KarateMan.instance.SetGameplayMods(e.type, e.toggle); }, 0.5f, false, new List() + new GameAction("set gameplay modifiers", delegate { var e = eventCaller.currentEntity; KarateMan.instance.SetGameplayMods(e.beat, e.type, e.toggle); }, 0.5f, false, new List() { new Param("type", KarateMan.NoriMode.None, "Flow Bar type", "The type of Flow bar to use"), new Param("toggle", true, "Enable Combos", "Allow the player to combo? (Contextual combos will still be allowed even when off)"), @@ -400,6 +400,49 @@ namespace HeavenStudio.Games BGEffect.transform.position = new Vector3(GameCamera.instance.transform.position.x, GameCamera.instance.transform.position.y, 0); } + static List allHits = new List(); + static List allEnds = new List(); + public static int CountHitsToEnd(float fromBeat) + { + allHits = EventCaller.GetAllInGameManagerList("karateman", new string[] { "hit", "bulb", "kick", "combo" }); + allEnds = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame", "end" }); + + allHits.Sort((x, y) => x.beat.CompareTo(y.beat)); + allEnds.Sort((x, y) => x.beat.CompareTo(y.beat)); + float endBeat = Single.MaxValue; + + //get the beat of the closest end event + foreach (Beatmap.Entity end in allEnds) + { + if (end.beat > fromBeat) + { + endBeat = end.beat; + break; + } + } + + //count each hit event beginning from our current beat to the beat of the closest game switch or end + // this still counts hits even if they happen after a switch / end!!! + int count = 0; + string type; + for (int i = 0; i < allHits.Count; i++) + { + Beatmap.Entity h = allHits[i]; + if (h.beat >= fromBeat) + { + if (h.beat < endBeat) + { + //kicks and combos count for 2 hits + type = (h.datamodel.Split('/'))[1]; + count += (type == "kick" || type == "combo" ? 2 : 1); + } + else + break; + } + } + return count; + } + public void DoSpecialCamera(float beat, float length, bool returns) { if (cameraAngle == CameraAngle.Normal) @@ -683,9 +726,11 @@ namespace HeavenStudio.Games { case (int) BackgroundTextureType.Blood: BGBlood.SetActive(true); + BGGradient.SetActive(false); break; case (int) BackgroundTextureType.Gradient: BGGradient.SetActive(true); + BGBlood.SetActive(false); break; default: BGGradient.SetActive(false); @@ -695,10 +740,10 @@ namespace HeavenStudio.Games UpdateFilterColour(bgColour, filterColour); } - public void SetGameplayMods(int mode, bool combo) + public void SetGameplayMods(float beat, int mode, bool combo) { NoriGO.SetActive(true); - Nori.SetNoriMode(mode); + Nori.SetNoriMode(beat, mode); IsComboEnable = combo; } diff --git a/Assets/Scripts/Games/KarateMan/KarateManNoriController.cs b/Assets/Scripts/Games/KarateMan/KarateManNoriController.cs index 76e4beb4..4cddcb24 100644 --- a/Assets/Scripts/Games/KarateMan/KarateManNoriController.cs +++ b/Assets/Scripts/Games/KarateMan/KarateManNoriController.cs @@ -11,7 +11,12 @@ namespace HeavenStudio.Games.Scripts_KarateMan { public GameObject NoriController; public GameObject NoriHeart; - public Transform NoriHolder; + public Transform NoriHolderTengoku; + public Transform NoriHolderMania00; + public Transform NoriHolderMania01; + + public GameObject NoriManiaInk00; + public GameObject NoriManiaInk01; public Material NoriMaterial; public Color[] NoriColorsTengoku; @@ -21,16 +26,21 @@ namespace HeavenStudio.Games.Scripts_KarateMan public int MaxNori; Animator[] NoriHeartAnimators; Material[] NoriHeartMaterials; + Transform NoriHolder; static Vector2 HeartScale = new Vector2(60, 52); - static float ScaleFactorTengoku = 1/46f; - static float ScaleFactorMania = 1/72f; + static float ScaleFactorTengoku = 1 / 46f; + static float ScaleFactorMania = 1 / 72f; static float CameraOffset = 10; - static float PeriodLow = 24/60f; - static float PeriodHigh = 15/60f; + static float PeriodLow = 24 / 60f; + static float PeriodHigh = 15 / 60f; - int noriMode = (int) KarateMan.NoriMode.None; + int noriMode = (int)KarateMan.NoriMode.None; + + int inputsToSwitch = 0; + //takes 10% of inputs to fill the nori bar + float hitNoriAdd { get { return MaxNori / (inputsToSwitch * 0.15f); } } void Start() @@ -38,13 +48,16 @@ namespace HeavenStudio.Games.Scripts_KarateMan } - public void SetNoriMode(int mode, int startingNori = 0) + public void SetNoriMode(float fromBeat, int mode, int startingNori = 0) { float scaleFactor = 0f; //clear all children of the holder - foreach (Transform child in NoriHolder) + if (NoriHolder != null) { - Destroy(child.gameObject); + foreach (Transform child in NoriHolder) + { + Destroy(child.gameObject); + } } switch (mode) @@ -53,15 +66,26 @@ namespace HeavenStudio.Games.Scripts_KarateMan MaxNori = 5; Nori = Mathf.Clamp(startingNori, 0, MaxNori); scaleFactor = ScaleFactorTengoku; + NoriHolder = NoriHolderTengoku; + NoriManiaInk00.SetActive(false); + NoriManiaInk01.SetActive(false); break; case (int) KarateMan.NoriMode.Mania: MaxNori = 10; Nori = Mathf.Clamp(startingNori, 0, MaxNori); scaleFactor = ScaleFactorMania; + NoriHolder = NoriHolderMania00; + NoriManiaInk00.SetActive(true); + NoriManiaInk01.SetActive(false); + + inputsToSwitch = KarateMan.CountHitsToEnd(fromBeat); + Debug.Log($"inputs to segment end: {inputsToSwitch}"); break; default: MaxNori = 0; Nori = 0; + NoriManiaInk00.SetActive(false); + NoriManiaInk01.SetActive(false); return; } @@ -96,11 +120,24 @@ namespace HeavenStudio.Games.Scripts_KarateMan if (noriMode == (int) KarateMan.NoriMode.None) return; if (noriMode == (int) KarateMan.NoriMode.Tengoku) { - if (Nori >= MaxNori) return; Nori += 1; - NoriHeartAnimators[(int) Nori - 1].Play("NoriFull", -1, (Time.time * PeriodHigh) % 1f); - UpdateHeartColours(); + if (Nori > MaxNori) Nori = MaxNori; + if (Nori - 1 >= 0) + NoriHeartAnimators[(int) Nori - 1].Play("NoriFull", -1, (Time.time * PeriodHigh) % 1f); } + else + { + float oldNori = Nori; + Nori += hitNoriAdd; + if (Nori > MaxNori) Nori = MaxNori; + Debug.Log($"Nori: {Nori}, added {hitNoriAdd}, old nori: {oldNori}"); + for (int i = 0; i < MaxNori; i++) + { + if (i <= (int) Nori && i >= (int) oldNori) + NoriHeartAnimators[i].Play("NoriFull", -1, (Time.time * PeriodHigh) % 1f); + } + } + UpdateHeartColours(); } public void DoNG() @@ -108,11 +145,32 @@ namespace HeavenStudio.Games.Scripts_KarateMan if (noriMode == (int) KarateMan.NoriMode.None) return; if (noriMode == (int) KarateMan.NoriMode.Tengoku) { - if (Nori <= 0) return; Nori -= 1; + if (Nori < 0) Nori = 0; NoriHeartAnimators[(int) Nori].Play("NoriNone", -1, (Time.time * PeriodLow) % 1f); - UpdateHeartColours(); } + else + { + Nori -= hitNoriAdd; + if (Nori < 0) Nori = 0; + Debug.Log($"Nori: {Nori}, removed {hitNoriAdd}"); + if (Nori == 0) + { + foreach (Animator anim in NoriHeartAnimators) + { + anim.Play("NoriNone", -1, (Time.time * PeriodLow) % 1f); + } + } + else + { + for (int i = 0; i < MaxNori; i++) + { + if (i > (int) Nori) + NoriHeartAnimators[i].Play("NoriNone", -1, (Time.time * PeriodLow) % 1f); + } + } + } + UpdateHeartColours(); } public void DoThrough() @@ -126,16 +184,40 @@ namespace HeavenStudio.Games.Scripts_KarateMan anim.Play("NoriNone", -1, (Time.time * PeriodLow) % 1f); } } + else + { + Nori -= hitNoriAdd * 2; + if (Nori < 0) Nori = 0; + Debug.Log($"Nori: {Nori}, removed {hitNoriAdd * 4}"); + if (Nori == 0) + { + foreach (Animator anim in NoriHeartAnimators) + { + anim.Play("NoriNone", -1, (Time.time * PeriodLow) % 1f); + } + } + else + { + for (int i = 0; i < MaxNori; i++) + { + if (i > (int) Nori) + NoriHeartAnimators[i].Play("NoriNone", -1, (Time.time * PeriodLow) % 1f); + } + } + } + UpdateHeartColours(); } void UpdateHeartColours() { + var cond = Conductor.instance; if (noriMode == (int) KarateMan.NoriMode.None) return; - if (noriMode == (int) KarateMan.NoriMode.Tengoku) + float flashPeriod; + for (int i = 0; i < NoriHeartMaterials.Length; i++) { - for (int i = 0; i < NoriHeartMaterials.Length; i++) + Material mat = NoriHeartMaterials[i]; + if (noriMode == (int) KarateMan.NoriMode.Tengoku) { - Material mat = NoriHeartMaterials[i]; if (Nori == MaxNori) { mat.SetColor("_ColorAlpha", NoriColorsTengoku[3]); @@ -153,10 +235,33 @@ namespace HeavenStudio.Games.Scripts_KarateMan } } } - } - else - { - + else + { + Color c = NoriColorsMania[0]; + Color s = Color.black; + if (Nori == MaxNori) + { + flashPeriod = Mathf.Sin((cond.songPositionInBeats - i / (float) MaxNori) * Mathf.PI); + c = NoriColorsMania[2] + (NoriColorsMania[3] * ((1 - flashPeriod * 0.5f) + 0.5f)); + s = Color.HSVToRGB(((cond.songPositionInBeats + 0.5f) * 4) % 1, 1, flashPeriod * 0.75f + 0.25f); + } + else + { + flashPeriod = Mathf.Sin(cond.songPositionInBeats * Mathf.PI); + if (KarateMan.instance.NoriPerformance < 0.6) + c = NoriColorsMania[0]; + else + { + if (i < MaxNori - 2) + c = NoriColorsMania[1]; + else + c = NoriColorsMania[2]; + } + c *= (flashPeriod * 0.5f) + 1f; + } + mat.SetColor("_ColorAlpha", c); + mat.SetColor("_AddColor", s); + } } } @@ -169,6 +274,10 @@ namespace HeavenStudio.Games.Scripts_KarateMan transform.rotation = target.rotation; UpdateHeartColours(); + + float inkRot = (Conductor.instance.songPositionInBeats/ 8f) % 1f; + NoriManiaInk00.transform.localRotation = Quaternion.Euler(0, 0, inkRot * 360); + NoriManiaInk01.transform.localRotation = Quaternion.Euler(0, 0, inkRot * 360); } } } \ No newline at end of file