diff --git a/Assets/Ratbot.cs b/Assets/Ratbot.cs index 3bf7dd6..d88e48b 100644 --- a/Assets/Ratbot.cs +++ b/Assets/Ratbot.cs @@ -3,7 +3,10 @@ using UnityEngine; public class Ratbot : MonoBehaviour { public float moveSpeed; + public float damageStrength; + public float damageTimeoutSeconds; GameObject player; + float lastDamageTime; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { @@ -17,4 +20,11 @@ public class Ratbot : MonoBehaviour Vector2 direction = (player.transform.position - transform.position).normalized; controller.linearVelocity = direction*moveSpeed; } + void OnCollisionStay2D(Collision2D collision) { + // Deal damage when colliding with the player on a 0.5 second cooldown + if (collision.gameObject.tag != "Player") return; + if (lastDamageTime > Time.fixedTime-damageTimeoutSeconds) return; + lastDamageTime = Time.fixedTime; + collision.gameObject.GetComponent().health -= damageStrength; + } } diff --git a/Assets/Ratbot.prefab b/Assets/Ratbot.prefab index a0cbb0c..15f1485 100644 --- a/Assets/Ratbot.prefab +++ b/Assets/Ratbot.prefab @@ -15,7 +15,7 @@ GameObject: - component: {fileID: 3449798187735636588} m_Layer: 0 m_Name: Ratbot - m_TagString: Untagged + m_TagString: Ratbot m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -103,6 +103,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: moveSpeed: 9.3 + damageTimeoutSeconds: 0.5 --- !u!61 &8441426735084966298 BoxCollider2D: m_ObjectHideFlags: 0 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 1c92a78..01d8beb 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -2,8 +2,9 @@ %TAG !u! tag:unity3d.com,2011: --- !u!78 &1 TagManager: - serializedVersion: 2 - tags: [] + serializedVersion: 3 + tags: + - Ratbot layers: - Default - TransparentFX @@ -41,3 +42,5 @@ TagManager: - name: Default uniqueID: 0 locked: 0 + m_RenderingLayers: + - Default diff --git a/README.md b/README.md index c561da3..5e11de1 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ - [x] Player that moves - [x] Camera follows player - [x] Health -- [ ] Enemy takes health when touches +- [x] Enemy takes health when touches - [ ] Enemy health bar - [ ] Sword that points to mouse cursor - [ ] Sword swings when click @@ -40,7 +40,6 @@ - [ ] Detect when wave ends - [ ] Activate new waves after powerup has been chosen by player - ### Enemy: - [x] All Enemies have simple pathfinding towards the player - [ ] When enemy touches player - remove health (scaled with x amount of rounds)