CORE dashboard + a lot of changes

This commit is contained in:
2026-06-22 20:09:15 +02:00
parent 19d6bd934a
commit 89fa0b23b2
101 changed files with 1525 additions and 177 deletions
@@ -1,3 +1,5 @@
using RPGCore.BackpackEquipment.ObjectModules.Content;
using RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Events;
using RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Objects;
using RPGCore.ObjectModules.ActionObjectModule;
@@ -16,10 +18,22 @@ namespace RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Actions
public override void CanDoIt()
{
Check(
unit.GetComponent<UnitEquipmentModule>().CanAdd(_wearable, _index),
"This unit can't equip that"
);
}
protected override void OnDoIt()
{
var takeEvent = new ActionEquipEvent { unit = unit, wearable = _wearable };
unit.events.InvokeBefore(takeEvent);
Check(!takeEvent.isPrevented, string.Format(ActionWasPreventedMessage, nameof(EquipAction)));
unit.events.InvokeAfter(takeEvent);
var content = unit.GetComponent<ContentModule>();
var equipment = unit.GetComponent<UnitEquipmentModule>();
content.TransferTo(equipment, _wearable, _index);
}
protected override void OnEndIt() { }
@@ -1,27 +1,40 @@
using RPGCore.BackpackEquipment.ObjectModules.Content;
using RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Events;
using RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Objects;
using RPGCore.ObjectModules.ActionObjectModule;
namespace RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Actions
{
public class UnEquipAction : BaseAction
{
private readonly WearableObject _wearable;
private readonly int _index;
public UnEquipAction(WearableObject wearable)
{
_wearable = wearable;
}
public override void CanDoIt()
{
throw new System.NotImplementedException();
}
protected override void OnDoIt()
{
throw new System.NotImplementedException();
var takeEvent = new ActionUnEquipEvent { unit = unit, wearable = _wearable };
unit.events.InvokeBefore(takeEvent);
Check(!takeEvent.isPrevented, string.Format(ActionWasPreventedMessage, nameof(UnEquipAction)));
unit.events.InvokeAfter(takeEvent);
unit.GetComponent<ContentModule>().TransferFrom(_wearable);
}
protected override void OnEndIt()
{
throw new System.NotImplementedException();
}
protected override void OnCancelIt()
{
throw new System.NotImplementedException();
}
}
}
@@ -0,0 +1,14 @@
using RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Objects;
using RPGCore.BackpackEquipment.Objects;
using RPGCore.Core.Objects;
using RPGCore.ObjectModules.EventObjectModule;
namespace RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Events
{
public class ActionEquipEvent : BasePreventableEvent<UnitObject>
{
public UnitObject unit;
public WearableObject wearable;
public int index;
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4de9db105bf64cd98dce43e3ec414e98
timeCreated: 1780567832
@@ -0,0 +1,14 @@
using RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Objects;
using RPGCore.BackpackEquipment.Objects;
using RPGCore.Core.Objects;
using RPGCore.ObjectModules.EventObjectModule;
namespace RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Events
{
public class ActionUnEquipEvent : BasePreventableEvent<UnitObject>
{
public UnitObject unit;
public WearableObject wearable;
public int index;
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 74199cbcfe30426aa9191ea3f9ab0f9c
timeCreated: 1780567872
@@ -5,7 +5,7 @@ using RPGCore.ObjectModules.EventObjectModule;
namespace RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Events
{
public class EquipEvent : BaseEvent<UnitObject>
public class EquipmentEquipEvent : BaseEvent<UnitObject>
{
public UnitObject unit;
public WearableObject wearable;
@@ -5,7 +5,7 @@ using RPGCore.ObjectModules.EventObjectModule;
namespace RPGCore.BackpackEquipment.ObjectModules.UnitEquipment.Events
{
public class UnEquipEvent : BaseEvent<UnitObject>
public class EquipmentUnEquipEvent : BaseEvent<UnitObject>
{
public UnitObject unit;
public WearableObject wearable;
@@ -11,9 +11,13 @@ using UnityEngine;
namespace RPGCore.BackpackEquipment.ObjectModules.UnitEquipment
{
[RequireComponent(typeof(UnitObject))]
[RequireComponent(typeof(ContentModule))]
[DisallowMultipleComponent]
[ObjectModule(
name: "[Inventory] Equipment",
description: "Requires <b>ContentModule</b> to work. Attached to <b>UnitObject</b>. " +
"Allows to define equipment schema which further allows to equip those wearable items."
)]
public class UnitEquipmentModule : ObjectModule<UnitObject>, IContentOwner
{
[SerializeField] private EquipmentSchemaSO _schema;
@@ -56,7 +60,7 @@ namespace RPGCore.BackpackEquipment.ObjectModules.UnitEquipment
{
var wearable = (WearableObject)item;
parent.events.Invoke(new EquipEvent { unit = parent, wearable = wearable, index = index });
parent.events.Invoke(new EquipmentEquipEvent { unit = parent, wearable = wearable, index = index });
_items[index] = wearable;
return true;
@@ -67,7 +71,7 @@ namespace RPGCore.BackpackEquipment.ObjectModules.UnitEquipment
var wearable = (WearableObject)item;
var index = Array.IndexOf(_items, wearable);
parent.events.Invoke(new UnEquipEvent { unit = parent, wearable = wearable, index = index });
parent.events.Invoke(new EquipmentUnEquipEvent { unit = parent, wearable = wearable, index = index });
_items[index] = null;
return true;