61 lines
2.3 KiB
C#
61 lines
2.3 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace InfallibleCode
|
|
{
|
|
public class Pills : MonoBehaviour, IInteractable
|
|
{
|
|
bool PillsCollected;
|
|
|
|
// Unique ID for this Pill
|
|
public string uniqueID;
|
|
|
|
public void CollectMedicine() //Collects batteries.
|
|
{
|
|
if (PlayerHealthManager.GetInstance().CanCarryPills && !PillsCollected)
|
|
{
|
|
PillsCollected = true;
|
|
PlayerHealthManager.GetInstance().pillsCollected += 1;
|
|
AudioManager.GetInstance().PickUpItemSoundPlay();
|
|
|
|
//Add to ring inventory the new item if it doesn't exist.
|
|
if(InventoryManager.GetInstance().pillsOnRingInventory.activeSelf == false)
|
|
{
|
|
RingInventory.GetInstance().AddItemToKeysAndItemsInventory(InventoryManager.GetInstance().pillsOnRingInventory.transform);
|
|
print("Is reconstructing inventory");
|
|
InventoryManager.GetInstance().pillsOnRingInventory.SetActive(true);
|
|
}
|
|
|
|
InventoryManager.GetInstance().SaveTemporarilySavedPillsInventoryItemsData(gameObject.name, uniqueID);
|
|
|
|
GameSaveData loadedData = SaveSlotManager.LoadPlayerData(SaveSlotManager.GetInstance().selectedSaveSlotID/*Change later to take the ID of the currently selected Save slot*/);
|
|
if (loadedData.inventoryData.PillsPickup.FirstEverFoundPillCollected == false)
|
|
{
|
|
GameObject PillsTutorialEventTrigger = GameObject.Find("PillsTutorialEventTrigger");
|
|
PillsTutorialEventTrigger.GetComponent<EventTrigger>().Invoke();
|
|
|
|
loadedData.inventoryData.PillsPickup.FirstEverFoundPillCollected = true;
|
|
SaveSlotManager.UpdateAndSaveData(loadedData);
|
|
}
|
|
StartCoroutine(DestroyPills());
|
|
}
|
|
else //If you can't carry any more batteries because your inventory is full:
|
|
{
|
|
print("You can't carry any more medicines INVENTORY FULL!");
|
|
}
|
|
}
|
|
|
|
IEnumerator DestroyPills()
|
|
{
|
|
yield return new WaitForSeconds(0.1f);
|
|
Destroy(gameObject);
|
|
}
|
|
|
|
public void Interact()
|
|
{
|
|
CollectMedicine();
|
|
}
|
|
}
|
|
}
|