154 lines
4.2 KiB
C#
154 lines
4.2 KiB
C#
using BitStrap;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class EquipmentCurrentObject : MonoBehaviour
|
|
{
|
|
public Image icon;
|
|
|
|
public Image defaultIcon;
|
|
|
|
public GameObject equipmentChanged;
|
|
|
|
public Button selectButton;
|
|
|
|
public Button removeButton;
|
|
|
|
public EquipmentObject.EquipmentType equipmentType = EquipmentObject.EquipmentType.COUNT;
|
|
|
|
[ReadOnly]
|
|
public EquipmentObject equipmentObject;
|
|
|
|
[HideInInspector]
|
|
public EquipmentGUI equipmentGUI;
|
|
|
|
public int baitId;
|
|
|
|
public void Awake()
|
|
{
|
|
ShowEquipmentChanged(false);
|
|
}
|
|
|
|
public void EquipObject(EquipmentObject newObject, bool onlyRefresh = false)
|
|
{
|
|
if (newObject != null && !(newObject.prefab == null))
|
|
{
|
|
equipmentObject = newObject;
|
|
defaultIcon.enabled = false;
|
|
icon.sprite = equipmentObject.icon;
|
|
if ((bool)equipmentObject.icon)
|
|
{
|
|
icon.rectTransform.sizeDelta = new Vector2(icon.rectTransform.sizeDelta.y * (equipmentObject.icon.rect.width / equipmentObject.icon.rect.height), icon.rectTransform.sizeDelta.y);
|
|
}
|
|
icon.color = new Color(icon.color.r, icon.color.g, icon.color.b, (!(equipmentObject.icon == null)) ? 1f : 0f);
|
|
selectButton.interactable = true;
|
|
removeButton.gameObject.SetActive(equipmentType == EquipmentObject.EquipmentType.FLOAT || equipmentType == EquipmentObject.EquipmentType.BAIT || equipmentType == EquipmentObject.EquipmentType.HOOK || equipmentType == EquipmentObject.EquipmentType.BOILIE || equipmentType == EquipmentObject.EquipmentType.ROD_STAND || equipmentType == EquipmentObject.EquipmentType.FEEDER);
|
|
removeButton.gameObject.SetActive(true);
|
|
if (equipmentObject.hasAmount && !onlyRefresh)
|
|
{
|
|
equipmentObject.amount--;
|
|
}
|
|
equipmentGUI.equipmentManager.EquipObject(equipmentObject, -1, (!onlyRefresh) ? (-1) : baitId);
|
|
if (equipmentType == EquipmentObject.EquipmentType.FLOAT)
|
|
{
|
|
equipmentGUI.ShowFloatParams(true);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void RemoveObjectBtn()
|
|
{
|
|
if (equipmentObject != null && (bool)equipmentObject.prefab && (equipmentType == EquipmentObject.EquipmentType.FLOAT || equipmentType == EquipmentObject.EquipmentType.FEEDER))
|
|
{
|
|
equipmentGUI.equipmentCurrentObjects[5].RemoveObject();
|
|
}
|
|
RemoveObject();
|
|
}
|
|
|
|
public void RemoveObject(bool onlyRefresh = false)
|
|
{
|
|
defaultIcon.enabled = true;
|
|
icon.sprite = null;
|
|
selectButton.interactable = false;
|
|
removeButton.gameObject.SetActive(false);
|
|
if (equipmentObject != null && equipmentObject.hasAmount && !onlyRefresh)
|
|
{
|
|
equipmentObject.amount++;
|
|
}
|
|
if (equipmentObject != null && (bool)equipmentObject.prefab && equipmentGUI.isCurrentSet && equipmentGUI.canEquipmentBeChanged)
|
|
{
|
|
equipmentGUI.equipmentManager.EquipmentChanged(equipmentType);
|
|
ShowEquipmentChanged(true);
|
|
}
|
|
equipmentGUI.equipmentManager.UnequipObject(equipmentType, -1, baitId);
|
|
equipmentGUI.RefreshInfo();
|
|
equipmentObject = null;
|
|
SetActive(false);
|
|
if (equipmentType == EquipmentObject.EquipmentType.FLOAT)
|
|
{
|
|
equipmentGUI.ShowFloatParams(false);
|
|
}
|
|
equipmentGUI.UnequipItem();
|
|
}
|
|
|
|
public void BuyObject(EquipmentObject equipmentObject)
|
|
{
|
|
equipmentGUI.equipmentManager.BuyObject(equipmentObject);
|
|
}
|
|
|
|
public void SellObject(EquipmentObject equipmentObject)
|
|
{
|
|
equipmentGUI.equipmentManager.SellObject(equipmentObject);
|
|
}
|
|
|
|
public void SelectObject()
|
|
{
|
|
equipmentGUI.DeselectedEquipment();
|
|
equipmentGUI.ChangeTab(equipmentObject);
|
|
equipmentGUI.RefreshInfo(equipmentObject);
|
|
}
|
|
|
|
public void ShowEquipmentChanged(bool show)
|
|
{
|
|
if (!GameController.Instance)
|
|
{
|
|
show = false;
|
|
}
|
|
show = false;
|
|
equipmentChanged.SetActive(show);
|
|
}
|
|
|
|
public void SetActive(bool active)
|
|
{
|
|
Color color = icon.color;
|
|
if (equipmentObject == null)
|
|
{
|
|
color.a = 0f;
|
|
}
|
|
else if (!active)
|
|
{
|
|
color.a = 0.1f;
|
|
}
|
|
else
|
|
{
|
|
color.a = 1f;
|
|
}
|
|
icon.color = color;
|
|
}
|
|
|
|
public void Refresh()
|
|
{
|
|
EquipmentObject equipmentObject = null;
|
|
equipmentObject = ((equipmentType != EquipmentObject.EquipmentType.BAIT) ? equipmentGUI.equipmentManager.GetCurrentEquipment(equipmentType) : equipmentGUI.equipmentManager.GetCurrentEquipmentBaits()[baitId]);
|
|
if (equipmentObject != null && equipmentObject.prefab != null)
|
|
{
|
|
EquipObject(equipmentObject, equipmentObject.hasAmount);
|
|
}
|
|
else
|
|
{
|
|
RemoveObject(true);
|
|
}
|
|
removeButton.interactable = equipmentGUI.canEquipmentBeChanged;
|
|
}
|
|
}
|