Files
HauntedBloodlines/Assets/Scripts/SaveLoad/InventoryData.cs
2025-05-29 22:31:40 +03:00

101 lines
3.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class InventoryData
{
public List<ObtainedItemsData> ObtainedItems = new List<ObtainedItemsData>();
public List<KeyPickupData> KeyPickupInventoryItems = new List<KeyPickupData>();
public BatteriesPickupData BatteriesPickup = new BatteriesPickupData();
public List<IndividualBatteriesPickupData> IndividualBatteriesPickup = new List<IndividualBatteriesPickupData>();
public PillsPickupData PillsPickup = new PillsPickupData();
public PocketWatchInventoryItemData pocketWatchInventoryItem = new PocketWatchInventoryItemData();
public List<IndividualPillsPickupData> IndividualPillsPickup = new List<IndividualPillsPickupData>();
public FlashlightData Flashlight = new FlashlightData();
public CandleHolderItemData CandleHolder = new CandleHolderItemData();
public List<RegularItemData> RegularItems = new List<RegularItemData>();
}
[System.Serializable]
public class FlashlightData
{
public bool flashlightIsObtained;
public float flashlightBatteryLife;
}
[System.Serializable]
public class KeyPickupData
{
[Tooltip("How the key prefab is named in the inventoryManager field to access it")]
public string KeyNameID;
public string KeyModelForKeyHole;
public string KeyModelNameInInventoryManager;
public string keyNameInInventory;
public string obtainedKeyItemName;
public bool IsReusable;
}
#region Batteries
[System.Serializable]
public class BatteriesPickupData
{
public int BatteriesCollected;
////You need to save the batteryName and then to check with getComponent from the Batter(Pickup) script if the obtainedBatteryItemID matches.
//public string obtainedBatteryItemName;
//public string obtainedBatteryItemUniqueID;
}
[System.Serializable]
public class IndividualBatteriesPickupData
{
//You need to save the batteryName and then to check with getComponent from the Batter(Pickup) script if the obtainedBatteryItemID matches.
public string obtainedBatteryItemName;
public string obtainedBatteryItemUniqueID;
}
#endregion
#region Pills
[System.Serializable]
public class PillsPickupData
{
public bool FirstEverFoundPillCollected;
public int PillsCollected;
////You need to save the PillsName and then to check with getComponent from the Pills(Pickup) script if the obtainedPillsItemID matches.
}
[System.Serializable]
public class IndividualPillsPickupData
{
//You need to save the PillsName and then to check with getComponent from the Pills(Pickup) script if the obtainePillsItemID matches.
public string obtainedPillsItemName;
public string obtainedPillsItemUniqueID;
}
#endregion
[System.Serializable]
public class RegularItemData
{
public string ItemName;
public string ItemNameInInventory;
public string ItemModelNameInInventoryManager;
public bool AddToKeysAndItemsInventory;
}
[System.Serializable]
public class PocketWatchInventoryItemData
{
public bool pocketWatchCollected;
}
[System.Serializable]
public class CandleHolderItemData
{
public bool candleHolderIsCollected;
public bool hasCandle;
public float candleLife;
}
[System.Serializable]
public class ObtainedItemsData
{
public string obtainedItemName;
}