86 lines
2.6 KiB
C#
86 lines
2.6 KiB
C#
using PixelCrushers.QuestMachine;
|
|
using System.Collections;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using UnityEngine.UI;
|
|
|
|
namespace Beyond
|
|
{
|
|
public class QuestLogMenuController : MonoBehaviour
|
|
{
|
|
[SerializeField] private bUnityUIQuestJournalUI machineJournalUI;
|
|
[SerializeField] private QuestJournal questJournal;
|
|
[SerializeField] private Toggle activeToggle, succededToggle, failedToggle;
|
|
|
|
private void Awake()
|
|
{
|
|
activeToggle.onValueChanged.AddListener(
|
|
delegate
|
|
{
|
|
SetFiltering(activeToggle);
|
|
});
|
|
succededToggle.onValueChanged.AddListener(
|
|
delegate
|
|
{
|
|
SetFiltering(succededToggle);
|
|
});
|
|
failedToggle.onValueChanged.AddListener(
|
|
delegate
|
|
{
|
|
SetFiltering(failedToggle);
|
|
});
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
if (activeToggle)
|
|
{
|
|
activeToggle.onValueChanged.RemoveListener(
|
|
delegate { SetFiltering(activeToggle); });
|
|
}
|
|
|
|
if (succededToggle)
|
|
{
|
|
succededToggle.onValueChanged.RemoveListener(
|
|
delegate { SetFiltering(succededToggle); });
|
|
}
|
|
|
|
if (failedToggle)
|
|
{
|
|
failedToggle.onValueChanged.RemoveListener(
|
|
delegate { SetFiltering(failedToggle); });
|
|
}
|
|
}
|
|
|
|
public void OpenJournal()
|
|
{
|
|
StartCoroutine(OpenJournalCoroutine());
|
|
}
|
|
|
|
private IEnumerator OpenJournalCoroutine()
|
|
{
|
|
yield return new WaitUntil(() => machineJournalUI.gameObject.activeInHierarchy);
|
|
machineJournalUI.Show(questJournal);
|
|
}
|
|
|
|
public void SetFiltering(Toggle toggle)
|
|
{
|
|
if (toggle == activeToggle)
|
|
{
|
|
machineJournalUI.showActiveQuests = toggle.isOn;
|
|
}
|
|
else if (toggle == succededToggle)
|
|
{
|
|
machineJournalUI.showSuccededQuests = toggle.isOn;
|
|
}
|
|
else
|
|
{
|
|
machineJournalUI.showFailedQuests = toggle.isOn;
|
|
}
|
|
// machineJournalUI.showActiveQuests = activeToggle.isOn;
|
|
//machineJournalUI.showSuccededQuests = succededToggle.isOn;
|
|
//machineJournalUI.showFailedQuests = failedToggle.isOn;
|
|
machineJournalUI.RefreshQuestsContent();
|
|
}
|
|
}
|
|
} |