126 lines
3.3 KiB
C#
126 lines
3.3 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Beyond;
|
|
using PixelCrushers;
|
|
using PixelCrushers.QuestMachine;
|
|
using UnityEngine;
|
|
|
|
public class bUnityUIQuestHUD : PixelCrushers.QuestMachine.Wrappers.UnityUIQuestHUD
|
|
{
|
|
[SerializeField] private GameObject m_hudButton;
|
|
private CanvasGroup m_canvaGroup;
|
|
private List<CutScene> m_cutScenes = new List<CutScene>();
|
|
private MenuScroll m_menuScroll;
|
|
private bool m_hided;
|
|
private UIPanel m_UIPanel;
|
|
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
|
|
m_canvaGroup = GetComponent<CanvasGroup>();
|
|
m_UIPanel = GetComponent<UIPanel>();
|
|
m_menuScroll = FindObjectOfType<MenuScroll>();
|
|
QuestMachine.defaultQuestHUD = this;
|
|
|
|
m_cutScenes = FindObjectsOfType<CutScene>(true).ToList();
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
/*
|
|
if (m_menuScroll != null)
|
|
{
|
|
m_menuScroll.OnOpened += uiPanel.Close;
|
|
m_menuScroll.OnClosed += uiPanel.Open;
|
|
m_menuScroll.OnClosed += RefreshNow;
|
|
}
|
|
|
|
m_cutScenes.ForEach(x =>
|
|
{
|
|
x.m_onStartEvent.AddListener(uiPanel.Close);
|
|
x.m_onEndEvent.AddListener(uiPanel.Open);
|
|
x.m_onEndEvent.AddListener(RefreshNow);
|
|
});
|
|
|
|
VideoCutsceneController.Instance.OnVideoStart.AddListener(uiPanel.Close);
|
|
VideoCutsceneController.Instance.OnVideoEnd.AddListener(uiPanel.Open);
|
|
VideoCutsceneController.Instance.OnVideoEnd.AddListener(RefreshNow);
|
|
*/
|
|
SaveSystem.saveDataApplied += RefreshNow;
|
|
}
|
|
private bool CanClose()
|
|
{
|
|
return m_UIPanel && (m_UIPanel.isOpen && m_UIPanel.panelState != UIPanel.PanelState.Closing && m_UIPanel.panelState != UIPanel.PanelState.Closed);
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
if (CanClose())
|
|
m_UIPanel.Close();
|
|
m_UIPanel.Open();
|
|
if (questListContainer != null)
|
|
RefreshNow();
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
if (CanClose())
|
|
m_UIPanel.Close();
|
|
}
|
|
|
|
public override void Show()
|
|
{
|
|
m_canvaGroup.alpha = 1f;
|
|
}
|
|
|
|
public override void Hide()
|
|
{
|
|
m_canvaGroup.alpha = 0f;
|
|
}
|
|
|
|
|
|
protected override bool ShouldBeVisible()
|
|
{
|
|
return base.ShouldBeVisible() && !m_hided;
|
|
}
|
|
|
|
protected override void MakeInvisible()
|
|
{
|
|
m_hided = true;
|
|
base.MakeInvisible();
|
|
}
|
|
|
|
protected override void MakeVisible()
|
|
{
|
|
m_hided = false;
|
|
base.MakeVisible();
|
|
}
|
|
|
|
|
|
private void OnDestroy()
|
|
{
|
|
/*
|
|
VideoCutsceneController.Instance.OnVideoStart.RemoveListener(uiPanel.Close);
|
|
VideoCutsceneController.Instance.OnVideoEnd.RemoveListener(uiPanel.Open);
|
|
VideoCutsceneController.Instance.OnVideoEnd.RemoveListener(RefreshNow);
|
|
|
|
m_cutScenes.ForEach(x =>
|
|
{
|
|
x.m_onStartEvent.RemoveListener(uiPanel.Close);
|
|
x.m_onEndEvent.RemoveListener(uiPanel.Open);
|
|
x.m_onEndEvent.RemoveListener(RefreshNow);
|
|
});
|
|
|
|
if (m_menuScroll != null)
|
|
{
|
|
m_menuScroll.OnOpened -= uiPanel.Close;
|
|
m_menuScroll.OnClosed -= uiPanel.Open;
|
|
m_menuScroll.OnClosed -= RefreshNow;
|
|
}
|
|
*/
|
|
SaveSystem.saveDataApplied -= RefreshNow;
|
|
}
|
|
} |