Refactor weapon acquisition system to use named constant for no weapon equipped
This commit is contained in:
@@ -7,6 +7,7 @@ namespace GameCore.Combat;
|
|||||||
|
|
||||||
public class WeaponAcquisitionSystem : ISystem
|
public class WeaponAcquisitionSystem : ISystem
|
||||||
{
|
{
|
||||||
|
private const int NoWeaponEquipped = -1;
|
||||||
private const string WeaponItemPrefix = "weapon_";
|
private const string WeaponItemPrefix = "weapon_";
|
||||||
private readonly World _world;
|
private readonly World _world;
|
||||||
|
|
||||||
@@ -30,7 +31,7 @@ public class WeaponAcquisitionSystem : ISystem
|
|||||||
if (!equipment.EquippableWeaponItemIds.Contains(e.Item.ItemId))
|
if (!equipment.EquippableWeaponItemIds.Contains(e.Item.ItemId))
|
||||||
equipment.EquippableWeaponItemIds.Add(e.Item.ItemId);
|
equipment.EquippableWeaponItemIds.Add(e.Item.ItemId);
|
||||||
|
|
||||||
if (equipment.CurrentWeaponIndex == -1)
|
if (equipment.CurrentWeaponIndex == NoWeaponEquipped)
|
||||||
{
|
{
|
||||||
equipment.CurrentWeaponIndex = equipment.EquippableWeaponItemIds.Count - 1;
|
equipment.CurrentWeaponIndex = equipment.EquippableWeaponItemIds.Count - 1;
|
||||||
_world.PublishEvent(new EquipWeaponEvent(e.Target, e.Item.ItemId));
|
_world.PublishEvent(new EquipWeaponEvent(e.Target, e.Item.ItemId));
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ namespace GameCore.Player;
|
|||||||
|
|
||||||
public class EquipmentComponent : IComponent
|
public class EquipmentComponent : IComponent
|
||||||
{
|
{
|
||||||
|
private const int NoWeaponIndex = -1;
|
||||||
public List<string> EquippableWeaponItemIds { get; set; } = [];
|
public List<string> EquippableWeaponItemIds { get; set; } = [];
|
||||||
public int CurrentWeaponIndex { get; set; } = -1; // -1 indicates no weapon equipped
|
public int CurrentWeaponIndex { get; set; } = NoWeaponIndex;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user