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); // 清理工作 } } }