From b8df59ff1a9cb2ce2c83c4672b383e6daaef91cb Mon Sep 17 00:00:00 2001 From: Vova Date: Mon, 26 Jun 2023 10:58:28 +0300 Subject: [PATCH] starting work on enemy ai --- Assets/Scenes/SampleScene.unity | 22 +++++++++++----------- Assets/Scripts/Character.cs | 7 ++++++- Assets/Scripts/EnemyAI.cs | 7 +++---- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 8288582..349ae41 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -960,6 +960,16 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 1073741825 + - first: {x: 4, y: -3, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 0 + m_TileSpriteIndex: 3 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 - first: {x: 5, y: -3, z: 0} second: serializedVersion: 2 @@ -1000,16 +1010,6 @@ Tilemap: m_TileObjectToInstantiateIndex: 65535 dummyAlignment: 0 m_AllTileFlags: 1073741825 - - first: {x: 3, y: -2, z: 0} - second: - serializedVersion: 2 - m_TileIndex: 0 - m_TileSpriteIndex: 3 - m_TileMatrixIndex: 0 - m_TileColorIndex: 0 - m_TileObjectToInstantiateIndex: 65535 - dummyAlignment: 0 - m_AllTileFlags: 1073741825 - first: {x: 8, y: -2, z: 0} second: serializedVersion: 2 @@ -2246,7 +2246,7 @@ BoxCollider2D: m_AutoTiling: 0 serializedVersion: 2 m_Size: {x: 0.65, y: 1} - m_EdgeRadius: 0 + m_EdgeRadius: 0.02 --- !u!50 &747593873 Rigidbody2D: serializedVersion: 4 diff --git a/Assets/Scripts/Character.cs b/Assets/Scripts/Character.cs index 0a34e3a..6c658fd 100644 --- a/Assets/Scripts/Character.cs +++ b/Assets/Scripts/Character.cs @@ -18,13 +18,15 @@ public class Character : MonoBehaviour private bool _isFall; private bool _facingRight = true; + + protected bool isAllowVertical = true; + protected bool isAllowHorisontal = true; private void Start() { _body = GetComponent(); _boxCollider = GetComponent(); } - protected void MoveTo(float inputHorizontal,float inputVertical) { var groundCheck = Physics2D.BoxCast(_boxCollider.bounds.center, _boxCollider.bounds.size, 0f, Vector2.down, .1f, groundLayer); @@ -32,6 +34,8 @@ public class Character : MonoBehaviour float v_movement=0; if (groundCheck || _isOnLadder) { + isAllowVertical = false; + isAllowHorisontal = true; _isFall = false; float h_movement = inputHorizontal; if (h_movement > 0 && !_facingRight) @@ -47,6 +51,7 @@ public class Character : MonoBehaviour if (IsLadder(Vector2.down)) { + isAllowVertical = true; _isOnLadder = true; v_movement=inputVertical; diff --git a/Assets/Scripts/EnemyAI.cs b/Assets/Scripts/EnemyAI.cs index c759f9d..90c75e0 100644 --- a/Assets/Scripts/EnemyAI.cs +++ b/Assets/Scripts/EnemyAI.cs @@ -3,17 +3,16 @@ using static UnityEditor.Searcher.SearcherWindow.Alignment; public class EnemyAI :Character { - - private void Update() { float horizontal = 0; float vertical = 0; - if (Mathf.Abs(Player.Instance.transform.position.x - transform.position.x)>0.5f) + if (Mathf.Abs(Player.Instance.transform.position.x - transform.position.x)>0.5f && isAllowHorisontal) { horizontal = Player.Instance.transform.position.x - transform.position.x; } - else + + if (Mathf.Abs(Player.Instance.transform.position.y - transform.position.y) > 0.5f && isAllowVertical) { vertical = Player.Instance.transform.position.y - transform.position.y; }