using System; using System.Collections; 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 list_skillid = new List(); float m_RemainTime = 10f; protected override 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(); } } }