using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EquippableItemUI : MonoBehaviour
{
[HideInInspector] public Text Name;
[HideInInspector] public Text Description;
[HideInInspector] public Text InfoValue;
[HideInInspector] public Image Image;
[HideInInspector] public int indexContainer;
[HideInInspector] public EquippableItem ClickedEquippableItem;
[SerializeField] private Attacks Attacks;
public GameObject[] itemsArray;
public GameObject rightHandSlot;
private EquippableItem EquippedEquippableItem;
private int counter;
public GameObject unequipItemButton;
private int itemPlayerPrefsHolder;
public void PlayerPrefsCheck()
{
if (PlayerPrefs.HasKey("EquippedItem"))
{
itemPlayerPrefsHolder = PlayerPrefs.GetInt("EquippedItem");
if (itemPlayerPrefsHolder == itemsArray.Length - 1)
{
Attacks.canHandFight = true;
for (int i = 0; i < itemsArray.Length - 1; i++)
{
itemsArray[i].SetActive(false);
}
}
else if (itemPlayerPrefsHolder == 5)
{
for (int i = 0; i < itemsArray.Length - 1; i++)
{
itemsArray[i].SetActive(false);
itemsArray[itemPlayerPrefsHolder].SetActive(true);
itemsArray[itemPlayerPrefsHolder + 1].SetActive(true);
}
Attacks.canDoubleAttack = true;
Attacks.canHandFight = false;
}
else
{
for (int i = 0; i < itemsArray.Length - 1; i++)
{
itemsArray[i].SetActive(false);
itemsArray[itemPlayerPrefsHolder].SetActive(true);
}
itemsArray[itemPlayerPrefsHolder].transform.SetParent(rightHandSlot.transform);
itemsArray[itemPlayerPrefsHolder].transform.position = rightHandSlot.transform.position;
Attacks.canDoubleAttack = false;
Attacks.canHandFight = false;
}
}
else
{
PlayerPrefs.SetInt("EquippedItem", itemsArray.Length - 1);
itemPlayerPrefsHolder = PlayerPrefs.GetInt("EquippedItem");
Attacks.canHandFight = true;
for (int i = 0; i < itemsArray.Length - 1; i++)
{
itemsArray[i].SetActive(false);
}
}
}
public void ItemWasClicked(string itemName, string itemDescription, string itemInfoValue, Sprite itemArtwork, Vector3 artworkScale)
{
Name.text = itemName;
Description.text = itemDescription;
InfoValue.text = itemInfoValue;
Image.sprite = itemArtwork;
Image.transform.localScale = artworkScale;
if (ClickedEquippableItem.isTheEquippedItem == true)
{
unequipItemButton.SetActive(true);
}
else if (ClickedEquippableItem.isTheEquippedItem == false)
{
unequipItemButton.SetActive(false);
}
}
public void ExitButtonWasClicked()
{
gameObject.SetActive(false);
}
public void EquipButtonWasClicked()
{
unequipItemButton.SetActive(true);
Attacks.canHandFight = false;
counter++;
if (counter > 1)
{
EquippedEquippableItem.slotBorder.gameObject.SetActive(false);
EquippedEquippableItem.isTheEquippedItem = false;
}
EquippedEquippableItem = ClickedEquippableItem;
EquippedEquippableItem.isTheEquippedItem = true;
EquippedEquippableItem.slotBorder.gameObject.SetActive(true);
indexContainer = EquippedEquippableItem.index;
PlayerPrefs.SetInt("EquippedItem", indexContainer);
if (indexContainer == 5)
{
for (int i = 0; i < itemsArray.Length - 1; i++)
{
itemsArray[i].SetActive(false);
itemsArray[indexContainer].SetActive(true);
itemsArray[indexContainer + 1].SetActive(true);
}
Attacks.canDoubleAttack = true;
}
else
{
for (int i = 0; i < itemsArray.Length - 1; i++)
{
itemsArray[i].SetActive(false);
itemsArray[indexContainer].SetActive(true);
}
itemsArray[indexContainer].transform.SetParent(rightHandSlot.transform);
itemsArray[indexContainer].transform.position = rightHandSlot.transform.position;
Attacks.canDoubleAttack = false;
}
}
public void UnequipButtonWasClicked()
{
PlayerPrefs.SetInt("EquippedItem", 7);
Attacks.canHandFight = true;
unequipItemButton.SetActive(false);
EquippedEquippableItem.slotBorder.gameObject.SetActive(false);
EquippedEquippableItem.isTheEquippedItem = false;
if (indexContainer == 5)
{
itemsArray[indexContainer].SetActive(false);
itemsArray[indexContainer + 1].SetActive(false);
}
else
{
itemsArray[indexContainer].SetActive(false);
}
}
public void ItemsOff()
{
for (int i = 0; i < itemsArray.Length - 1; i++)
{
itemsArray[i].SetActive(false);
}
}
public void ItemsOn()
{
if (indexContainer == itemsArray.Length - 1)
{
}
else if (indexContainer == 5)
{
itemsArray[indexContainer].SetActive(true);
itemsArray[indexContainer + 1].SetActive(true);
}
else
{
for (int i = 0; i < itemsArray.Length - 1; i++)
{
itemsArray[i].SetActive(false);
itemsArray[indexContainer].SetActive(true);
}
}
}
}