This commit is contained in:
Sewmina 2023-02-01 22:53:34 +05:30
parent 63d359793b
commit 92ac8ad88a
4 changed files with 66 additions and 9 deletions

View File

@ -135,7 +135,7 @@ GameObject:
- component: {fileID: 438337}
- component: {fileID: 438340}
- component: {fileID: 438339}
m_Layer: 0
m_Layer: 6
m_Name: Line
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -609,7 +609,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!114 &947231828
MonoBehaviour:
m_ObjectHideFlags: 0
@ -622,7 +622,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a515e7c6c1edfdd44a449609cf5191e2, type: 3}
m_Name:
m_EditorClassIdentifier:
moveSpeed: 0.01
moveSpeed: 0.03
canSeePlayer: 1
distanceThreshold: 0.2
dodgeTime: 0.5
linecastLayer:
serializedVersion: 2
m_Bits: 64
--- !u!212 &947231829
SpriteRenderer:
m_ObjectHideFlags: 0
@ -774,7 +780,7 @@ GameObject:
- component: {fileID: 1223984568}
- component: {fileID: 1223984567}
- component: {fileID: 1223984569}
m_Layer: 0
m_Layer: 6
m_Name: Square
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -1011,7 +1017,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!114 &1919562619
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1024,7 +1030,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a515e7c6c1edfdd44a449609cf5191e2, type: 3}
m_Name:
m_EditorClassIdentifier:
moveSpeed: 0.01
moveSpeed: 0.03
canSeePlayer: 1
distanceThreshold: 0.2
dodgeTime: 0.5
linecastLayer:
serializedVersion: 2
m_Bits: 64
--- !u!212 &1919562620
SpriteRenderer:
m_ObjectHideFlags: 0

View File

@ -67,7 +67,7 @@ public class Drawer : MonoBehaviour
}
for(int i= points.Count-1; i >0; i--)
{
points3.Add(points[i] + new Vector3(0,0.1f,0));
points3.Add(points[i] + new Vector3(0.05f,0.1f,0));
}
//edgeCollider2D.SetPoints(points3);
edgeCollider2D.SetPath(0, points3);

View File

@ -5,10 +5,55 @@ using UnityEngine;
public class Enemy : MonoBehaviour
{
public float moveSpeed = 0.1f;
public bool canSeePlayer = false;
public float distanceThreshold = 0.1f;
public float dodgeTime = 0.2f;
float dodgeTimer = 0;
public LayerMask linecastLayer;
private void Awake()
{
dodgeTimer = dodgeTime;
}
Color debugColor = Color.white;
void FixedUpdate()
{
if (GameManager.Player == null) { return; }
RaycastHit2D hit = Physics2D.Linecast(transform.position, GameManager.Player.position, linecastLayer);
if (hit.collider == null) {
canSeePlayer = true;
} else if (hit.collider.transform == GameManager.Player.transform)
{
canSeePlayer = true;
}
else
{
canSeePlayer = false;
float distanceToBarrier = Vector2.Distance(transform.position, hit.point);
if (distanceToBarrier < distanceThreshold)
{
dodgeTimer = 0;
}
Debug.DrawLine(transform.position, hit.point, debugColor);
}
Vector3 direction = (GameManager.Player.position - new Vector3(0,0.5f,0) - transform.position).normalized;
if (dodgeTimer < dodgeTime)
{
dodgeTimer += Time.deltaTime;
if (dodgeTimer > dodgeTime/100f)
{
debugColor = Color.red;
transform.Translate(new Vector3(-direction.x, direction.y) * moveSpeed * 1.2f);
return;
}
}
transform.Translate(direction * moveSpeed);
debugColor = Color.white;
transform.Translate((GameManager.Player.position - transform.position).normalized * moveSpeed);
}
}

View File

@ -11,7 +11,7 @@ TagManager:
-
- Water
- UI
-
- Obstacles
-
-
-