[#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
@@ -1,13 +0,0 @@
using RPGCore.StatusEffect.ObjectModules.StatusObjectModule;
using RPGCoreCommon.Settings;
using UnityEngine;
namespace RPGCore.Movement
{
[CustomSettings("RPG Core/Movement")]
public class MovementSettings : CustomSettingsSO
{
[Header("Statuses Definitions")]
public StatusDefinitionSO runStatusDefinitionSO;
}
}
@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: ed5576b120bd480796129f99e38965a5
timeCreated: 1772991814
@@ -2,9 +2,6 @@
using System.Collections; using System.Collections;
using RPGCore.Movement.ObjectModules.UnitMovement.Events; using RPGCore.Movement.ObjectModules.UnitMovement.Events;
using RPGCore.ObjectModules.ActionObjectModule; using RPGCore.ObjectModules.ActionObjectModule;
using RPGCore.ObjectModules.EventObjectModule;
using RPGCore.StatusEffect.ObjectModules.StatusObjectModule;
using RPGCoreCommon.Settings;
using UnityEngine; using UnityEngine;
namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
@@ -13,8 +10,6 @@ namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
{ {
private readonly Func<Vector3> _directionGetter; private readonly Func<Vector3> _directionGetter;
private StatusDefinitionSO _runStatusDefinitionSO;
private StatusModule _unitStatus;
private UnitMovementModule _unitMovement; private UnitMovementModule _unitMovement;
public DirectionMoveAction(Func<Vector3> directionGetter) public DirectionMoveAction(Func<Vector3> directionGetter)
@@ -25,14 +20,12 @@ namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
public override void CanDoIt() public override void CanDoIt()
{ {
Check( Check(
unit.GetComponent<StatusModule>().IsControllable(), unit.GetComponent<ActionModule>().isControllable,
UnitIsBusyMessage); UnitIsBusyMessage);
} }
protected override void OnDoIt() protected override void OnDoIt()
{ {
_runStatusDefinitionSO = SettingsManager.Get<MovementSettings>().runStatusDefinitionSO;
_unitStatus = unit.GetComponent<StatusModule>();
_unitMovement = unit.GetComponent<UnitMovementModule>(); _unitMovement = unit.GetComponent<UnitMovementModule>();
var moveStartEvent = new MoveStartEvent{ unit = unit }; var moveStartEvent = new MoveStartEvent{ unit = unit };
@@ -56,7 +49,7 @@ namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
protected override void OnEndIt() protected override void OnEndIt()
{ {
_unitMovement.moveInput = Vector2.zero; _unitMovement.moveInput = Vector2.zero;
_unitStatus.Remove(_runStatusDefinitionSO); _unitMovement.isSprinting = false;
unit.events.Invoke(new MoveEndEvent{ unit = unit }); unit.events.Invoke(new MoveEndEvent{ unit = unit });
} }
@@ -1,7 +1,5 @@
using RPGCore.Movement.ObjectModules.UnitMovement.Events; using RPGCore.Movement.ObjectModules.UnitMovement.Events;
using RPGCore.ObjectModules.ActionObjectModule; using RPGCore.ObjectModules.ActionObjectModule;
using RPGCore.ObjectModules.EventObjectModule;
using RPGCore.StatusEffect.ObjectModules.StatusObjectModule;
using RPGCoreCommon.Helpers; using RPGCoreCommon.Helpers;
namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
@@ -11,7 +9,7 @@ namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
public override void CanDoIt() public override void CanDoIt()
{ {
Check( Check(
unit.GetComponent<StatusModule>().IsControllable(), unit.GetComponent<ActionModule>().isControllable,
UnitIsBusyMessage); UnitIsBusyMessage);
Check( Check(
unit.GetComponent<UnitMovementModule>().isOnGround, unit.GetComponent<UnitMovementModule>().isOnGround,
@@ -1,8 +1,6 @@
using System.Collections; using System.Collections;
using RPGCore.Movement.ObjectModules.UnitMovement.Events; using RPGCore.Movement.ObjectModules.UnitMovement.Events;
using RPGCore.ObjectModules.ActionObjectModule; using RPGCore.ObjectModules.ActionObjectModule;
using RPGCore.ObjectModules.EventObjectModule;
using RPGCore.StatusEffect.ObjectModules.StatusObjectModule;
using UnityEngine; using UnityEngine;
using UnityEngine.AI; using UnityEngine.AI;
@@ -22,7 +20,7 @@ namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
public override void CanDoIt() public override void CanDoIt()
{ {
Check( Check(
unit.GetComponent<StatusModule>().IsControllable(), unit.GetComponent<ActionModule>().isControllable,
UnitIsBusyMessage); UnitIsBusyMessage);
} }
@@ -1,6 +1,5 @@
using System.Collections; using System.Collections;
using RPGCore.ObjectModules.ActionObjectModule; using RPGCore.ObjectModules.ActionObjectModule;
using RPGCore.StatusEffect.ObjectModules.StatusObjectModule;
using UnityEngine; using UnityEngine;
namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
@@ -50,7 +49,7 @@ namespace RPGCore.Movement.ObjectModules.UnitMovement.Actions
public override void CanDoIt() public override void CanDoIt()
{ {
Check( Check(
_isForced || unit.GetComponent<StatusModule>().IsControllable(), _isForced || unit.GetComponent<ActionModule>().isControllable,
UnitIsBusyMessage); UnitIsBusyMessage);
} }
@@ -3,10 +3,8 @@
"rootNamespace": "RPGCore.Movement", "rootNamespace": "RPGCore.Movement",
"references": [ "references": [
"RPGCore", "RPGCore",
"RPGCore.StatusEffect",
"RPGCoreCommon.Settings", "RPGCoreCommon.Settings",
"RPGCoreCommon.Helpers", "RPGCoreCommon.Helpers",
"RPGCoreCommon.DynamicValues",
"Unity.InputSystem" "Unity.InputSystem"
], ],
"includePlatforms": [], "includePlatforms": [],