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");
|
|
|
|
|
}
|
|
|
|
|
}
|