Big fix of inventory system, add accessory item type
This commit is contained in:
@@ -8,7 +8,7 @@ namespace GameJamDungeon
|
||||
{
|
||||
public readonly record struct StartGame();
|
||||
|
||||
public readonly record struct SetInventoryMode(List<InventoryItemInfo> Inventory);
|
||||
public readonly record struct SetInventoryMode(List<InventoryItem> Inventory);
|
||||
|
||||
public readonly record struct HideInventory();
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ public interface IGameRepo : IDisposable
|
||||
{
|
||||
event Action? Ended;
|
||||
|
||||
AutoProp<List<InventoryItemInfo>> InventoryItems { get; }
|
||||
AutoProp<List<InventoryItem>> InventoryItems { get; }
|
||||
|
||||
IAutoProp<bool> IsInventoryScreenOpened { get; }
|
||||
|
||||
@@ -23,13 +23,17 @@ public interface IGameRepo : IDisposable
|
||||
|
||||
void SetPlayerGlobalPosition(Vector3 playerGlobalPosition);
|
||||
|
||||
public void OnWeaponEquipped(WeaponInfo equippedItem);
|
||||
public void OnWeaponEquipped(Weapon equippedItem);
|
||||
|
||||
public void OnArmorEquipped(ArmorInfo equippedItem);
|
||||
public void OnArmorEquipped(Armor equippedItem);
|
||||
|
||||
public WeaponInfo EquippedWeapon { get; }
|
||||
public void OnAccessoryEquipped(Accessory equippedItem);
|
||||
|
||||
public ArmorInfo EquippedArmor { get; }
|
||||
public Weapon EquippedWeapon { get; }
|
||||
|
||||
public Armor EquippedArmor { get; }
|
||||
|
||||
public Accessory EquippedAccessory { get; }
|
||||
|
||||
public AutoProp<int> HPBarValue { get; }
|
||||
|
||||
@@ -40,10 +44,10 @@ public class GameRepo : IGameRepo
|
||||
{
|
||||
public event Action? Ended;
|
||||
|
||||
private readonly AutoProp<List<InventoryItemInfo>> _inventoryItems;
|
||||
private readonly AutoProp<List<InventoryItem>> _inventoryItems;
|
||||
private readonly AutoProp<bool> _isInventoryScreenOpened;
|
||||
|
||||
public AutoProp<List<InventoryItemInfo>> InventoryItems => _inventoryItems;
|
||||
public AutoProp<List<InventoryItem>> InventoryItems => _inventoryItems;
|
||||
|
||||
public IAutoProp<bool> IsInventoryScreenOpened => _isInventoryScreenOpened;
|
||||
|
||||
@@ -53,12 +57,16 @@ public class GameRepo : IGameRepo
|
||||
public IAutoProp<bool> IsPaused => _isPaused;
|
||||
private readonly AutoProp<bool> _isPaused;
|
||||
|
||||
private WeaponInfo _equippedWeapon;
|
||||
public WeaponInfo EquippedWeapon => _equippedWeapon;
|
||||
private Weapon _equippedWeapon;
|
||||
public Weapon EquippedWeapon => _equippedWeapon;
|
||||
|
||||
private ArmorInfo _equippedArmor;
|
||||
private Armor _equippedArmor;
|
||||
|
||||
public ArmorInfo EquippedArmor => _equippedArmor;
|
||||
public Armor EquippedArmor => _equippedArmor;
|
||||
|
||||
private Accessory _equippedAccessory;
|
||||
|
||||
public Accessory EquippedAccessory => _equippedAccessory;
|
||||
|
||||
public AutoProp<int> HPBarValue { get; }
|
||||
|
||||
@@ -68,11 +76,11 @@ public class GameRepo : IGameRepo
|
||||
|
||||
public GameRepo()
|
||||
{
|
||||
_inventoryItems = new AutoProp<List<InventoryItemInfo>>([]);
|
||||
_inventoryItems = new AutoProp<List<InventoryItem>>([]);
|
||||
_isInventoryScreenOpened = new AutoProp<bool>(false);
|
||||
_isPaused = new AutoProp<bool>(false);
|
||||
_playerGlobalPosition = new AutoProp<Vector3>(Vector3.Zero);
|
||||
_equippedWeapon = WeaponInfo.Default;
|
||||
_equippedWeapon = new Weapon();
|
||||
HPBarValue = new AutoProp<int>(0);
|
||||
VTBarValue = new AutoProp<int>(0);
|
||||
}
|
||||
@@ -91,16 +99,21 @@ public class GameRepo : IGameRepo
|
||||
|
||||
public void SetPlayerGlobalPosition(Vector3 playerGlobalPosition) => _playerGlobalPosition.OnNext(playerGlobalPosition);
|
||||
|
||||
public void OnWeaponEquipped(WeaponInfo equippedItem)
|
||||
public void OnWeaponEquipped(Weapon equippedItem)
|
||||
{
|
||||
_equippedWeapon = equippedItem;
|
||||
}
|
||||
|
||||
public void OnArmorEquipped(ArmorInfo equippedItem)
|
||||
public void OnArmorEquipped(Armor equippedItem)
|
||||
{
|
||||
_equippedArmor = equippedItem;
|
||||
}
|
||||
|
||||
public void OnAccessoryEquipped(Accessory equippedItem)
|
||||
{
|
||||
_equippedAccessory = equippedItem;
|
||||
}
|
||||
|
||||
public void OnGameEnded()
|
||||
{
|
||||
Pause();
|
||||
|
||||
Reference in New Issue
Block a user