106 lines
2.8 KiB
C#
106 lines
2.8 KiB
C#
using BitStrap;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class EquipmentSizeSlider : MonoBehaviour
|
|
{
|
|
public Text text;
|
|
|
|
public Slider slider;
|
|
|
|
public Button nextBtn;
|
|
|
|
public Button prevBtn;
|
|
|
|
private EquipmentManager equipmentManager;
|
|
|
|
public EquipmentGUI equipmentGUI;
|
|
|
|
[ReadOnly]
|
|
public Bait bait;
|
|
|
|
[ReadOnly]
|
|
public EquipmentObject equipmentObject;
|
|
|
|
public EquipmentParameter hookToWeightParameter;
|
|
|
|
private void Start()
|
|
{
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
}
|
|
|
|
public void Refresh()
|
|
{
|
|
if ((bool)GlobalSettings.Instance)
|
|
{
|
|
equipmentManager = GlobalSettings.Instance.equipmentManager;
|
|
}
|
|
if (equipmentObject != null && equipmentObject.sizes.Count > 0)
|
|
{
|
|
slider.maxValue = equipmentObject.sizes.Count - 1;
|
|
}
|
|
else
|
|
{
|
|
slider.maxValue = 0f;
|
|
}
|
|
slider.value = equipmentObject.sizes.BinarySearch(equipmentManager.currentSetSpecificParameters.currentHookSize);
|
|
UpdateValue();
|
|
}
|
|
|
|
public void ChangeValue(bool next)
|
|
{
|
|
if (next && slider.value < slider.maxValue)
|
|
{
|
|
slider.value += 1f;
|
|
}
|
|
else if (!next && slider.value > slider.minValue)
|
|
{
|
|
slider.value -= 1f;
|
|
}
|
|
}
|
|
|
|
public void UpdateValue()
|
|
{
|
|
if (equipmentObject != null && equipmentObject.sizes.Count > 0)
|
|
{
|
|
text.text = Utilities.GetTranslation("EQUIPMENT_PARAMETERS/SIZE") + ": " + UtilitiesUnits.GetHookSizeString((int)equipmentObject.sizes[(int)slider.value]);
|
|
equipmentGUI.UpdateEquipVisibility(equipmentManager.currentSetSpecificParameters.currentHookSize != (float)(int)equipmentObject.sizes[(int)slider.value]);
|
|
}
|
|
else
|
|
{
|
|
text.text = Utilities.GetTranslation("EQUIPMENT_PARAMETERS/SIZE");
|
|
}
|
|
bool canEquipmentBeChanged = equipmentGUI.canEquipmentBeChanged;
|
|
nextBtn.gameObject.SetActive(slider.value != slider.maxValue && canEquipmentBeChanged);
|
|
prevBtn.gameObject.SetActive(slider.value != slider.minValue && canEquipmentBeChanged);
|
|
if (GlobalSettings.Instance.playerSettings.difficulty != PlayerSettingsMy.Difficulty.SIMULATOR)
|
|
{
|
|
SetHookToWeightParameter();
|
|
}
|
|
}
|
|
|
|
public void LanguageChanged()
|
|
{
|
|
}
|
|
|
|
private void SetHookToWeightParameter()
|
|
{
|
|
Bait component = equipmentObject.prefab.GetComponent<Bait>();
|
|
if (component == null)
|
|
{
|
|
hookToWeightParameter.gameObject.SetActive(false);
|
|
return;
|
|
}
|
|
int index = (int)equipmentObject.sizes[(int)slider.value];
|
|
hookToWeightParameter.gameObject.SetActive(true);
|
|
FishManager fishManager = GlobalSettings.Instance.fishManager;
|
|
Vector2 one = Vector2.one;
|
|
one = ((component.baitType == Bait.BaitType.HOOK) ? fishManager.hookToFishWeight[index] : ((component.baitType != Bait.BaitType.FLY) ? fishManager.lureToFishWeight[index] : fishManager.flyToFishWeight[index]));
|
|
string paramValue = UtilitiesUnits.GetWeightString(one.x) + " - " + UtilitiesUnits.GetWeightString(one.y);
|
|
hookToWeightParameter.SetParameter(Utilities.GetTranslation("EQUIPMENT_PARAMETERS/HOOK_TO_WEIGHT"), paramValue);
|
|
}
|
|
}
|