86 lines
1.8 KiB
C#
86 lines
1.8 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using UnityEngine.Events;
|
|
|
|
public class meleeUISystem : MonoBehaviour
|
|
{
|
|
[Header ("Main Settings")]
|
|
[Space]
|
|
|
|
public bool meleeUIEnabled = true;
|
|
|
|
[Space]
|
|
[Header ("Debug")]
|
|
[Space]
|
|
|
|
public bool meleeUIActive;
|
|
public string currentMeleeWeaponName;
|
|
|
|
[Space]
|
|
[Header ("UI Components")]
|
|
[Space]
|
|
|
|
public Text meleeWeaponText;
|
|
public RawImage meleeWeaponImage;
|
|
public GameObject meleePanelGameObject;
|
|
|
|
[Space]
|
|
[Header ("Events Settings")]
|
|
[Space]
|
|
|
|
public bool useEventsOnMeleePanelStateChange;
|
|
public UnityEvent eventOnEnableMeleePanel;
|
|
public UnityEvent eventOnDisableMeleePanel;
|
|
|
|
|
|
public void setCurrentMeleeWeaponName (string newName)
|
|
{
|
|
currentMeleeWeaponName = newName;
|
|
|
|
meleeWeaponText.text = GKC_Utils.getInteractionObjectsLocalizationManagerLocalizedText (currentMeleeWeaponName);
|
|
}
|
|
|
|
public void setCurrrentMeleeWeaponIcon (Texture newIcon)
|
|
{
|
|
meleeWeaponImage.texture = newIcon;
|
|
}
|
|
|
|
public void enableOrDisableMeleeUI (bool state)
|
|
{
|
|
if (!meleeUIEnabled) {
|
|
return;
|
|
}
|
|
|
|
if (meleeUIActive == state) {
|
|
return;
|
|
}
|
|
|
|
meleeUIActive = state;
|
|
|
|
if (meleeUIActive) {
|
|
|
|
} else {
|
|
|
|
}
|
|
|
|
if (meleePanelGameObject.activeSelf != meleeUIActive) {
|
|
meleePanelGameObject.SetActive (meleeUIActive);
|
|
}
|
|
|
|
checkEventsOnMeleePanelStateChange (meleeUIActive);
|
|
}
|
|
|
|
void checkEventsOnMeleePanelStateChange (bool state)
|
|
{
|
|
if (useEventsOnMeleePanelStateChange) {
|
|
if (state) {
|
|
eventOnEnableMeleePanel.Invoke ();
|
|
} else {
|
|
eventOnDisableMeleePanel.Invoke ();
|
|
}
|
|
}
|
|
}
|
|
}
|