From c12282f7d9b547628d0659149fb01c9f66a552a4 Mon Sep 17 00:00:00 2001 From: FredTheNoob Date: Tue, 16 Mar 2021 16:10:32 +0100 Subject: [PATCH] You can no longer shoot while not aiming. Bullets now hit stuff very cool --- Assets/Assets/Sprites/crosshair.png | 3 + Assets/Assets/Sprites/crosshair.png.meta | 140 +++++++++++++++++++++++ Assets/Scenes/Game World.unity | 114 +++++++++++++++++- Assets/Scripts/PlayerController.cs | 6 +- Assets/Scripts/WeaponBehaviour/Bullet.cs | 18 +++ ProjectSettings/TagManager.asset | 1 + 6 files changed, 277 insertions(+), 5 deletions(-) create mode 100644 Assets/Assets/Sprites/crosshair.png create mode 100644 Assets/Assets/Sprites/crosshair.png.meta diff --git a/Assets/Assets/Sprites/crosshair.png b/Assets/Assets/Sprites/crosshair.png new file mode 100644 index 0000000..9f0c9de --- /dev/null +++ b/Assets/Assets/Sprites/crosshair.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3ef282c2c936eaef2bd95a71082c89d053b6274afbf13d6db9a3092fb64602b +size 268 diff --git a/Assets/Assets/Sprites/crosshair.png.meta b/Assets/Assets/Sprites/crosshair.png.meta new file mode 100644 index 0000000..365ee0f --- /dev/null +++ b/Assets/Assets/Sprites/crosshair.png.meta @@ -0,0 +1,140 @@ +fileFormatVersion: 2 +guid: 06caf4f95a1ebe04cb19a482498193a9 +TextureImporter: + internalIDToNameTable: + - first: + 213: -6142374563283994760 + second: crosshair_0 + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + 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 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 32 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + 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: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: crosshair_0 + rect: + serializedVersion: 2 + x: 10 + y: 10 + width: 12 + height: 12 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 877ff0ed0e6e1caa0800000000000000 + internalID: -6142374563283994760 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Game World.unity b/Assets/Scenes/Game World.unity index b7b39fd..703077d 100644 --- a/Assets/Scenes/Game World.unity +++ b/Assets/Scenes/Game World.unity @@ -62922,6 +62922,63 @@ Transform: type: 3} m_PrefabInstance: {fileID: 577719250} m_PrefabAsset: {fileID: 0} +--- !u!1 &591064510 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 591064511} + - component: {fileID: 591064512} + m_Layer: 0 + m_Name: EnterBuilding + m_TagString: EnterBuilding + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &591064511 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 591064510} + 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: 2127199076} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &591064512 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 591064510} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: -0.08463494} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0} + oldSize: {x: 1, y: 0.86875} + newSize: {x: 1, y: 0.86875} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 0.33945137, y: 0.18460037} + m_EdgeRadius: 0 --- !u!1 &671811589 GameObject: m_ObjectHideFlags: 0 @@ -332418,7 +332475,8 @@ SpriteRenderer: m_SortingLayerID: -171121271 m_SortingLayer: 3 m_SortingOrder: 1 - m_Sprite: {fileID: 21300000, guid: b719d256d7ff4e9428c97c4314850f15, type: 3} + m_Sprite: {fileID: -6142374563283994760, guid: 06caf4f95a1ebe04cb19a482498193a9, + type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 @@ -343072,6 +343130,57 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1363577416} m_PrefabAsset: {fileID: 0} +--- !u!1 &2033664850 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2033664852} + - component: {fileID: 2033664851} + m_Layer: 0 + m_Name: AudioManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2033664851 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033664850} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a068a96cfaaf5614b9d9351f6e3c7dc1, type: 3} + m_Name: + m_EditorClassIdentifier: + sounds: + - name: Music + clip: {fileID: 8300000, guid: ddf347cd81e76df4888ad164d1f5d930, type: 3} + volume: 0.3 + pitch: 1 + spatialBlend: 0 + source: {fileID: 0} + loop: 1 +--- !u!4 &2033664852 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2033664850} + 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: 0} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &2036242525 PrefabInstance: m_ObjectHideFlags: 0 @@ -343725,5 +343834,6 @@ PrefabInstance: propertyPath: m_Name value: 160x160 Saloon_0 objectReference: {fileID: 0} - m_RemovedComponents: [] + m_RemovedComponents: + - {fileID: 8960931741605356859, guid: 62f95086422894f408bfb2d4a8530659, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 62f95086422894f408bfb2d4a8530659, type: 3} diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index 1d114bd..84fd691 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -44,11 +44,11 @@ private void ControllerShoot(InputAction.CallbackContext obj) if (Time.time >= nextShootTime) { Vector2 controllerDir = playerInput.Player.Aim.ReadValue(); - if (controllerDir == new Vector2(0,0)) controllerDir = new Vector2(1,0); + if (controllerDir == new Vector2(0,0)) return; GameObject g = Instantiate(bulletPrefab, firePoint.position, Quaternion.identity); g.GetComponent().MoveBullet(controllerDir.normalized); - + nextShootTime = Time.time + 1f / shootRate; } } @@ -98,7 +98,7 @@ void FixedUpdate() Vector2 moveInput = playerInput.Player.Movement.ReadValue(); rb.velocity = moveInput * speed; - Vector2 aimInput = playerInput.Player.Aim.ReadValue(); + Vector2 aimInput = playerInput.Player.Aim.ReadValue().normalized; if (aimInput != new Vector2(0,0)) { aimAssist.SetActive(true); aimAssist.transform.localPosition = aimInput * new Vector2(5f,5f) + new Vector2(0,2.5f); diff --git a/Assets/Scripts/WeaponBehaviour/Bullet.cs b/Assets/Scripts/WeaponBehaviour/Bullet.cs index 7f33a38..a125828 100644 --- a/Assets/Scripts/WeaponBehaviour/Bullet.cs +++ b/Assets/Scripts/WeaponBehaviour/Bullet.cs @@ -10,8 +10,26 @@ public class Bullet : MonoBehaviour public float speed = 20f; public Rigidbody2D rb; + private void Start() { + Destroy(this, 3f); + } + public void MoveBullet(Vector3 pos) { rb.velocity = pos * speed; } + + private void OnTriggerEnter2D(Collider2D other) + { + if (!other.CompareTag("EnterBuilding")) + { + if (!other.CompareTag("NPC")) + { + rb.constraints = RigidbodyConstraints2D.FreezeAll; + this.GetComponent().enabled = false; + Destroy(this, 1f); + } + } + + } } diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index a27d260..93af7c7 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -6,6 +6,7 @@ TagManager: tags: - Saloon - NPC + - EnterBuilding layers: - Default - TransparentFX