diff --git a/Assets/Prefabs/CorridorParts/Enemy.prefab b/Assets/Prefabs/CorridorParts/Enemy.prefab index b382b65..b2ddba0 100644 --- a/Assets/Prefabs/CorridorParts/Enemy.prefab +++ b/Assets/Prefabs/CorridorParts/Enemy.prefab @@ -1,5 +1,36 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &5267565487114909786 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7535033525592749140} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7535033525592749140 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5267565487114909786} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4184610175437431037} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &6036120470499022404 GameObject: m_ObjectHideFlags: 0 @@ -10,6 +41,7 @@ GameObject: m_Component: - component: {fileID: 4184610175437431037} - component: {fileID: 7257751258790706911} + - component: {fileID: -9221525753854194669} - component: {fileID: 2977458355001038690} - component: {fileID: 7857222963333444775} m_Layer: 0 @@ -33,6 +65,8 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 5716334693996993623} + - {fileID: 8603276045789782056} + - {fileID: 7535033525592749140} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &7257751258790706911 @@ -53,6 +87,114 @@ MonoBehaviour: RendererObject: {fileID: 4908730847485413101} ExplosionPrefab: {fileID: 1620140131458704099, guid: 57e5b83dfee152a47aedf7d83c83e9f5, type: 3} + BulletTracer: {fileID: -9221525753854194669} + GunStart: {fileID: 8270452186064913122} + Head: {fileID: 5267565487114909786} +--- !u!120 &-9221525753854194669 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6036120470499022404} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 50cdbdcead3599b4bbe44be4e89ca8a1, 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 + m_Positions: + - {x: 0, y: 0, z: 0} + - {x: 0, y: 0, z: 1} + - {x: 0, y: 0, z: 1} + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.034187317 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 1 --- !u!54 &2977458355001038690 Rigidbody: m_ObjectHideFlags: 0 @@ -103,6 +245,89 @@ CapsuleCollider: m_Height: 1.5 m_Direction: 1 m_Center: {x: 0, y: 0.75, z: 0} +--- !u!1 &8270452186064913122 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8603276045789782056} + - component: {fileID: 2226222746097487326} + - component: {fileID: 2311615718499464800} + m_Layer: 0 + m_Name: BulletTracerStart + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8603276045789782056 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8270452186064913122} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.2021, y: 0.9986, z: 0.3362} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4184610175437431037} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2226222746097487326 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8270452186064913122} + m_Mesh: {fileID: -4867730633553790618, guid: 703cd189b868d4c42a8be20b38d92906, type: 3} +--- !u!23 &2311615718499464800 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8270452186064913122} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 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 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1001 &5250697314440575932 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/WorldScene.unity b/Assets/Scenes/WorldScene.unity index b12a033..5b42412 100644 --- a/Assets/Scenes/WorldScene.unity +++ b/Assets/Scenes/WorldScene.unity @@ -1022,11 +1022,26 @@ PrefabInstance: propertyPath: Player value: objectReference: {fileID: 1207293318} + - target: {fileID: 955093943477058985, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3622400547687289163, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4196511694219924786, guid: ffc439d5d7c92f14aa90c763e1cde8d2, type: 3} propertyPath: Player value: objectReference: {fileID: 1207293318} + - target: {fileID: 4868572707395745782, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4872202698225962268, guid: ffc439d5d7c92f14aa90c763e1cde8d2, type: 3} propertyPath: m_LocalPosition.x @@ -1077,11 +1092,21 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 5355413975483509338, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6206983139588420677, guid: ffc439d5d7c92f14aa90c763e1cde8d2, type: 3} propertyPath: Player value: objectReference: {fileID: 1207293318} + - target: {fileID: 7016484527804669150, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7240180351567446257, guid: ffc439d5d7c92f14aa90c763e1cde8d2, type: 3} propertyPath: Player @@ -1092,6 +1117,11 @@ PrefabInstance: propertyPath: m_Name value: Corridor-FakeB objectReference: {fileID: 0} + - target: {fileID: 8436299661722214638, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 9020267387182154433, guid: ffc439d5d7c92f14aa90c763e1cde8d2, type: 3} propertyPath: Player @@ -1140,6 +1170,11 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 1912500691838987139, guid: e29ce1fe47a855c4e907d4312c9e9d6e, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2020022267469913571, guid: e29ce1fe47a855c4e907d4312c9e9d6e, type: 3} propertyPath: m_Name @@ -1317,6 +1352,11 @@ PrefabInstance: propertyPath: Player value: objectReference: {fileID: 1207293318} + - target: {fileID: 3622400547687289163, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4196511694219924786, guid: ffc439d5d7c92f14aa90c763e1cde8d2, type: 3} propertyPath: Player @@ -1377,11 +1417,26 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 5355413975483509338, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5982579570784807018, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6206983139588420677, guid: ffc439d5d7c92f14aa90c763e1cde8d2, type: 3} propertyPath: Player value: objectReference: {fileID: 1207293318} + - target: {fileID: 7016484527804669150, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7240180351567446257, guid: ffc439d5d7c92f14aa90c763e1cde8d2, type: 3} propertyPath: Player @@ -1549,6 +1604,11 @@ PrefabInstance: propertyPath: m_StaticEditorFlags value: 0 objectReference: {fileID: 0} + - target: {fileID: 955093943477058985, guid: ffc439d5d7c92f14aa90c763e1cde8d2, + type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1171570022577841326, guid: ffc439d5d7c92f14aa90c763e1cde8d2, type: 3} propertyPath: m_StaticEditorFlags diff --git a/Assets/Scripts/EnemyController.cs b/Assets/Scripts/EnemyController.cs index 7bf85c9..6a12765 100644 --- a/Assets/Scripts/EnemyController.cs +++ b/Assets/Scripts/EnemyController.cs @@ -11,10 +11,14 @@ namespace InterfaceOff.WorldScene [SerializeField] private Rigidbody Body; [SerializeField] private GameObject RendererObject; [SerializeField] private GameObject ExplosionPrefab; + [SerializeField] private LineRenderer BulletTracer; + [SerializeField] private GameObject GunStart; + [SerializeField] private GameObject Head; private Quaternion StartRotation; private Vector3 StartPosition; + private bool StartedShooting; private bool WasAliveLastFrame; private bool Alive = true; @@ -31,6 +35,13 @@ namespace InterfaceOff.WorldScene /* Updates the death state */ WasAliveLastFrame = Alive; Alive = DeathIndex >= Player.FrameIndex; + + /* Checks if it is about to die or kill */ + if (DeathIndex == (Player.FrameIndex + 10) && !StartedShooting) + { + StartCoroutine(routine: ShootyShooty()); + StartedShooting = true; + } /* Checks if it just died */ if (!Alive && WasAliveLastFrame) @@ -50,6 +61,28 @@ namespace InterfaceOff.WorldScene RendererObject.SetActive(true); Body.Sleep(); } + + /* Check for resurrection */ + if (Alive && !WasAliveLastFrame) + { + StartedShooting = false; + } + } + + private IEnumerator ShootyShooty() + { + BulletTracer.enabled = true; + + for (int i = 0; i < 10; i++) + { + BulletTracer.SetPosition(0, Head.transform.position); + BulletTracer.SetPosition(1, Player.transform.position); + BulletTracer.SetPosition(2, GunStart.transform.position); + + yield return new WaitForFixedUpdate(); + } + + BulletTracer.enabled = false; } private IEnumerator Suicide()