RiftMayhem/Assets/Scripts/Items/InventoryData.cs
Pedro Gomes d75d51a9c4 Gameplay update
- Added multiple input modes:
   - Point and click (as before)
   - WASD + mouse aiming (fully supported) (need QoL for interactables)
   - Gamepad controls (partial support)

- Sprite indexer to avoid gamebreaking issues when serializing sprites
- Movement speed penalty on casting abilities instead of fully stopping agent
2025-01-17 20:16:02 +00:00

58 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
[System.Serializable]
public class InventoryData
{
public int[] inventoryItems;
public InventoryData()
{
inventoryItems = new int[GameConstants.Sizes.TotalInventorySlots];
for (int i = 0; i < inventoryItems.Length; i++)
{
inventoryItems[i] = -1;
}
}
public InventoryData(int[] inventoryItems)
{
this.inventoryItems = new int[GameConstants.Sizes.TotalInventorySlots];
for (int i = 0; i < inventoryItems.Length; i++)
{
this.inventoryItems[i] = inventoryItems[i];
}
}
}
[System.Serializable]
public class InventoryInstanceData
{
[SerializeReference]
public ItemInstance[] inventoryItems;
public InventoryInstanceData()
{
inventoryItems = new ItemInstance[GameConstants.Sizes.TotalInventorySlots];
for (int i = 0; i < inventoryItems.Length; i++)
{
inventoryItems[i] = null;
}
}
public InventoryInstanceData(ItemInstance[] inventoryItems)
{
this.inventoryItems = new ItemInstance[GameConstants.Sizes.TotalInventorySlots];
for (int i = 0; i < inventoryItems.Length; i++)
{
this.inventoryItems[i] = inventoryItems[i];
this.inventoryItems[i].Icon = SpriteIndexer.Instance.Sprites[this.inventoryItems[i].spriteIndex];
}
}
}