From 89953e7cd613eb3ae90aef224fab802f644fc378 Mon Sep 17 00:00:00 2001 From: ProtoSharkk Date: Sun, 27 Oct 2024 17:59:13 -0700 Subject: [PATCH 1/6] Create Gun thrower subclass of ratbot that spawns gun objects --- Assets/Enemy/Gun.cs | 11 ++ Assets/Enemy/Gun.cs.meta | 2 + Assets/Enemy/Gun.png | Bin 0 -> 21549 bytes Assets/Enemy/Gun.png.meta | 143 ++++++++++++++ Assets/Enemy/Gun.prefab | 178 +++++++++++++++++ Assets/Enemy/Gun.prefab.meta | 7 + Assets/Enemy/GunThrower.prefab | 183 ++++++++++++++++++ Assets/Enemy/GunThrower.prefab.meta | 7 + Assets/MainMenuUI/TeoSword_2.png.meta | 3 +- Assets/MainMenuUI/TeoSword_clear.png.meta | 3 +- .../LoreScenes/Chapter 1/GYNxJn.png.meta | 3 +- .../LoreScenes/Chapter 1/roborat.png.meta | 3 +- Assets/Scenes/SampleScene.unity | 2 +- Assets/Scripts C#/Ratbots.meta | 8 + Assets/Scripts C#/Ratbots/GunThrower.cs | 24 +++ Assets/Scripts C#/Ratbots/GunThrower.cs.meta | 2 + Assets/Scripts C#/{ => Ratbots}/Ratbot.cs | 18 +- .../Scripts C#/{ => Ratbots}/Ratbot.cs.meta | 0 18 files changed, 587 insertions(+), 10 deletions(-) create mode 100644 Assets/Enemy/Gun.cs create mode 100644 Assets/Enemy/Gun.cs.meta create mode 100644 Assets/Enemy/Gun.png create mode 100644 Assets/Enemy/Gun.png.meta create mode 100644 Assets/Enemy/Gun.prefab create mode 100644 Assets/Enemy/Gun.prefab.meta create mode 100644 Assets/Enemy/GunThrower.prefab create mode 100644 Assets/Enemy/GunThrower.prefab.meta create mode 100644 Assets/Scripts C#/Ratbots.meta create mode 100644 Assets/Scripts C#/Ratbots/GunThrower.cs create mode 100644 Assets/Scripts C#/Ratbots/GunThrower.cs.meta rename Assets/Scripts C#/{ => Ratbots}/Ratbot.cs (86%) rename Assets/Scripts C#/{ => Ratbots}/Ratbot.cs.meta (100%) diff --git a/Assets/Enemy/Gun.cs b/Assets/Enemy/Gun.cs new file mode 100644 index 0000000..3706fec --- /dev/null +++ b/Assets/Enemy/Gun.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +public class Gun : MonoBehaviour +{ + public float damageStrength; + void OnTriggerEnter2D (Collider2D hit) { + if (hit.tag == "Player") { + hit.GetComponent().health -= damageStrength; + } + } +} diff --git a/Assets/Enemy/Gun.cs.meta b/Assets/Enemy/Gun.cs.meta new file mode 100644 index 0000000..db9d09d --- /dev/null +++ b/Assets/Enemy/Gun.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9960e65b78321cc8a85166a904f8f617 \ No newline at end of file diff --git a/Assets/Enemy/Gun.png b/Assets/Enemy/Gun.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c631b593917a1dccd657949e545877d7ab164c GIT binary patch literal 21549 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 literal 0 HcmV?d00001 diff --git a/Assets/Enemy/Gun.png.meta b/Assets/Enemy/Gun.png.meta new file mode 100644 index 0000000..31fd87f --- /dev/null +++ b/Assets/Enemy/Gun.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: e702bce75f9e4df8ea233b25756258da +TextureImporter: + internalIDToNameTable: + - first: + 213: 6013433716489236182 + second: pngtree-weapon-gun-flat-icon-handgun-png-image_4933503_0 + externalObjects: {} + serializedVersion: 13 + 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 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 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: 2 + 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: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: pngtree-weapon-gun-flat-icon-handgun-png-image_4933503_0 + rect: + serializedVersion: 2 + x: 37 + y: 88 + width: 286 + height: 184 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 6dea2b7ca12047350800000000000000 + internalID: 6013433716489236182 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + pngtree-weapon-gun-flat-icon-handgun-png-image_4933503_0: 6013433716489236182 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemy/Gun.prefab b/Assets/Enemy/Gun.prefab new file mode 100644 index 0000000..bf59172 --- /dev/null +++ b/Assets/Enemy/Gun.prefab @@ -0,0 +1,178 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5213001249979318174 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1149395136374715657} + - component: {fileID: 8026032327717419331} + - component: {fileID: 8712449370490801022} + - component: {fileID: 3940916619600254679} + - component: {fileID: 7665728843769076804} + m_Layer: 0 + m_Name: Gun + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1149395136374715657 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5213001249979318174} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2.2222223, y: 2.2222223, z: 2.2222223} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &8026032327717419331 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5213001249979318174} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 6013433716489236182, guid: e702bce75f9e4df8ea233b25756258da, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.86, y: 1.84} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &8712449370490801022 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5213001249979318174} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9960e65b78321cc8a85166a904f8f617, type: 3} + m_Name: + m_EditorClassIdentifier: + damageStrength: 0 +--- !u!61 &3940916619600254679 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5213001249979318174} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 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: 2.86, y: 1.84} + newSize: {x: 2.86, y: 1.84} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 2.86, y: 1.84} + m_EdgeRadius: 0 +--- !u!50 &7665728843769076804 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5213001249979318174} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 diff --git a/Assets/Enemy/Gun.prefab.meta b/Assets/Enemy/Gun.prefab.meta new file mode 100644 index 0000000..27dda9a --- /dev/null +++ b/Assets/Enemy/Gun.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 98b57b15498e96a9c8fe56264ac2ef63 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Enemy/GunThrower.prefab b/Assets/Enemy/GunThrower.prefab new file mode 100644 index 0000000..6b4776f --- /dev/null +++ b/Assets/Enemy/GunThrower.prefab @@ -0,0 +1,183 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &398740452138961375 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4344634732794346337} + - component: {fileID: 5639616099047780729} + - component: {fileID: 480941680556316754} + - component: {fileID: 8441426735084966298} + - component: {fileID: 3449798187735636588} + m_Layer: 0 + m_Name: GunThrower + m_TagString: Ratbot + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4344634732794346337 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 398740452138961375} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.45, y: 0.45, z: 0.45} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5639616099047780729 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 398740452138961375} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3ebac0379db13f0c3932982bc0ebed28, type: 3} + m_Name: + m_EditorClassIdentifier: + moveSpeed: 1500 + damageStrength: 10 + damageTimeoutSeconds: 0.5 + health: 10 + gun: {fileID: 5213001249979318174, guid: 98b57b15498e96a9c8fe56264ac2ef63, type: 3} + throwSpeed: 0 +--- !u!212 &480941680556316754 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 398740452138961375} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, 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: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: -3751497128136096670, guid: 520c934c186517356929c5948597af6f, 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: 5.12} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!61 &8441426735084966298 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 398740452138961375} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 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: 3.53, y: 4.2} + newSize: {x: 5.12, y: 5.12} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 3.53, y: 4.2} + m_EdgeRadius: 0 +--- !u!50 &3449798187735636588 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 398740452138961375} + m_BodyType: 0 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 0.5 + m_LinearDamping: 10 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 4 diff --git a/Assets/Enemy/GunThrower.prefab.meta b/Assets/Enemy/GunThrower.prefab.meta new file mode 100644 index 0000000..17ba09e --- /dev/null +++ b/Assets/Enemy/GunThrower.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b1e1e6378fb12d47e989565896a737ef +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/MainMenuUI/TeoSword_2.png.meta b/Assets/MainMenuUI/TeoSword_2.png.meta index 8bd0b66..dba672b 100644 --- a/Assets/MainMenuUI/TeoSword_2.png.meta +++ b/Assets/MainMenuUI/TeoSword_2.png.meta @@ -160,7 +160,8 @@ TextureImporter: secondaryTextures: [] spriteCustomMetadata: entries: [] - nameFileIdTable: {} + nameFileIdTable: + TeoSword_2_0: -4241835214737505916 mipmapLimitGroupName: pSDRemoveMatte: 0 userData: diff --git a/Assets/MainMenuUI/TeoSword_clear.png.meta b/Assets/MainMenuUI/TeoSword_clear.png.meta index 321d59a..9270807 100644 --- a/Assets/MainMenuUI/TeoSword_clear.png.meta +++ b/Assets/MainMenuUI/TeoSword_clear.png.meta @@ -160,7 +160,8 @@ TextureImporter: secondaryTextures: [] spriteCustomMetadata: entries: [] - nameFileIdTable: {} + nameFileIdTable: + TeoSword_clear_0: 5912729268939179329 mipmapLimitGroupName: pSDRemoveMatte: 0 userData: diff --git a/Assets/Scenes/LoreScenes/Chapter 1/GYNxJn.png.meta b/Assets/Scenes/LoreScenes/Chapter 1/GYNxJn.png.meta index 1c9d7ac..a5bba2d 100644 --- a/Assets/Scenes/LoreScenes/Chapter 1/GYNxJn.png.meta +++ b/Assets/Scenes/LoreScenes/Chapter 1/GYNxJn.png.meta @@ -160,7 +160,8 @@ TextureImporter: secondaryTextures: [] spriteCustomMetadata: entries: [] - nameFileIdTable: {} + nameFileIdTable: + GYNxJn_0: 7760431067827908858 mipmapLimitGroupName: pSDRemoveMatte: 0 userData: diff --git a/Assets/Scenes/LoreScenes/Chapter 1/roborat.png.meta b/Assets/Scenes/LoreScenes/Chapter 1/roborat.png.meta index 227d2a2..2e21013 100644 --- a/Assets/Scenes/LoreScenes/Chapter 1/roborat.png.meta +++ b/Assets/Scenes/LoreScenes/Chapter 1/roborat.png.meta @@ -160,7 +160,8 @@ TextureImporter: secondaryTextures: [] spriteCustomMetadata: entries: [] - nameFileIdTable: {} + nameFileIdTable: + roborat_0: -4827719251672435245 mipmapLimitGroupName: pSDRemoveMatte: 0 userData: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 5bdfbd4..e22e425 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -681,7 +681,7 @@ MonoBehaviour: m_EditorClassIdentifier: state: 0 wave: 0 - ratbot: {fileID: 398740452138961375, guid: 5887eeeb7c78eb5c7bf46c5893fd4846, type: 3} + ratbot: {fileID: 398740452138961375, guid: b1e1e6378fb12d47e989565896a737ef, type: 3} shop: {fileID: 6569104281457075541, guid: c0d23b24c9c882ef89013998dab29dea, type: 3} --- !u!4 &745837569 Transform: diff --git a/Assets/Scripts C#/Ratbots.meta b/Assets/Scripts C#/Ratbots.meta new file mode 100644 index 0000000..14fb108 --- /dev/null +++ b/Assets/Scripts C#/Ratbots.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 80a6f9e1f8fdfdbcfb3c74283bd49306 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts C#/Ratbots/GunThrower.cs b/Assets/Scripts C#/Ratbots/GunThrower.cs new file mode 100644 index 0000000..1b6a66c --- /dev/null +++ b/Assets/Scripts C#/Ratbots/GunThrower.cs @@ -0,0 +1,24 @@ +using UnityEngine; + +public class GunThrower : Ratbot +{ + public GameObject gun; + public float throwSpeed; + + void Start() { + SetVars(); + InvokeRepeating( + "ThrowGun", + Random.Range(1, 3), + Random.Range(1, 3) + ); + } + + void ThrowGun() { + GameObject thrown = Instantiate(gun); + thrown.GetComponent().AddRelativeForce(( + transform.position - player.transform.position + ).normalized * throwSpeed); + thrown.GetComponent().damageStrength = damageStrength; + } +} diff --git a/Assets/Scripts C#/Ratbots/GunThrower.cs.meta b/Assets/Scripts C#/Ratbots/GunThrower.cs.meta new file mode 100644 index 0000000..a56c9d8 --- /dev/null +++ b/Assets/Scripts C#/Ratbots/GunThrower.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3ebac0379db13f0c3932982bc0ebed28 \ No newline at end of file diff --git a/Assets/Scripts C#/Ratbot.cs b/Assets/Scripts C#/Ratbots/Ratbot.cs similarity index 86% rename from Assets/Scripts C#/Ratbot.cs rename to Assets/Scripts C#/Ratbots/Ratbot.cs index 94a3eba..66dc560 100644 --- a/Assets/Scripts C#/Ratbot.cs +++ b/Assets/Scripts C#/Ratbots/Ratbot.cs @@ -7,21 +7,29 @@ public class Ratbot : MonoBehaviour public float damageTimeoutSeconds; public float health = 10; float lastDamageTime; - GameState gameState; - GameObject player; + + public static GameState gameState; + public static GameObject player; void Start() { + SetVars(); + } + + public void SetVars() { // Set gameState and player objects player = GameObject.FindGameObjectWithTag("Player"); gameState = GameObject.FindGameObjectWithTag("GameController").GetComponent(); - } + } void Update() { - // Constantly move towards player + MoveTowardsPlayer(); + } + + public void MoveTowardsPlayer() { Rigidbody2D controller = GetComponent(); Vector2 direction = (player.transform.position - transform.position).normalized; controller.AddRelativeForce(direction*moveSpeed*Time.deltaTime); - } + } void OnCollisionStay2D(Collision2D collision) { // Deal damage when colliding with the player on a 0.5 second cooldown diff --git a/Assets/Scripts C#/Ratbot.cs.meta b/Assets/Scripts C#/Ratbots/Ratbot.cs.meta similarity index 100% rename from Assets/Scripts C#/Ratbot.cs.meta rename to Assets/Scripts C#/Ratbots/Ratbot.cs.meta From 73ab694f7c5bb0743b52488f416e7d2a6ce8ea59 Mon Sep 17 00:00:00 2001 From: ProtoSharkk Date: Sun, 27 Oct 2024 18:15:14 -0700 Subject: [PATCH 2/6] Guns travel towards player --- Assets/Enemy/Gun.prefab | 2 +- Assets/Enemy/GunThrower.prefab | 2 +- Assets/Scripts C#/Ratbots/GunThrower.cs | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Assets/Enemy/Gun.prefab b/Assets/Enemy/Gun.prefab index bf59172..26cdb17 100644 --- a/Assets/Enemy/Gun.prefab +++ b/Assets/Enemy/Gun.prefab @@ -30,7 +30,7 @@ Transform: serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 2.2222223, y: 2.2222223, z: 2.2222223} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} diff --git a/Assets/Enemy/GunThrower.prefab b/Assets/Enemy/GunThrower.prefab index 6b4776f..e2565a2 100644 --- a/Assets/Enemy/GunThrower.prefab +++ b/Assets/Enemy/GunThrower.prefab @@ -52,7 +52,7 @@ MonoBehaviour: damageTimeoutSeconds: 0.5 health: 10 gun: {fileID: 5213001249979318174, guid: 98b57b15498e96a9c8fe56264ac2ef63, type: 3} - throwSpeed: 0 + throwSpeed: 41.61 --- !u!212 &480941680556316754 SpriteRenderer: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts C#/Ratbots/GunThrower.cs b/Assets/Scripts C#/Ratbots/GunThrower.cs index 1b6a66c..c6d3e8c 100644 --- a/Assets/Scripts C#/Ratbots/GunThrower.cs +++ b/Assets/Scripts C#/Ratbots/GunThrower.cs @@ -15,9 +15,13 @@ public class GunThrower : Ratbot } void ThrowGun() { - GameObject thrown = Instantiate(gun); + GameObject thrown = Instantiate( + gun, + transform.position, + Quaternion.identity + ); thrown.GetComponent().AddRelativeForce(( - transform.position - player.transform.position + player.transform.position - thrown.transform.position ).normalized * throwSpeed); thrown.GetComponent().damageStrength = damageStrength; } From e3a96303bcbabe138d4e61b4366c480eba8a423d Mon Sep 17 00:00:00 2001 From: ProtoSharkk Date: Sun, 27 Oct 2024 18:30:18 -0700 Subject: [PATCH 3/6] Guns spin and die and self destruct on impact --- Assets/Enemy/Gun.cs | 12 +++++++++--- Assets/Enemy/Gun.prefab | 2 +- Assets/Enemy/GunThrower.prefab | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Assets/Enemy/Gun.cs b/Assets/Enemy/Gun.cs index 3706fec..80f008b 100644 --- a/Assets/Enemy/Gun.cs +++ b/Assets/Enemy/Gun.cs @@ -3,9 +3,15 @@ using UnityEngine; public class Gun : MonoBehaviour { public float damageStrength; + void OnTriggerEnter2D (Collider2D hit) { - if (hit.tag == "Player") { - hit.GetComponent().health -= damageStrength; - } + // Damage player and destroy self on impact + if (hit.tag != "Player") return; + hit.GetComponent().health -= damageStrength; + Destroy(gameObject); + } + + void Update() { + transform.Rotate(new Vector3 (0, 0, Time.deltaTime * 1000)); } } diff --git a/Assets/Enemy/Gun.prefab b/Assets/Enemy/Gun.prefab index 26cdb17..aed11aa 100644 --- a/Assets/Enemy/Gun.prefab +++ b/Assets/Enemy/Gun.prefab @@ -30,7 +30,7 @@ Transform: serializedVersion: 2 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_LocalScale: {x: 0.5, y: 0.5, z: 0.5} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} diff --git a/Assets/Enemy/GunThrower.prefab b/Assets/Enemy/GunThrower.prefab index e2565a2..f68267b 100644 --- a/Assets/Enemy/GunThrower.prefab +++ b/Assets/Enemy/GunThrower.prefab @@ -52,7 +52,7 @@ MonoBehaviour: damageTimeoutSeconds: 0.5 health: 10 gun: {fileID: 5213001249979318174, guid: 98b57b15498e96a9c8fe56264ac2ef63, type: 3} - throwSpeed: 41.61 + throwSpeed: 500 --- !u!212 &480941680556316754 SpriteRenderer: m_ObjectHideFlags: 0 From 2908b53812ca2d2955bba3f7c32d7b2fd6fb4dc1 Mon Sep 17 00:00:00 2001 From: ProtoSharkk Date: Sun, 27 Oct 2024 19:01:57 -0700 Subject: [PATCH 4/6] Past wave 3 a third of ratbots are gun throwers --- Assets/Enemy/Ratbot.prefab | 2 +- Assets/Scripts C#/GameState.cs | 34 +++++++++++++++++++++++++++++----- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/Assets/Enemy/Ratbot.prefab b/Assets/Enemy/Ratbot.prefab index 9182b9f..cdb3677 100644 --- a/Assets/Enemy/Ratbot.prefab +++ b/Assets/Enemy/Ratbot.prefab @@ -165,7 +165,7 @@ Rigidbody2D: m_UseFullKinematicContacts: 0 m_UseAutoMass: 0 m_Mass: 0.5 - m_LinearDamping: 10 + m_LinearDamping: 15 m_AngularDamping: 0.05 m_GravityScale: 1 m_Material: {fileID: 0} diff --git a/Assets/Scripts C#/GameState.cs b/Assets/Scripts C#/GameState.cs index 49e6ec8..d994bdc 100644 --- a/Assets/Scripts C#/GameState.cs +++ b/Assets/Scripts C#/GameState.cs @@ -4,8 +4,16 @@ public class GameState : MonoBehaviour { public State state; public uint wave; - public GameObject ratbot; public GameObject shop; + public GameObject ratbot; + public GameObject gunThrower; + + int[] counts = new int[2]; + enum CountIndex : uint { + ratbot = 0, + gunThrower = 1 + } + void Start() { OpenShop(); } @@ -20,7 +28,9 @@ public class GameState : MonoBehaviour // Update is called once per frame void Update() { - if (GameObject.FindGameObjectsWithTag("Ratbot").Length == 0 && state == State.Wave) { + if (GameObject.FindGameObjectsWithTag("Ratbot").Length == 0 + && state == State.Wave + ) { OpenShop(); } } @@ -34,16 +44,30 @@ public class GameState : MonoBehaviour // Spawn ratbots around the player // Amount, health, and damage scale with waves state = State.Wave; - Vector3 playerPosition = GameObject.FindGameObjectWithTag("Player").transform.position; + Vector3 playerPosition + = GameObject + .FindGameObjectWithTag("Player") + .transform + .position; for (uint _ = 0; _ <= wave; _++) { GameObject newRatbot = Instantiate( - ratbot, + SpawnRatbot(), Random.insideUnitCircle.normalized*20, Quaternion.identity ); - newRatbot.GetComponent().damageStrength = 5+wave*5; + newRatbot.GetComponent().damageStrength + = 5+wave*5; newRatbot.GetComponent().health = 5+wave*2; } wave++; } + public GameObject SpawnRatbot() { + if (counts[(uint)CountIndex.gunThrower] < wave/3 + && wave > 3 + ) { + counts[(uint)CountIndex.gunThrower]++; + return gunThrower; + } + return ratbot; + } } From 0865da787068d552445f07a2bce91d4dee70217d Mon Sep 17 00:00:00 2001 From: ProtoSharkk Date: Sun, 27 Oct 2024 19:11:47 -0700 Subject: [PATCH 5/6] Destroy gun when out of view --- Assets/Enemy/Gun.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Assets/Enemy/Gun.cs b/Assets/Enemy/Gun.cs index 80f008b..a1a0bf0 100644 --- a/Assets/Enemy/Gun.cs +++ b/Assets/Enemy/Gun.cs @@ -13,5 +13,9 @@ public class Gun : MonoBehaviour void Update() { transform.Rotate(new Vector3 (0, 0, Time.deltaTime * 1000)); + if (Vector3.Distance( + transform.position, + GameObject.FindGameObjectWithTag("Player").transform.position + ) > 20) Destroy(gameObject); } } From 719ecf18aad97148015f52b7b95d7236d5f69270 Mon Sep 17 00:00:00 2001 From: ProtoSharkk Date: Sun, 27 Oct 2024 19:16:35 -0700 Subject: [PATCH 6/6] Ratbots now spawn around player instead of around (0, 0) --- Assets/Scripts C#/GameState.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Assets/Scripts C#/GameState.cs b/Assets/Scripts C#/GameState.cs index d994bdc..6f6b41e 100644 --- a/Assets/Scripts C#/GameState.cs +++ b/Assets/Scripts C#/GameState.cs @@ -52,7 +52,11 @@ public class GameState : MonoBehaviour for (uint _ = 0; _ <= wave; _++) { GameObject newRatbot = Instantiate( SpawnRatbot(), - Random.insideUnitCircle.normalized*20, + Random.insideUnitCircle.normalized*20 + + new Vector2 ( + playerPosition.x, + playerPosition.y + ), Quaternion.identity ); newRatbot.GetComponent().damageStrength