From a3cf0c18048c19a2cfe51c4e5b95e5b1d78c1c66 Mon Sep 17 00:00:00 2001 From: Jeonghyeon Ha Date: Thu, 17 Jul 2025 15:38:50 +0900 Subject: [PATCH 1/3] =?UTF-8?q?DDD-62=20=ED=94=8C=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=96=B4=20=EB=AC=B4=EB=B8=8C=EB=A8=BC=ED=8A=B8=20=EC=BB=A8?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EB=A0=88=EC=9D=B8=20=EC=B2=B4=ED=81=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRestaurantMovementConstraint.cs | 7 +++++++ .../RestaurantCharacterAnimation.cs | 6 ++++++ .../RestaurantCharacterMovement.cs | 21 ++++++++++++++++++- .../RestaurantCharacterMovementConstraint.cs | 17 +++++++++++++++ .../RestaurantPlayerMovement.cs | 5 ++++- 5 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/IRestaurantMovementConstraint.cs create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovementConstraint.cs diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/IRestaurantMovementConstraint.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/IRestaurantMovementConstraint.cs new file mode 100644 index 000000000..462d87b94 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/IRestaurantMovementConstraint.cs @@ -0,0 +1,7 @@ +namespace DDD +{ + public interface IRestaurantMovementConstraint + { + public bool IsBlockingMovement(); + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterAnimation.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterAnimation.cs index b2dd01dc4..51ea4eeb4 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterAnimation.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterAnimation.cs @@ -38,5 +38,11 @@ private void OnDash(float dashTime) { _spineController.PlayAnimationDuration(RestaurantPlayerAnimation.Dash, false, duration:dashTime); } + + public bool IsPlayingAnimation() + { + // TODO : Implement this + return false; + } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovement.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovement.cs index 52c2b8e1e..3493afb94 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovement.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovement.cs @@ -4,6 +4,25 @@ namespace DDD { public class RestaurantCharacterMovement : MonoBehaviour { - + private RestaurantCharacterMovementConstraint _constraint; + private void Awake() + { + _constraint = gameObject.AddComponent(); + } + + public virtual bool CanMove() + { + // Get all components implements IRestaurantMovementConstraint + var constraints = GetComponents(); + // TODO : Maybe need optimize GetComponents? + foreach (var movementConstraint in constraints) + { + if (movementConstraint.IsBlockingMovement()) + { + return false; + } + } + return true; + } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovementConstraint.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovementConstraint.cs new file mode 100644 index 000000000..443d24ae1 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovementConstraint.cs @@ -0,0 +1,17 @@ +using UnityEngine; + +namespace DDD +{ + public class RestaurantCharacterMovementConstraint : MonoBehaviour, IRestaurantMovementConstraint + { + public bool IsBlockingMovement() + { + if (GetComponent().IsPlayingAnimation()) + { + return true; + } + + return false; + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerMovement.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerMovement.cs index c44b4e954..f8296bd76 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerMovement.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantPlayerMovement.cs @@ -118,7 +118,10 @@ private void HandleMovement() } } - private bool CanMove() => _playerDataSo.IsMoveEnabled && !_isDashing; + public override bool CanMove() + { + return base.CanMove() && _playerDataSo.IsMoveEnabled && !_isDashing; + } private void Move() { -- 2.45.2 From 0f0c7019c2902c48100bd4e0996e958ddfed34e6 Mon Sep 17 00:00:00 2001 From: Jeonghyeon Ha Date: Thu, 17 Jul 2025 15:39:00 +0900 Subject: [PATCH 2/3] updated metadata --- .../RestaurantCharacter/IRestaurantMovementConstraint.cs.meta | 3 +++ .../RestaurantCharacterMovementConstraint.cs.meta | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/IRestaurantMovementConstraint.cs.meta create mode 100644 Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovementConstraint.cs.meta diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/IRestaurantMovementConstraint.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/IRestaurantMovementConstraint.cs.meta new file mode 100644 index 000000000..0c6f73334 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/IRestaurantMovementConstraint.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 59144c6942834360adc33f456812201c +timeCreated: 1752733543 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovementConstraint.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovementConstraint.cs.meta new file mode 100644 index 000000000..25db4c126 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterMovementConstraint.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3af7fa0aab2d45b19f78c34b028732b3 +timeCreated: 1752733503 \ No newline at end of file -- 2.45.2 From 25ffd5e7feb91c883a560e60981b36ed5a019e53 Mon Sep 17 00:00:00 2001 From: Jeonghyeon Ha Date: Thu, 17 Jul 2025 15:53:58 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EB=88=84=EB=9D=BD=20So=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/_DDD/_ScriptAssets/So/ManagerDefinitionSo.asset | 1 + 1 file changed, 1 insertion(+) diff --git a/Assets/_DDD/_ScriptAssets/So/ManagerDefinitionSo.asset b/Assets/_DDD/_ScriptAssets/So/ManagerDefinitionSo.asset index 1786b61ce..dbf7c842c 100644 --- a/Assets/_DDD/_ScriptAssets/So/ManagerDefinitionSo.asset +++ b/Assets/_DDD/_ScriptAssets/So/ManagerDefinitionSo.asset @@ -19,3 +19,4 @@ MonoBehaviour: - {fileID: 7665229218737596710, guid: 71b177c2a18314c588da30429451666a, type: 3} - {fileID: 622422277636247943, guid: d95124918e5a4a246abb0d378b14d3fa, type: 3} - {fileID: 5136368050551183548, guid: 0aa6654feb91ef040b8b99d4f64688fc, type: 3} + - {fileID: 8500549904376788358, guid: d81cf4649bf54485a8b0da7a235f3817, type: 3} -- 2.45.2