79 lines
2.5 KiB
C#
79 lines
2.5 KiB
C#
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
|
||
{
|
||
/// <summary>
|
||
/// 剧情选择界面View
|
||
/// </summary>
|
||
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<string> prologue_comics = new List<string> { "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);
|
||
// 清理工作
|
||
}
|
||
}
|
||
}
|