Project_WL/Assets/Script/UI/Common/GuideQuestUI.cs

168 lines
6.5 KiB
C#
Raw Normal View History

2024-12-15 01:39:39 +00:00
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class GuideQuestUI : MonoBehaviour
{
public Image[] sprite; // 0 타겟, 1 타겟 서브, 2 보상
2024-12-29 00:15:03 +00:00
public TextMeshProUGUI[] labels; // 0 보상 개수, 1 할 일, 2 최대 퀘스트 개수, 3 퀘스트 카운트
2024-12-15 01:39:39 +00:00
public GameObject[] gos; // 0 보상 받을 수 있음, 1 화면 드래그
public GuideQuestComplete m_GuideQuestComplete;
public Animation m_Anim; // GuideQuestLeft GuideQuestRight
GuideQuestTableData Tdata;
List<GameObject> List_CurArrow = new List<GameObject>();
bool bOn = true;
private void Awake()
{
m_Anim.Play("GuideQuestRight");
}
public ePurpose Get_Purpose() { return Tdata != null ? Tdata.e_Purpose : ePurpose.Complete; }
public void Add_Arrow(GameObject _arrow) { List_CurArrow.Add(_arrow); }
public void Set()
{
m_GuideQuestComplete.Check();
var sdata = ServerInfo.Ins.m_ServerData;
var step = sdata.Get_Common(eCommon.GuideStep);
#if UNITY_ANDROID
labels[2].text = "38";
if (step == 38) Set_Complete();
#else
labels[2].text = "37";
if (step == 37) Set_Complete();
#endif
else
{
Tdata = table_guidequest.Ins.Get_Data(step);
if (Tdata.e_Purpose == ePurpose.Complete)
gameObject.SetActive(false);
else
{
//GuideQuestArrow.Ins.Set(Tdata.ID, sdata.Get_Common(eCommon.GuideClear) == 0);
sprite[0].sprite = UIAtlasMgr.Ins.Get_Sprite(Tdata.Target);
sprite[1].sprite = UIAtlasMgr.Ins.Get_Sprite(Tdata.TargetSub);
sprite[2].sprite = UIAtlasMgr.Ins.Get_Sprite(DSUtil.Get_ItemSpriteInfo(Tdata.e_Reward, Tdata.n_RewardID).Icon);
labels[0].text = DSUtil.GetThousandCommaText(Tdata.n_RewardAmount);
labels[1].text = Tdata.Desc;
labels[3].text = (Tdata.ID + 1).ToString();
gos[0].SetActive(sdata.Get_Common(eCommon.GuideClear) > 0);
gos[1].SetActive(Tdata.ID == 3);
// 선행됐는 지 체크
switch (Tdata.e_Purpose)
{
case ePurpose.JoystickChest:
break;
case ePurpose.AutoTarget:
case ePurpose.AutoMagic:
if (sdata.Get_Common(eCommon.Auto) == 1)
Add_GuideQuest(Tdata.e_Purpose);
break;
case ePurpose.Clear1_2:
//if (sdata.Get_Common(eCommon.MaxMapID) > 1 || sdata.Get_Common(eCommon.MaxStage) > 2 || MobInfo.Ins.Get_CurStage() > 2)
Add_GuideQuest(Tdata.e_Purpose);
break;
case ePurpose.Clear1_5:
//if (sdata.Get_Common(eCommon.MaxMapID) > 1 || sdata.Get_Common(eCommon.MaxStage) > 5 || MobInfo.Ins.Get_CurStage() > 5)
Add_GuideQuest(Tdata.e_Purpose);
break;
case ePurpose.Clear1_10:
//if (sdata.Get_Common(eCommon.MaxMapID) > 1 || sdata.Get_Common(eCommon.MaxStage) > 10 || MobInfo.Ins.Get_CurStage() > 10)
Add_GuideQuest(Tdata.e_Purpose);
break;
case ePurpose.EqiupWeapon:
if (sdata.Get_EqiupmentEquip(eItem.Weapon) != 1)
Add_GuideQuest(Tdata.e_Purpose);
break;
case ePurpose.EqiupFairy:
if (sdata.Get_EqiupmentEquip(eItem.Fairy) > 0)
Add_GuideQuest(Tdata.e_Purpose);
break;
case ePurpose.EquipPet:
break;
case ePurpose.EquipMagic:
for (int i = 1; i < 6; i++)
{
if (sdata.Get_EquipSkillID(i) > 0)
{
Add_GuideQuest(Tdata.e_Purpose);
break;
}
}
break;
case ePurpose.UsePotion:
if (sdata.Is_UsePotion())
Add_GuideQuest(Tdata.e_Purpose);
break;
case ePurpose.NickChange:
if (sdata.Get_Common(eCommon.NickChange) > 0)
Add_GuideQuest(Tdata.e_Purpose);
break;
case ePurpose.ChapterChange:
//if (sdata.Get_Common(eCommon.Chapter) > 1)
Add_GuideQuest(Tdata.e_Purpose);
break;
}
}
}
}
void Set_Complete()
{
gameObject.SetActive(false);
Tdata = null;
var sdata = ServerInfo.Ins.m_ServerData;
sdata.Set_Common(eCommon.GuideClear, 0);
sdata.Set_Common(eCommon.GuideStep, 39);
ServerInfo.Ins.GuideQuestComplete(() =>
{
m_GuideQuestComplete.Set();
GameUI.Ins.LobbyUI.Set_MailNoti(true);
});
}
public void Add_GuideQuest(ePurpose _purpose)
{
if (Tdata != null && Tdata.e_Purpose == _purpose)
{
ServerInfo.Ins.m_ServerData.Add_Common(eCommon.GuideClear);
gos[0].SetActive(true);
ToastUI.Ins.Set(161);
List_CurArrow.ForEach(f => f.SetActive(false));
List_CurArrow.Clear();
GuideQuestArrow.Ins.AllArrowOff();
if (_purpose == ePurpose.FreePackage)
ShopEventCheck.Ins.gameObject.SetActive(true);
}
}
2024-12-29 00:15:03 +00:00
public void OnClick_ImmGo()
{
}
2024-12-15 01:39:39 +00:00
public void OnClick_Reward()
{
var sdata = ServerInfo.Ins.m_ServerData;
if (sdata.Get_Common(eCommon.GuideClear) > 0)
{
sdata.Set_Common(eCommon.GuideClear, 0);
sdata.Add_Common(eCommon.GuideStep);
GetItemUI.Ins.Set(sdata.Add_Item(new ItemData(Tdata.e_Reward, Tdata.n_RewardID, Tdata.n_RewardAmount, DSUtil.Format("guide {0}", Tdata.ID), eUICardType.GetItem)));
GetItemUI.Ins.Show_Items();
Set();
}
}
public void OnClick_OnOff()
{
bOn = !bOn;
if (bOn) m_Anim.Play("GuideQuestRight");
else m_Anim.Play("GuideQuestLeft");
}
}