78 lines
2.5 KiB
C#
78 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using Random = UnityEngine.Random;
|
|
|
|
public class SelectSkillUI : MyCoroutine
|
|
{
|
|
public SelectSkillCard[] arr_SelectSkillCard;
|
|
public UILabel[] labels; // 0 주사위, 1 시간
|
|
|
|
Action m_afterSelect;
|
|
List<int> list_skillid = new List<int>();
|
|
float m_RemainTime = 10f;
|
|
|
|
void Update()
|
|
{
|
|
if (m_RemainTime > 0f)
|
|
{
|
|
m_RemainTime -= Time.deltaTime;
|
|
labels[1].text = DSUtil.Format("{0:N0}초 후 자동선택됩니다.", m_RemainTime);
|
|
if (m_RemainTime <= 0f)
|
|
SkillSelect(list_skillid[Random.Range(0, list_skillid.Count)]);
|
|
}
|
|
}
|
|
|
|
public void Set(Action _afterSelect)
|
|
{
|
|
gameObject.SetActive(true);
|
|
ActorInfo.Ins.All_Stop(true);
|
|
m_afterSelect = _afterSelect;
|
|
Set_Cards();
|
|
labels[0].text = ServerInfo.Ins.m_ServerData.Get_ItemAmount(eItem.SelectSkillShuffle).ToString();
|
|
m_RemainTime = 10f;
|
|
labels[1].text = DSUtil.Format("{0:N0}초후 스킬이 자동선택됩니다.", m_RemainTime);
|
|
|
|
//SkillSelect(list_skillid[Random.Range(0, list_skillid.Count)]); // 테스트 : 선택 스킬 아무거나 선택
|
|
|
|
if (NewGameUI.Ins.m_BangchiUI.isActiveAndEnabled)
|
|
Set_Coroutine(()=>
|
|
{
|
|
SkillSelect(list_skillid[Random.Range(0, list_skillid.Count)]);
|
|
}, 5f);
|
|
}
|
|
|
|
void Set_Cards()
|
|
{
|
|
list_skillid.Clear();
|
|
var selectskills = table_selectskill.Ins.Get_DataList(arr_SelectSkillCard.Length);
|
|
for (int i = 0; i < arr_SelectSkillCard.Length; i++)
|
|
{
|
|
arr_SelectSkillCard[i].Set(selectskills[i]);
|
|
list_skillid.Add(selectskills[i].ID);
|
|
}
|
|
}
|
|
|
|
public void SkillSelect(int _skillid)
|
|
{
|
|
gameObject.SetActive(false);
|
|
InGameInfo.Ins.Add_SelectSkill(_skillid);
|
|
m_afterSelect?.Invoke();
|
|
ActorInfo.Ins.All_Stop(false);
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
sdata.Add_MissionCount(MyValue.arr_Mission[0], 17);
|
|
sdata.Add_MissionCount(MyValue.arr_Mission[1], 15);
|
|
}
|
|
|
|
public void OnClick_Shuffle()
|
|
{
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
if (sdata.Check_ItemAmount(eItem.SelectSkillShuffle, 1))
|
|
{
|
|
m_RemainTime = 10f;
|
|
sdata.Use_Item(eItem.SelectSkillShuffle);
|
|
labels[0].text = ServerInfo.Ins.m_ServerData.Get_ItemAmount(eItem.SelectSkillShuffle).ToString();
|
|
Set_Cards();
|
|
}
|
|
}
|
|
} |