diff --git a/Assets/Prefabs/Bodyparts.meta b/Assets/Prefabs/Bodyparts.meta new file mode 100644 index 0000000..8d38666 --- /dev/null +++ b/Assets/Prefabs/Bodyparts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aab0e27545e2ee845aa97f1ab373147e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Bodyparts/Player.meta b/Assets/Prefabs/Bodyparts/Player.meta new file mode 100644 index 0000000..503f638 --- /dev/null +++ b/Assets/Prefabs/Bodyparts/Player.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d2f40b91b59d35e4d82b09a56c896b63 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Bodyparts/Player/PlayerBody.prefab b/Assets/Prefabs/Bodyparts/Player/PlayerBody.prefab new file mode 100644 index 0000000..30829e3 --- /dev/null +++ b/Assets/Prefabs/Bodyparts/Player/PlayerBody.prefab @@ -0,0 +1,162 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1543682799616924516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4761118102515640853} + - component: {fileID: 2675645987946702114} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4761118102515640853 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1543682799616924516} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1.2, z: 1} + m_Children: [] + m_Father: {fileID: 1968525068849414980} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2675645987946702114 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1543682799616924516} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + 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: -947994997 + m_SortingLayer: 3 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 472874229c563e241bddc073ec2dbb90, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.5, y: 0.5} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &2029918227067566688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1968525068849414980} + - component: {fileID: 6271233648422607270} + - component: {fileID: 3233969654977984557} + m_Layer: 0 + m_Name: PlayerBody + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1968525068849414980 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2029918227067566688} + 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: + - {fileID: 4761118102515640853} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &6271233648422607270 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2029918227067566688} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 0.5 + m_LinearDrag: 5 + m_AngularDrag: 5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!61 &3233969654977984557 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2029918227067566688} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.5, y: 0.6} + m_EdgeRadius: 0 diff --git a/Assets/Prefabs/Bodyparts/Player/PlayerBody.prefab.meta b/Assets/Prefabs/Bodyparts/Player/PlayerBody.prefab.meta new file mode 100644 index 0000000..45d29f9 --- /dev/null +++ b/Assets/Prefabs/Bodyparts/Player/PlayerBody.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b496cfa87cd1d5c40af61d1604a06788 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Bodyparts/Player/PlayerHand.prefab b/Assets/Prefabs/Bodyparts/Player/PlayerHand.prefab new file mode 100644 index 0000000..25e9579 --- /dev/null +++ b/Assets/Prefabs/Bodyparts/Player/PlayerHand.prefab @@ -0,0 +1,162 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2377613320307128713 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8789438134215924977} + - component: {fileID: -8936384925857337445} + - component: {fileID: 2538986196310265997} + m_Layer: 0 + m_Name: PlayerHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8789438134215924977 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2377613320307128713} + 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: + - {fileID: 5059531764510297270} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &-8936384925857337445 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2377613320307128713} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 0.5 + m_LinearDrag: 5 + m_AngularDrag: 5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!61 &2538986196310265997 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2377613320307128713} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.2, y: 0.4} + m_EdgeRadius: 0 +--- !u!1 &8235449444435043987 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5059531764510297270} + - component: {fileID: 8256751900412107108} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5059531764510297270 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8235449444435043987} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.4, y: 0.8, z: 1} + m_Children: [] + m_Father: {fileID: 8789438134215924977} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &8256751900412107108 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8235449444435043987} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + 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: -947994997 + m_SortingLayer: 3 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 472874229c563e241bddc073ec2dbb90, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.5, y: 0.5} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefabs/Bodyparts/Player/PlayerHand.prefab.meta b/Assets/Prefabs/Bodyparts/Player/PlayerHand.prefab.meta new file mode 100644 index 0000000..d96069f --- /dev/null +++ b/Assets/Prefabs/Bodyparts/Player/PlayerHand.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 478119ba1f7f78243afb4b5ae9a8b99c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Bodyparts/Player/PlayerHead.prefab b/Assets/Prefabs/Bodyparts/Player/PlayerHead.prefab new file mode 100644 index 0000000..714e5cc --- /dev/null +++ b/Assets/Prefabs/Bodyparts/Player/PlayerHead.prefab @@ -0,0 +1,162 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6432268662194301778 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7640064467765385667} + - component: {fileID: 6395016560117985742} + - component: {fileID: 2296557693197646769} + m_Layer: 0 + m_Name: PlayerHead + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7640064467765385667 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6432268662194301778} + 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: + - {fileID: 5201551985167316095} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!50 &6395016560117985742 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6432268662194301778} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 0.5 + m_LinearDrag: 5 + m_AngularDrag: 5 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!61 &2296557693197646769 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6432268662194301778} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.35, y: 0.35} + m_EdgeRadius: 0 +--- !u!1 &8039557975306003641 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5201551985167316095} + - component: {fileID: 5347853748539302261} + m_Layer: 0 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5201551985167316095 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8039557975306003641} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.7, y: 0.7, z: 0.7} + m_Children: [] + m_Father: {fileID: 7640064467765385667} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &5347853748539302261 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8039557975306003641} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + 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: -947994997 + m_SortingLayer: 3 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 472874229c563e241bddc073ec2dbb90, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.5, y: 0.5} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 diff --git a/Assets/Prefabs/Bodyparts/Player/PlayerHead.prefab.meta b/Assets/Prefabs/Bodyparts/Player/PlayerHead.prefab.meta new file mode 100644 index 0000000..667bc89 --- /dev/null +++ b/Assets/Prefabs/Bodyparts/Player/PlayerHead.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 262f47ce8e16b5d4599796ee37c9b637 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity index 70afc39..d31faea 100644 --- a/Assets/Scenes/MainScene.unity +++ b/Assets/Scenes/MainScene.unity @@ -267,9 +267,9 @@ Rigidbody2D: m_Simulated: 1 m_UseFullKinematicContacts: 1 m_UseAutoMass: 0 - m_Mass: 0.0001 - m_LinearDrag: 0 - m_AngularDrag: 0 + m_Mass: 5 + m_LinearDrag: 2 + m_AngularDrag: 2 m_GravityScale: 1 m_Material: {fileID: 0} m_Interpolate: 1 @@ -324,7 +324,7 @@ MonoBehaviour: type: 3} ParticleRoot: {fileID: 188743843} MaxParticles: 10000 - Launch: 0 + DebugLaunch: 0 --- !u!4 &188743843 Transform: m_ObjectHideFlags: 0 @@ -1182,6 +1182,86 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &490037237 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 490037238} + - component: {fileID: 490037239} + m_Layer: 0 + m_Name: Sprite + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &490037238 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 490037237} + 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: 895097236} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &490037239 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 490037237} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + 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: -947994997 + m_SortingLayer: 3 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 472874229c563e241bddc073ec2dbb90, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 1, y: 1} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &628992540 GameObject: m_ObjectHideFlags: 0 @@ -1194,6 +1274,7 @@ GameObject: - component: {fileID: 628992544} - component: {fileID: 628992543} - component: {fileID: 628992542} + - component: {fileID: 628992545} m_Layer: 0 m_Name: Walls m_TagString: Untagged @@ -1209,7 +1290,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 628992540} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0, z: -1} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 397489492} @@ -1340,6 +1421,33 @@ Tilemap: m_ObjectToInstantiate: {fileID: 0} m_TileFlags: 1 m_ColliderType: 1 + - first: {x: -4, y: 0, z: 0} + second: + m_TileIndex: 7 + m_TileSpriteIndex: 7 + m_TileMatrixIndex: 0 + m_TileColorIndex: 8 + m_ObjectToInstantiate: {fileID: 0} + m_TileFlags: 1 + m_ColliderType: 1 + - first: {x: -3, y: 0, z: 0} + second: + m_TileIndex: 7 + m_TileSpriteIndex: 7 + m_TileMatrixIndex: 0 + m_TileColorIndex: 8 + m_ObjectToInstantiate: {fileID: 0} + m_TileFlags: 1 + m_ColliderType: 1 + - first: {x: -2, y: 0, z: 0} + second: + m_TileIndex: 7 + m_TileSpriteIndex: 7 + m_TileMatrixIndex: 0 + m_TileColorIndex: 8 + m_ObjectToInstantiate: {fileID: 0} + m_TileFlags: 1 + m_ColliderType: 1 - first: {x: -6, y: 1, z: 0} second: m_TileIndex: 10 @@ -1473,7 +1581,7 @@ Tilemap: m_Data: {fileID: 0} - m_RefCount: 0 m_Data: {fileID: 0} - - m_RefCount: 7 + - m_RefCount: 10 m_Data: {fileID: 11400000, guid: 2004c99dc125dd542aafd24f4ad842f4, type: 2} - m_RefCount: 0 m_Data: {fileID: 0} @@ -1504,7 +1612,7 @@ Tilemap: m_Data: {fileID: 0} - m_RefCount: 0 m_Data: {fileID: 0} - - m_RefCount: 7 + - m_RefCount: 10 m_Data: {fileID: 6408231970667830406, guid: 3b5f43ce65db7e74f9d3a906dfc2c460, type: 3} - m_RefCount: 0 @@ -1527,7 +1635,7 @@ Tilemap: - m_RefCount: 2 m_Data: {fileID: 511961965738296472, guid: 3b5f43ce65db7e74f9d3a906dfc2c460, type: 3} m_TileMatrixArray: - - m_RefCount: 19 + - m_RefCount: 22 m_Data: e00: 1 e01: 0 @@ -1562,7 +1670,7 @@ Tilemap: m_Data: {r: 0, g: 0, b: 0, a: 0} - m_RefCount: 0 m_Data: {r: 0, g: 0, b: 0, a: 0} - - m_RefCount: 19 + - m_RefCount: 22 m_Data: {r: 1, g: 1, b: 1, a: 1} m_AnimationFrameRate: 1 m_Color: {r: 1, g: 1, b: 1, a: 1} @@ -1587,6 +1695,27 @@ Tilemap: e31: 0 e32: 0 e33: 1 +--- !u!50 &628992545 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 628992540} + m_BodyType: 2 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDrag: 0 + m_AngularDrag: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 --- !u!1 &867100008 GameObject: m_ObjectHideFlags: 0 @@ -1652,9 +1781,9 @@ Rigidbody2D: m_Simulated: 1 m_UseFullKinematicContacts: 1 m_UseAutoMass: 0 - m_Mass: 0.0001 - m_LinearDrag: 0 - m_AngularDrag: 0 + m_Mass: 5 + m_LinearDrag: 2 + m_AngularDrag: 2 m_GravityScale: 1 m_Material: {fileID: 0} m_Interpolate: 1 @@ -1758,6 +1887,104 @@ MonoBehaviour: m_EditorClassIdentifier: Behaviours: - {fileID: 867100016} +--- !u!1 &895097232 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 895097236} + - component: {fileID: 895097235} + - component: {fileID: 895097234} + - component: {fileID: 895097233} + m_Layer: 0 + m_Name: Enemy (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &895097233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895097232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a2110188365a59e4cb31d0e84789fbbd, type: 3} + m_Name: + m_EditorClassIdentifier: + BodypartPrefabs: + - {fileID: 2029918227067566688, guid: b496cfa87cd1d5c40af61d1604a06788, type: 3} + - {fileID: 2377613320307128713, guid: 478119ba1f7f78243afb4b5ae9a8b99c, type: 3} + - {fileID: 6432268662194301778, guid: 262f47ce8e16b5d4599796ee37c9b637, type: 3} + DebugExplode: 0 +--- !u!61 &895097234 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895097232} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.5, y: 0.5} + m_EdgeRadius: 0 +--- !u!50 &895097235 +Rigidbody2D: + serializedVersion: 4 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895097232} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 1 + m_UseAutoMass: 0 + m_Mass: 5 + m_LinearDrag: 2 + m_AngularDrag: 2 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_Interpolate: 1 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 +--- !u!4 &895097236 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895097232} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.43, y: -0.6, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 490037238} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 @@ -1908,7 +2135,7 @@ SpriteRenderer: m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} m_SortingLayerID: -947994997 - m_SortingLayer: 2 + m_SortingLayer: 3 m_SortingOrder: 0 m_Sprite: {fileID: 21300000, guid: 472874229c563e241bddc073ec2dbb90, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} @@ -1988,7 +2215,7 @@ SpriteRenderer: m_AutoUVMaxAngle: 89 m_LightmapParameters: {fileID: 0} m_SortingLayerID: -947994997 - m_SortingLayer: 2 + m_SortingLayer: 3 m_SortingOrder: 0 m_Sprite: {fileID: 21300000, guid: 472874229c563e241bddc073ec2dbb90, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/Scripts/BloodLauncher.cs b/Assets/Scripts/BloodLauncher.cs index b41f306..1a4cbf0 100644 --- a/Assets/Scripts/BloodLauncher.cs +++ b/Assets/Scripts/BloodLauncher.cs @@ -8,7 +8,7 @@ namespace Saltosion.OneWeapon { public GameObject BloodParticlePrefab; public Transform ParticleRoot; public int MaxParticles; - public bool Launch = false; + public bool DebugLaunch = false; public static void Splatter(Vector2 origin, Vector2 direction, int particleCount, float force, float degrees) { for (int i = 0; i < particleCount; i++) { diff --git a/Assets/Scripts/BloodParticle.cs b/Assets/Scripts/BloodParticle.cs index 35dd822..07a8de6 100644 --- a/Assets/Scripts/BloodParticle.cs +++ b/Assets/Scripts/BloodParticle.cs @@ -21,11 +21,12 @@ namespace Saltosion.OneWeapon { Velocity *= 1.0f - Time.fixedDeltaTime * 20.0f; if (CurrentlyStuckOn != null) { bool IsStatic = CurrentlyStuckOn.bodyType == RigidbodyType2D.Static; - Velocity *= 1.0f - Time.fixedDeltaTime * (IsStatic ? 35.0f : 15.0f); + Velocity *= 1.0f - Time.fixedDeltaTime * (IsStatic ? 50.0f : 15.0f); } if (Velocity.magnitude < 0.1) { if (CurrentlyStuckOn != null && GetsStuck) { transform.parent = CurrentlyStuckOn.transform; + GetComponentInChildren().sortingLayerName = "Blood Particles (On characters)"; } Destroy(GetComponent()); Destroy(this); @@ -39,6 +40,8 @@ namespace Saltosion.OneWeapon { Velocity = Velocity.normalized * Mathf.Min(IsStatic ? 15.0f : 60.0f, Velocity.magnitude); CurrentlyStuckOn = Hit.rigidbody; AppliedMovement = Velocity * Time.fixedDeltaTime; + } else if (CurrentlyStuckOn != null) { + CurrentlyStuckOn = null; } Vector2 NewPosition = (Vector2)transform.position + AppliedMovement; diff --git a/Assets/Scripts/Explodable.cs b/Assets/Scripts/Explodable.cs new file mode 100644 index 0000000..0bf5398 --- /dev/null +++ b/Assets/Scripts/Explodable.cs @@ -0,0 +1,44 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace Saltosion.OneWeapon { + public class Explodable : MonoBehaviour { + public GameObject[] BodypartPrefabs; + public bool DebugExplode = false; + + private void Start() { + foreach (GameObject Obj in BodypartPrefabs) { + Rigidbody2D Body = Obj.GetComponent(); + if (Body == null) { + Debug.LogError($"'{Obj.name}' is an explodable bodypart, and does not have a Rigidbody2D!\n\n" + + "Therefore it cannot be exploded. Please provide one.\n" + + "Following is the GameObject that needs to get a Rigidbody2D."); + } + } + } + + private void Update() { + if (DebugExplode) { + DebugExplode = false; + Explode(); + } + } + + public void Explode() { + foreach (GameObject Obj in BodypartPrefabs) { + GameObject NewObj = Instantiate(Obj, transform.position, new Quaternion(), null); + Rigidbody2D Bodypart = NewObj.GetComponent(); + if (Bodypart == null) { + continue; + } + float Force = 0.5f + Random.value * 0.5f; + float DirectionRadians = Random.value * Mathf.PI * 2.0f; + Bodypart.AddForce(new Vector2(Mathf.Cos(DirectionRadians), Mathf.Sin(DirectionRadians)) * Force, ForceMode2D.Impulse); + Bodypart.AddTorque((Random.value - 0.5f) * Force, ForceMode2D.Impulse); + + BloodLauncher.Splatter(transform.position, Vector2.zero, 70, 50f, 360f); + } + } + } +} diff --git a/Assets/Scripts/Explodable.cs.meta b/Assets/Scripts/Explodable.cs.meta new file mode 100644 index 0000000..afbfa09 --- /dev/null +++ b/Assets/Scripts/Explodable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a2110188365a59e4cb31d0e84789fbbd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/Physics2DSettings.asset b/ProjectSettings/Physics2DSettings.asset index 76fbfcb..7079bcc 100644 --- a/ProjectSettings/Physics2DSettings.asset +++ b/ProjectSettings/Physics2DSettings.asset @@ -53,4 +53,4 @@ Physics2DSettings: m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} - m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + m_LayerCollisionMatrix: fffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 965f307..fe2f19c 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -44,9 +44,12 @@ TagManager: - name: Tilemap uniqueID: 2424502481 locked: 0 - - name: Characters - uniqueID: 3346972299 - locked: 0 - name: Blood Particles uniqueID: 2599898461 locked: 0 + - name: Characters + uniqueID: 3346972299 + locked: 0 + - name: Blood Particles (On characters) + uniqueID: 3258686711 + locked: 0