Files
2025-05-29 22:31:40 +03:00

189 lines
9.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
namespace InfallibleCode
{
public class PlaceDrawing : MonoBehaviour, IInteractable
{
public int CorrectItemID;
[SerializeField] private GameObject Item;
public LocalizedString doesntMatchMessage;
void PlaceSelectedDrawing()
{
if (DrawingsInventoryManager.GetInstance()._inventoryOpen == false)
{
DrawingsInventoryManager.GetInstance().DisplayDrawingsInventory();
}
if (DrawingsInventoryManager.GetInstance()._inventoryOpen)
{
if (DrawingsInventoryManager.GetInstance().Element0Selected)
{
#region Other Implementation (No time for it now(I hate this.))
//switch (DrawingsInventoryManager.GetInstance().Cell_ItemID[0])
//{
// case 0:
// break;
// case 1:
// break;
// case 2:
// break;
// case 3:
// break;
//}
#endregion
if (DrawingsInventoryManager.GetInstance().Cell_ItemID[0] == CorrectItemID)
{
switch (CorrectItemID)
{
case 0:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().LetterIcon);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 1:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingBathroom);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 2:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingByeMom);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 3:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingReveal);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
}
}
else
{
UIManager.GetInstance().StartCoroutine(UIManager.GetInstance().DisplayMessage(doesntMatchMessage));
}
}
else if (DrawingsInventoryManager.GetInstance().Element1Selected)
{
if (DrawingsInventoryManager.GetInstance().Cell_ItemID[1] == CorrectItemID)
{
switch (CorrectItemID)
{
case 0:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().LetterIcon);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 1:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingBathroom);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 2:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingByeMom);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 3:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingReveal);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
}
}
else
{
string localizedText = LocalizationSettings.StringDatabase.GetLocalizedString("Messages", "doesntMatchMessage");
UIManager.GetInstance().StartCoroutine(UIManager.GetInstance().DisplayMessage(doesntMatchMessage));
}
}
else if (DrawingsInventoryManager.GetInstance().Element2Selected)
{
if (DrawingsInventoryManager.GetInstance().Cell_ItemID[2] == CorrectItemID)
{
switch (CorrectItemID)
{
case 0:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().LetterIcon);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 1:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingBathroom);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 2:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingByeMom);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 3:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingReveal);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
}
}
else
{
string localizedText = LocalizationSettings.StringDatabase.GetLocalizedString("Messages", "doesntMatchMessage");
UIManager.GetInstance().StartCoroutine(UIManager.GetInstance().DisplayMessage(doesntMatchMessage));
}
}
else if (DrawingsInventoryManager.GetInstance().Element3Selected)
{
if (DrawingsInventoryManager.GetInstance().Cell_ItemID[3] == CorrectItemID)
{
switch (CorrectItemID)
{
case 0:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().LetterIcon);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 1:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingBathroom);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 2:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingByeMom);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
case 3:
DrawingsInventoryManager.GetInstance().UseItem(DrawingsInventoryManager.GetInstance().DrawingReveal);
LampsSequence.GetInstance().DrawingsPlacedInWallID += 1;
Item.SetActive(true);
break;
}
}
else
{
string localizedText = LocalizationSettings.StringDatabase.GetLocalizedString("Messages", "doesntMatchMessage");
UIManager.GetInstance().StartCoroutine(UIManager.GetInstance().DisplayMessage(doesntMatchMessage));
}
}
}
}
public void Interact()
{
PlaceSelectedDrawing();
}
}
}