thewar_client/Client/Assets/1_Script/GameUI/StoryPlayUiCtrl.cs

88 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Reflection;
using TMPro;
using UnityEngine;
public class StoryPlayUiCtrl : SingletonMonoBehaviour<StoryPlayUiCtrl>
{
List<ScriptData> scriptDatas = new List<ScriptData>();
int index;
[SerializeField] GameObject iUnit;
[SerializeField] TMP_Text iUnitNickname;
[SerializeField] GameObject youUnit;
[SerializeField] TMP_Text youUnitNickname;
[SerializeField] TMP_Text scriptText;
protected override void OnAwake()
{
//TODO game메니저를 확인해서 데이터가 있으면 true 없으면 바로 게임종료가 되도록 수정할것
if (GameManager.Instance.chapterData != null)
{
int chapter_id = GameManager.Instance.chapterData.index;
foreach (var item in Statics.excelDatas.scriptData)
{
if (item.Value.chapter_id == chapter_id)
{
scriptDatas.Add(item.Value);
}
}
index = 0;
}
else
{
gameObject.SetActive(false);
}
}
protected override void OnStart()
{
Script();
}
public void SelectNextButton()
{
if (scriptDatas.Count -1 == index)
{
GameManager.Instance.NextScene(GameManager.eScene.Game);
}
if (scriptDatas[index].buttle)
{
PlayCtrl.Instance.isStop = false;
gameObject.SetActive (false);
return;
}
index++;
Script();
}
public void EndButtle()
{
gameObject.SetActive(true);
index++;
Script();
}
private void Script()
{
iUnit.SetActive(scriptDatas[index].position);
youUnit.SetActive(!scriptDatas[index].position);
if (scriptDatas[index].position)
{
iUnitNickname.text = Statics.intUnits[scriptDatas[index].unit_id].name;
}
else
{
youUnitNickname.text = Statics.intUnits[scriptDatas[index].unit_id].name;
}
scriptText.text = scriptDatas[index].text;
}
//TODO 천천히 텍스트가 1개씩 생성되게 만들기
}