[#13] uniezależnienie modułu Movement od innych

This commit is contained in:
2026-06-29 17:46:44 +02:00
parent 89fa0b23b2
commit 07af8958e9
7 changed files with 5 additions and 35 deletions
@@ -2,9 +2,6 @@
using System.Collections;
using RPGCore.Movement.ObjectModules.UnitMovement.Events;
using RPGCore.ObjectModules.ActionObjectModule;
using RPGCore.ObjectModules.EventObjectModule;
using RPGCore.StatusEffect.ObjectModules.StatusObjectModule;
using RPGCoreCommon.Settings;
using UnityEngine;
namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
@@ -13,8 +10,6 @@ namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
{
private readonly Func<Vector3> _directionGetter;
private StatusDefinitionSO _runStatusDefinitionSO;
private StatusModule _unitStatus;
private UnitMovementModule _unitMovement;
public DirectionMoveAction(Func<Vector3> directionGetter)
@@ -25,14 +20,12 @@ namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
public override void CanDoIt()
{
Check(
unit.GetComponent<StatusModule>().IsControllable(),
unit.GetComponent<ActionModule>().isControllable,
UnitIsBusyMessage);
}
protected override void OnDoIt()
{
_runStatusDefinitionSO = SettingsManager.Get<MovementSettings>().runStatusDefinitionSO;
_unitStatus = unit.GetComponent<StatusModule>();
_unitMovement = unit.GetComponent<UnitMovementModule>();
var moveStartEvent = new MoveStartEvent{ unit = unit };
@@ -56,7 +49,7 @@ namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
protected override void OnEndIt()
{
_unitMovement.moveInput = Vector2.zero;
_unitStatus.Remove(_runStatusDefinitionSO);
_unitMovement.isSprinting = false;
unit.events.Invoke(new MoveEndEvent{ unit = unit });
}