From e1965d40247345102a117bf5eb73b86d2c1e7762 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sun, 7 Jun 2020 14:02:03 -0400 Subject: [PATCH] Implemented a restart button that starts the game over completely and moved all mouse input based checks to the update function --- Assets/Scenes/Main Scene.unity | 111 ++++++++++++++++++++++++++++++- Assets/Scripts/GameScript.cs | 58 ++++++++++------ Assets/Textures/Restart.png | Bin 0 -> 3404 bytes Assets/Textures/Restart.png.meta | 92 +++++++++++++++++++++++++ Assets/Textures/Restart.xcf | Bin 0 -> 28823 bytes Assets/Textures/Restart.xcf.meta | 7 ++ ProjectSettings/TagManager.asset | 1 + 7 files changed, 246 insertions(+), 23 deletions(-) create mode 100644 Assets/Textures/Restart.png create mode 100644 Assets/Textures/Restart.png.meta create mode 100644 Assets/Textures/Restart.xcf create mode 100644 Assets/Textures/Restart.xcf.meta diff --git a/Assets/Scenes/Main Scene.unity b/Assets/Scenes/Main Scene.unity index b6c78a7..19b02d7 100644 --- a/Assets/Scenes/Main Scene.unity +++ b/Assets/Scenes/Main Scene.unity @@ -360,7 +360,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1425971015} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0.07614236, y: 0.02538085, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} @@ -397,6 +397,7 @@ MonoBehaviour: m_EditorClassIdentifier: Object: {fileID: 317481903} Dirt: {fileID: 5810670192936853663, guid: 6c319566e78e59d4b848e83cbf6cb8c5, type: 3} + Restart: {fileID: 2120053446} ObjectSprites: - {fileID: 21300000, guid: f86f46202b4377743b719984d5bb8396, type: 3} - {fileID: 21300000, guid: bf9a4d7870709424d95eaad944a6363b, type: 3} @@ -829,3 +830,111 @@ Rigidbody2D: m_SleepingMode: 1 m_CollisionDetection: 1 m_Constraints: 0 +--- !u!1 &2120053446 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2120053449} + - component: {fileID: 2120053448} + - component: {fileID: 2120053447} + m_Layer: 0 + m_Name: Restart + m_TagString: Restart + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!61 &2120053447 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2120053446} + 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.5, y: 0.5} + oldSize: {x: 5.12, y: 2.56} + newSize: {x: 5.12, y: 2.56} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 5.12, y: 2.56} + m_EdgeRadius: 0 +--- !u!212 &2120053448 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2120053446} + 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_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: -125711741 + m_SortingLayer: 2 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 37bbc33a2db94e3488a80d2998d18e82, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 5.12, y: 2.56} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &2120053449 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2120053446} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/GameScript.cs b/Assets/Scripts/GameScript.cs index 3ecacda..8729fae 100644 --- a/Assets/Scripts/GameScript.cs +++ b/Assets/Scripts/GameScript.cs @@ -7,9 +7,9 @@ public class GameScript : MonoBehaviour public GameObject Object; public GameObject Dirt; + public GameObject Restart; public Sprite[] ObjectSprites; - private bool clickDown = false; private bool clicked = false; private bool gameOver = false; private int objectsPolished = 0; @@ -28,32 +28,29 @@ public class GameScript : MonoBehaviour // Update is called once per frame void Update() { + if (Input.GetMouseButtonDown(0)) { - clickDown = true; - } - } - - void FixedUpdate() - { - - timer += Time.deltaTime; - float seconds = timeLimit - timer; - - //Debug.Log((int)seconds); - - Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); - Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y); - - if (clickDown) - { - - clickDown = false; - - RaycastHit2D hit = Physics2D.Raycast(mousePos2D, Vector2.zero); + Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); + Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y); + RaycastHit2D hit = Physics2D.Raycast(mousePos2D, Vector2.zero); + if (hit.collider != null) { + + if(hit.collider.gameObject.tag == "Restart" && gameOver) + { + + Restart.SetActive(false); + Object.SetActive(true); + Setup(); + gameOver = false; + timer = 0.0f; + objectsPolished = 0; + + } + if (hit.collider.gameObject.tag == "Item" && !clicked && !gameOver) { pickedUpItem = hit.collider.gameObject; @@ -82,6 +79,21 @@ public class GameScript : MonoBehaviour } + + } + + + void FixedUpdate() + { + + timer += Time.deltaTime; + float seconds = timeLimit - timer; + + Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); + Vector2 mousePos2D = new Vector2(mousePos.x, mousePos.y); + + //Debug.Log((int)seconds); + if(clicked) { pickedUpItem.transform.position = mousePos2D; @@ -110,6 +122,8 @@ public class GameScript : MonoBehaviour GameObject[] leftovers = GameObject.FindGameObjectsWithTag("Dirt"); foreach(GameObject residue in leftovers) GameObject.Destroy(residue); + + Restart.SetActive(true); } diff --git a/Assets/Textures/Restart.png b/Assets/Textures/Restart.png new file mode 100644 index 0000000000000000000000000000000000000000..6ca3c984ac25ba13e001a725d2eb25f0ea847b32 GIT binary patch literal 3404 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 SiX$u`eBZ@So({)Z>i+{0bd_uX literal 0 HcmV?d00001 diff --git a/Assets/Textures/Restart.xcf.meta b/Assets/Textures/Restart.xcf.meta new file mode 100644 index 0000000..1ebf81c --- /dev/null +++ b/Assets/Textures/Restart.xcf.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 240c241852845174b83fa5c770c325dc +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 7d8073c..0f87f2d 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -7,6 +7,7 @@ TagManager: - Object - Item - Dirt + - Restart layers: - Default - TransparentFX