using System;
using System.Collections.Generic;
using Logic.Audio;
using TH1_Core.Events;
using TH1_Core.Managers;
using TH1_Logic.Comic;
using TH1_UI.View.Base;
using UnityEngine;
using UnityEngine.UI;
namespace TH1_UI.View.Outside
{
///
/// 剧情选择界面View
///
public class UIOutsideStoryView : Base.View
{
[Header("按钮")]
public Button CloseButton;
public Button NextButton;
// 关闭时执行的委托
public ViDelegateAssisstant.Dele OnBtnCloseClick;
public GameObject ComicRoot;
private int prologue_index = 0;
private List prologue_comics = new List { "Prologue_1", "Prologue2", "Prologue_3", "Prologue_4", "Prologue_5" };
protected override void OnInit()
{
base.OnInit();
//_comicRoot = UIManager.Instance.ROUIManager?.transform.Find("Comic")?.gameObject;
if (CloseButton != null)
{
CloseButton.onClick.RemoveAllListeners();
CloseButton.onClick.AddListener(() => { OnBtnCloseClick?.Invoke(); });
}
NextButton.onClick.RemoveAllListeners();
NextButton.onClick.AddListener(() =>
{
ComicManager.Instance.ForceNext();
if (ComicManager.Instance.ComicControl.State == ComicState.Ended)
{
prologue_index++;
if(prologue_index >= prologue_comics.Count)
{
EventManager.Publish(new HideUIOutsideStory());
}
else
{
ComicManager.Instance.InitComic(prologue_comics[prologue_index], ComicRoot);
ComicManager.Instance.ForceNext();
}
}
});
}
public void SetContent(ShowUIOutsideStory evt)
{
prologue_index = 0;
ComicRoot.SetActive(true);
AudioManager.Instance.PlayMusic("Story",1f,1f,true);
ComicManager.Instance.InitComic(prologue_comics[prologue_index],ComicRoot);
// 启动播放(第一次Next将状态从Prepared切换到Playing)
ComicManager.Instance.ForceNext();
}
public void CloseView()
{
AudioManager.Instance.PlayMusic("Main",1f,1f,true);
ComicRoot.SetActive(false);
// 清理工作
}
}
}