From 4bb1730091c1ed4bb379ddf9dfca161eda4a590e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Gro=C3=9F?= Date: Thu, 26 Sep 2019 00:48:36 +0200 Subject: [PATCH] Introducing a score limit and bugfixes --- Assets/Scenes/main.unity | 502 ++++++++++++++++++++++++++++++++-- Assets/Scripts/ForceZone.cs | 10 +- Assets/Scripts/GameManager.cs | 37 +++ 3 files changed, 525 insertions(+), 24 deletions(-) diff --git a/Assets/Scenes/main.unity b/Assets/Scenes/main.unity index 01c86ba..60aad1e 100644 --- a/Assets/Scenes/main.unity +++ b/Assets/Scenes/main.unity @@ -149,7 +149,7 @@ Rigidbody: m_GameObject: {fileID: 10774711} serializedVersion: 2 m_Mass: 1 - m_Drag: 0 + m_Drag: 0.5 m_AngularDrag: 0.05 m_UseGravity: 1 m_IsKinematic: 0 @@ -223,7 +223,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 10774711} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 4.11, y: 2, z: 7.89} + m_LocalPosition: {x: 0, y: 2, z: 0} m_LocalScale: {x: 4, y: 4, z: 4} m_Children: [] m_Father: {fileID: 0} @@ -412,12 +412,13 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: playerNumber: 2 - rotationSpeed: 550 + useController: 0 + rotationSpeed: 600 movementSpeed: 100 rb: {fileID: 0} forceZone: {fileID: 1463368301} boostSpeed: 5000 - boostDuration: 0.5 + boostDuration: 0.25 lastBoostTime: 0 lockBoost: 0 --- !u!4 &367746332 @@ -427,8 +428,8 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 367746328} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 6.65, y: 1, z: -0.9} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 35, y: 1, z: 0} m_LocalScale: {x: 2, y: 2, z: 2} m_Children: - {fileID: 463881656} @@ -436,7 +437,7 @@ Transform: - {fileID: 1463368306} m_Father: {fileID: 0} m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} --- !u!1 &384291585 GameObject: m_ObjectHideFlags: 0 @@ -721,6 +722,84 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 562159198} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &607474436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 607474439} + - component: {fileID: 607474438} + - component: {fileID: 607474437} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &607474437 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607474436} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &607474438 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607474436} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &607474439 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 607474436} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.3} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 929235630} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &643748441 GameObject: m_ObjectHideFlags: 0 @@ -840,7 +919,7 @@ GameObject: - component: {fileID: 655067606} - component: {fileID: 655067605} m_Layer: 0 - m_Name: Player1 + m_Name: Player2 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1089,7 +1168,7 @@ GameObject: - component: {fileID: 708460346} - component: {fileID: 708460345} m_Layer: 0 - m_Name: Player + m_Name: Player 3 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -1102,8 +1181,8 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 708460343} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 1.6, y: 1, z: -1.1} + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -35, y: 1, z: 0} m_LocalScale: {x: 2, y: 2, z: 2} m_Children: - {fileID: 1892182892} @@ -1111,7 +1190,7 @@ Transform: - {fileID: 1953196551} m_Father: {fileID: 0} m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} --- !u!65 &708460345 BoxCollider: m_ObjectHideFlags: 0 @@ -1153,15 +1232,103 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d40c13a2057643a48b276db2829a33fd, type: 3} m_Name: m_EditorClassIdentifier: - playerNumber: - rotationSpeed: 550 + playerNumber: 3 + useController: 1 + rotationSpeed: 600 movementSpeed: 100 rb: {fileID: 0} forceZone: {fileID: 1831066455} boostSpeed: 5000 - boostDuration: 0.5 + boostDuration: 0.25 lastBoostTime: 0 lockBoost: 0 +--- !u!1 &929235626 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 929235630} + - component: {fileID: 929235629} + - component: {fileID: 929235628} + - component: {fileID: 929235627} + m_Layer: 0 + m_Name: Player 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!65 &929235627 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 929235626} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &929235628 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 929235626} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 2 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 84 + m_CollisionDetection: 2 +--- !u!114 &929235629 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 929235626} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d40c13a2057643a48b276db2829a33fd, type: 3} + m_Name: + m_EditorClassIdentifier: + playerNumber: 1 + useController: 0 + rotationSpeed: 600 + movementSpeed: 100 + rb: {fileID: 0} + forceZone: {fileID: 1248323373} + boostSpeed: 5000 + boostDuration: 0.25 + lastBoostTime: 0 + lockBoost: 0 +--- !u!4 &929235630 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 929235626} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -0.3, y: 1, z: 13.3} + m_LocalScale: {x: 2, y: 2, z: 2} + m_Children: + - {fileID: 966074800} + - {fileID: 607474439} + - {fileID: 1248323378} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} --- !u!1 &963194225 GameObject: m_ObjectHideFlags: 0 @@ -1245,6 +1412,106 @@ Transform: m_Father: {fileID: 1499531362} m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!1001 &966074799 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 929235630} + m_Modifications: + - target: {fileID: -927199367670048503, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_Name + value: ship + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalPosition.z + value: 0.7 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalRotation.x + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 90 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -1504981713932161579, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: 4afd35b43d7b3104a873a3582dc4d944, type: 2} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e20064a82392e8b419e98bf67e64f222, type: 3} +--- !u!4 &966074800 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -4216859302048453862, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + m_PrefabInstance: {fileID: 966074799} + m_PrefabAsset: {fileID: 0} +--- !u!1 &966074801 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: -927199367670048503, guid: e20064a82392e8b419e98bf67e64f222, + type: 3} + m_PrefabInstance: {fileID: 966074799} + m_PrefabAsset: {fileID: 0} +--- !u!64 &966074802 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 966074801} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Convex: 1 + m_CookingOptions: 14 + m_Mesh: {fileID: -5495902117074765545, guid: e20064a82392e8b419e98bf67e64f222, type: 3} --- !u!1 &1053063603 GameObject: m_ObjectHideFlags: 0 @@ -1450,6 +1717,7 @@ MonoBehaviour: m_EditorClassIdentifier: scorePlayer1: 0 scorePlayer2: 0 + maxGoals: 10 player1: {fileID: 708460344} player2: {fileID: 367746332} ball: {fileID: 10774716} @@ -1457,6 +1725,7 @@ MonoBehaviour: player2Initial: {fileID: 0} ballInitial: {fileID: 0} scoreLabel: {fileID: 697913066} + winLabel: {fileID: 1880081387} --- !u!4 &1228665502 Transform: m_ObjectHideFlags: 0 @@ -1471,6 +1740,113 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1248323373 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1248323378} + - component: {fileID: 1248323377} + - component: {fileID: 1248323376} + - component: {fileID: 1248323375} + - component: {fileID: 1248323374} + m_Layer: 0 + m_Name: ForceZone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1248323374 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1248323373} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ee5ed52ae75cde4cadf0d7de9efa9f0, type: 3} + m_Name: + m_EditorClassIdentifier: + force: 2200 + player: {fileID: 607474436} +--- !u!65 &1248323375 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1248323373} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1248323376 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1248323373} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f3060dffc19587941ab40540b4aa9398, type: 2} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!33 &1248323377 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1248323373} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1248323378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1248323373} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.05, y: 0.39, z: -2.89} + m_LocalScale: {x: 1.8, y: 1, z: 4} + m_Children: [] + m_Father: {fileID: 929235630} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1463368301 GameObject: m_ObjectHideFlags: 0 @@ -1503,7 +1879,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5ee5ed52ae75cde4cadf0d7de9efa9f0, type: 3} m_Name: m_EditorClassIdentifier: - force: 2000 + force: 2200 + player: {fileID: 655067603} --- !u!65 &1463368303 BoxCollider: m_ObjectHideFlags: 0 @@ -1571,8 +1948,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1463368301} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.39, z: -2.1} - m_LocalScale: {x: 1.63, y: 1, z: 2.49} + m_LocalPosition: {x: -0.05, y: 0.39, z: -2.89} + m_LocalScale: {x: 1.8, y: 1, z: 4} m_Children: [] m_Father: {fileID: 367746332} m_RootOrder: 2 @@ -1668,6 +2045,7 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_Children: - {fileID: 697913065} + - {fileID: 1880081386} m_Father: {fileID: 0} m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1849,8 +2227,8 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1831066455} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.39, z: -2.1} - m_LocalScale: {x: 1.63, y: 1, z: 2.49} + m_LocalPosition: {x: 0, y: 0.39, z: -2.8} + m_LocalScale: {x: 1.8, y: 1, z: 4} m_Children: [] m_Father: {fileID: 708460344} m_RootOrder: 1 @@ -1867,7 +2245,8 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5ee5ed52ae75cde4cadf0d7de9efa9f0, type: 3} m_Name: m_EditorClassIdentifier: - force: 2000 + force: 2200 + player: {fileID: 1892182888} --- !u!65 &1831066458 BoxCollider: m_ObjectHideFlags: 0 @@ -1927,6 +2306,85 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1831066455} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1880081385 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1880081386} + - component: {fileID: 1880081388} + - component: {fileID: 1880081387} + m_Layer: 5 + m_Name: WinText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1880081386 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1880081385} + 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: 1485996213} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1279.8, y: 327.7} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1880081387 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1880081385} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 144 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 147 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: _ Wins ! +--- !u!222 &1880081388 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1880081385} + m_CullTransparentMesh: 0 --- !u!1 &1885071193 GameObject: m_ObjectHideFlags: 0 @@ -2031,7 +2489,7 @@ GameObject: - component: {fileID: 1892182891} - component: {fileID: 1892182890} m_Layer: 0 - m_Name: Player1 + m_Name: Player3 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 diff --git a/Assets/Scripts/ForceZone.cs b/Assets/Scripts/ForceZone.cs index e984185..cb782da 100644 --- a/Assets/Scripts/ForceZone.cs +++ b/Assets/Scripts/ForceZone.cs @@ -5,6 +5,7 @@ using UnityEngine; public class ForceZone : MonoBehaviour { public float force = 0; + public GameObject player; // Start is called before the first frame update void Start() { @@ -19,8 +20,13 @@ public class ForceZone : MonoBehaviour private void OnTriggerStay(Collider other) { - Vector3 direction = other.transform.position - this.transform.position; + Vector3 direction = other.transform.position - this.player.transform.position; Debug.DrawRay(this.transform.position, direction); - other.transform.GetComponent().AddForce(direction.normalized * this.force * Time.deltaTime, ForceMode.Impulse); + + Rigidbody otherRigidbody = other.transform.GetComponent(); + if (otherRigidbody) + { + other.transform.GetComponent().AddForce(direction.normalized * this.force * Time.deltaTime, ForceMode.Impulse); + } } } diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 6b4d9b5..cf044e0 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -2,10 +2,12 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; +using UnityEngine.SceneManagement; public class GameManager : MonoBehaviour { public int scorePlayer1 = 0; public int scorePlayer2 = 0; + public int maxGoals = 1; public Transform player1; public Transform player2; @@ -15,30 +17,65 @@ public class GameManager : MonoBehaviour /* UI */ public Text scoreLabel; + public Text winLabel; // Start is called before the first frame update void Start() { this.player1Initial = new GameObject().transform; this.player1Initial.position = this.player1.position; + this.player1Initial.rotation = this.player1.rotation; this.player2Initial = new GameObject().transform; this.player2Initial.position = this.player2.position; + this.player2Initial.rotation = this.player2.rotation; this.ballInitial = new GameObject().transform; this.ballInitial.position = this.ball.position; + + winLabel.transform.gameObject.SetActive(false); } // Update is called once per frame void Update() { this.scoreLabel.text = "Score: " + this.scorePlayer1 + " : " + this.scorePlayer2; + + if (this.scorePlayer1 >= maxGoals) + { + winLabel.text = "Player 1 wins the game!"; + winLabel.transform.gameObject.SetActive(true); + Time.timeScale = 0.0f; + } + + if (this.scorePlayer2 >= maxGoals) + { + winLabel.text = "Player 2 wins the game!"; + winLabel.transform.gameObject.SetActive(true); + Time.timeScale = 0.0f; + } + + if (this.scorePlayer2 >= maxGoals || this.scorePlayer1 >= maxGoals) + { + if (Input.GetKeyDown(KeyCode.F5)) + { + Time.timeScale = 1; + SceneManager.LoadScene(SceneManager.GetActiveScene().name); + } + } } public void ResetPositions() { this.player1.position = this.player1Initial.position; + this.player1.rotation = this.player1Initial.rotation; + this.player1.GetComponent().velocity = Vector3.zero; + this.player2.position = this.player2Initial.position; + this.player2.rotation = this.player2Initial.rotation; + this.player2.GetComponent().velocity = Vector3.zero; + this.ball.position = this.ballInitial.position; + this.ball.GetComponent().velocity = Vector3.zero; } }