Ratbots deal damage to the player upon contact

This commit is contained in:
2024-10-19 19:41:22 -07:00
parent 643070aefb
commit b10d75ac29
4 changed files with 18 additions and 5 deletions

View File

@@ -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<Teo>().health -= damageStrength;
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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)