You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
616 lines
21 KiB
616 lines
21 KiB
using IVDataFormat;
|
|
using IVServerFormat;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using Unity.VisualScripting;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class QuestMgr : MonoBehaviour
|
|
{
|
|
#region Const
|
|
private static QuestMgr curMgr = null;
|
|
#endregion
|
|
|
|
#region UI
|
|
[SerializeField]
|
|
private TextMeshProUGUI txtMainT;
|
|
private GameObject goMainBadge;
|
|
[SerializeField]
|
|
private Canvas canvasUi;
|
|
private TextMeshProUGUI txtTitle;
|
|
private TextMeshProUGUI txtDaily, txtRepeat;
|
|
private TextMeshProUGUI txtReset;
|
|
private RectTransform rtftabWrapTop;
|
|
private RectTransform rtfDailyQuest;
|
|
private RectTransform rtfRepeatQuest;
|
|
private RectTransform rtfDailyQuestLast;
|
|
private Button btnTabDaily, btnTabRepeat;
|
|
|
|
|
|
// 최상단 퀘스트
|
|
private TextMeshProUGUI txtCond;
|
|
private TextMeshProUGUI txtBtnGet;
|
|
private TextMeshProUGUI txtClearRate;
|
|
private TextMeshProUGUI txtGoodsCnt;
|
|
private TextMeshProUGUI txtBtnAllGet;
|
|
private Image imgGoodsIcon;
|
|
private Image imgCover;
|
|
private Slider sldClearRate;
|
|
private Button btnGet;
|
|
private Button btnAllget;
|
|
private RectTransform allGetBadge, dailyTopBadge, dailyBadge, repeatBadge;
|
|
|
|
[SerializeField]
|
|
private EScrController EScrDailyQuest;
|
|
[SerializeField]
|
|
private EScrController EScrRepeatQuest;
|
|
#endregion
|
|
|
|
#region Variables
|
|
private int iLoading = -1;
|
|
private int iSelectedTab = -1;
|
|
|
|
private bool bReLocalize = true;
|
|
private bool bReLocalizeDaily = true;
|
|
private bool bReLocalizeRepeat = true;
|
|
|
|
private EnhancedUI.SmallList<int>
|
|
dailyList = new EnhancedUI.SmallList<int>(),
|
|
repeatList = new EnhancedUI.SmallList<int>();
|
|
|
|
private nIdCnt SVQuestRequestCnt = new nIdCnt();
|
|
private nIdLv SVQuestRequest = new nIdLv();
|
|
private nIdCnts SVQuestRequests = new nIdCnts();
|
|
#endregion
|
|
|
|
#region Base
|
|
private void Awake()
|
|
{
|
|
curMgr = this;
|
|
}
|
|
|
|
public static void SLocalize(bool bmain)
|
|
{
|
|
if (curMgr != null)
|
|
curMgr.Localize(bmain);
|
|
}
|
|
|
|
public void Localize(bool bmain)
|
|
{
|
|
if (bmain)
|
|
{
|
|
txtMainT.text = LocalizationText.GetText("quest_title");
|
|
goMainBadge = txtMainT.transform.parent.Find("badge").gameObject;
|
|
txtTitle = canvasUi.transform.Find("txtT").GetComponent<TextMeshProUGUI>();
|
|
txtTitle.text = LocalizationText.GetText("quest_title");
|
|
}
|
|
else
|
|
{
|
|
txtTitle.text = LocalizationText.GetText("quest_title");
|
|
txtMainT.text = LocalizationText.GetText("quest_title");
|
|
rtftabWrapTop = canvasUi.transform.Find("tabWrapTop").GetComponent<RectTransform>();
|
|
btnTabDaily = rtftabWrapTop.GetChild(0).Find("tabDaily").GetComponent<Button>();
|
|
btnTabRepeat = rtftabWrapTop.GetChild(0).Find("tabRepeat").GetComponent<Button>();
|
|
txtDaily = rtftabWrapTop.GetChild(0).Find("tabDaily").Find("txt").GetComponent<TextMeshProUGUI>();
|
|
txtRepeat = rtftabWrapTop.GetChild(0).Find("tabRepeat").Find("txt").GetComponent<TextMeshProUGUI>();
|
|
rtfDailyQuest = canvasUi.transform.Find("DailyQuest").GetComponent<RectTransform>();
|
|
txtReset = rtfDailyQuest.transform.Find("txtReset").GetComponent<TextMeshProUGUI>();
|
|
rtfRepeatQuest = canvasUi.transform.Find("RepeatQuest").GetComponent<RectTransform>();
|
|
rtfDailyQuestLast = rtfDailyQuest.Find("DailyQuestLast").GetComponent<RectTransform>();
|
|
dailyBadge = btnTabDaily.transform.Find("badge").GetComponent<RectTransform>();
|
|
repeatBadge = btnTabRepeat.transform.Find("badge").GetComponent<RectTransform>();
|
|
|
|
txtCond = rtfDailyQuestLast.Find("txtCond").GetComponent<TextMeshProUGUI>();
|
|
btnGet = rtfDailyQuestLast.Find("btnGet").GetComponent<Button>();
|
|
btnAllget = canvasUi.transform.Find("btnAllGet").GetComponent<Button>();
|
|
txtBtnGet = btnGet.transform.Find("txt").GetComponent<TextMeshProUGUI>();
|
|
txtBtnAllGet = btnAllget.transform.Find("txt").GetComponent<TextMeshProUGUI>();
|
|
imgCover = btnGet.transform.Find("cover").GetComponent<Image>();
|
|
imgGoodsIcon = rtfDailyQuestLast.Find("ImgIconBack").GetChild(0).GetComponent<Image>();
|
|
txtGoodsCnt = rtfDailyQuestLast.Find("ImgIconBack").GetChild(1).GetComponent<TextMeshProUGUI>();
|
|
sldClearRate = rtfDailyQuestLast.Find("sldClearRate").GetComponent<Slider>();
|
|
txtClearRate = sldClearRate.transform.Find("txtValue").GetComponent<TextMeshProUGUI>();
|
|
|
|
txtReset.text = LocalizationText.GetText("reset_day_explain");
|
|
txtDaily.text = LocalizationText.GetText("all_daily");
|
|
txtRepeat.text = LocalizationText.GetText("all_repeat");
|
|
|
|
txtCond.text = FormatString.TextCondition(DataHandler.GetDailyQuest(1).condType, DataHandler.GetDailyQuest(1).condValue);
|
|
txtBtnGet.text = LocalizationText.GetText("all_get");
|
|
txtBtnAllGet.text = LocalizationText.GetText("all_getall");
|
|
|
|
dailyTopBadge = btnGet.transform.Find("badge").GetComponent<RectTransform>();
|
|
allGetBadge = btnAllget.transform.Find("badge").GetComponent<RectTransform>();
|
|
|
|
bReLocalize = false;
|
|
}
|
|
}
|
|
|
|
public static void SReLocalize()
|
|
{
|
|
curMgr.Localize(true);
|
|
curMgr.bReLocalize = true;
|
|
curMgr.bReLocalizeDaily = true;
|
|
curMgr.bReLocalizeRepeat = true;
|
|
}
|
|
#endregion
|
|
|
|
#region UI
|
|
public void OpenQuest()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
iLoading++;
|
|
canvasUi.enabled = true;
|
|
|
|
SoundMgr.PlaySfx(SoundName.BtnPress);
|
|
|
|
if (bReLocalize)
|
|
Localize(false);
|
|
if(iSelectedTab < 0)
|
|
{
|
|
tabDaily();
|
|
}
|
|
else
|
|
{
|
|
tabRepeat();
|
|
}
|
|
}
|
|
|
|
public void tabDaily()
|
|
{
|
|
dailyList.Clear();
|
|
|
|
rtfDailyQuest.gameObject.SetActive(true);
|
|
rtfRepeatQuest.gameObject.SetActive(false);
|
|
btnTabDaily.interactable = false;
|
|
btnTabRepeat.interactable = true;
|
|
|
|
Dictionary<int, dQuest> datas = DataHandler.GetDailyQuests();
|
|
for(int i = 1; i<datas.Count; i++)
|
|
{
|
|
dailyList.Add(i + 1);
|
|
}
|
|
iSelectedTab = 0;
|
|
EScrDailyQuest.SetType(0);
|
|
EScrDailyQuest.LoadDatas(dailyList);
|
|
refreshQuest();
|
|
|
|
SoundMgr.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
public void tabRepeat()
|
|
{
|
|
repeatList.Clear();
|
|
|
|
rtfRepeatQuest.gameObject.SetActive(true);
|
|
rtfDailyQuest.gameObject.SetActive(false);
|
|
btnTabDaily.interactable = true;
|
|
btnTabRepeat.interactable = false;
|
|
|
|
Dictionary<int, dQuest> datas = DataHandler.GetRepeatQuests();
|
|
for (int i = 0; i < datas.Count; i++)
|
|
{
|
|
repeatList.Add(i + 1);
|
|
}
|
|
iSelectedTab = 1;
|
|
EScrRepeatQuest.SetType(1);
|
|
EScrRepeatQuest.LoadDatas(repeatList);
|
|
refreshQuest();
|
|
|
|
SoundMgr.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
public static bool SCloseMenu()
|
|
{
|
|
return curMgr.CloseMenu();
|
|
}
|
|
|
|
private bool CloseMenu()
|
|
{
|
|
if (canvasUi.enabled)
|
|
{
|
|
CloseQuest();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public void CloseQuest()
|
|
{
|
|
if (!canvasUi.enabled)
|
|
return;
|
|
if (iLoading < 0)
|
|
return;
|
|
iLoading--;
|
|
iSelectedTab = -1;
|
|
canvasUi.enabled = false;
|
|
|
|
SoundMgr.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
public static void SRefreshQuest()
|
|
{
|
|
curMgr.refreshQuest();
|
|
}
|
|
|
|
public void refreshQuest()
|
|
{
|
|
if(iSelectedTab == -1)
|
|
{
|
|
return;
|
|
}
|
|
SetBadge();
|
|
if (iSelectedTab == 0)
|
|
{
|
|
SetDailyQuestAll();
|
|
EScrDailyQuest.scroller.RefreshActiveCellViews();
|
|
}
|
|
else
|
|
{
|
|
SetRepeatQuestAll();
|
|
EScrRepeatQuest.scroller.RefreshActiveCellViews();
|
|
}
|
|
}
|
|
|
|
public static bool setMainBadge()
|
|
{
|
|
if(curMgr.dailyBadge.gameObject.activeSelf)
|
|
return true;
|
|
if (curMgr.repeatBadge.gameObject.activeSelf)
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
public static void SSetBadge()
|
|
{
|
|
curMgr.SetBadge();
|
|
}
|
|
|
|
public bool SetBadge()
|
|
{
|
|
bool bflag = false;
|
|
if (SetDailyBadge())
|
|
{
|
|
bflag = true;
|
|
goMainBadge.SetActive(true);
|
|
}
|
|
if (SetRepeatBadge())
|
|
{
|
|
bflag = true;
|
|
goMainBadge.SetActive(true);
|
|
}
|
|
if(!bflag)
|
|
goMainBadge.SetActive(false);
|
|
return bflag;
|
|
|
|
}
|
|
public bool SetDailyBadge()
|
|
{
|
|
for(int i =0;i < DataHandler.GetDailyQuests().Count; i++)
|
|
{
|
|
nAchivement achive = new nAchivement(DataHandler.GetDailyQuest(i+1), eContentType.DailyQuest);
|
|
if (DataHandler.isClearAchievements(achive) >= 1 && DataHandler.GetDailyQuestPlay(i + 1).cond != 2)
|
|
{
|
|
if(dailyBadge != null)
|
|
dailyBadge.gameObject.SetActive(true);
|
|
return true;
|
|
}
|
|
}
|
|
if (dailyBadge != null)
|
|
dailyBadge.gameObject.SetActive(false);
|
|
return false;
|
|
}
|
|
public bool SetRepeatBadge()
|
|
{
|
|
for (int i = 0; i < DataHandler.GetRepeatQuests().Count; i++)
|
|
{
|
|
nAchivement achive = new nAchivement(DataHandler.GetRepeatQuest(i + 1), eContentType.RepeatQuest);
|
|
if (DataHandler.isClearAchievements(achive) >= 1)
|
|
{
|
|
if(repeatBadge != null)
|
|
repeatBadge.gameObject.SetActive(true);
|
|
return true;
|
|
}
|
|
}
|
|
if (repeatBadge != null)
|
|
repeatBadge.gameObject.SetActive(false);
|
|
return false;
|
|
}
|
|
|
|
public void SetDailyQuestAll()
|
|
{
|
|
// 일일퀘스트 최상단 퀘스트
|
|
imgGoodsIcon.sprite = AddressableMgr.GetGoodsIcon(DataHandler.GetDailyQuest(1).rewards[0].rewardId);
|
|
txtBtnGet.text = DataHandler.GetDailyQuestPlay(1).cond < 2 ? LocalizationText.GetText("all_get") : LocalizationText.GetText("all_comp");
|
|
btnGet.image.color = DataHandler.GetDailyQuestPlay(1).cond < 2 ? new Color(255f / 255f, 255f / 255f, 255f / 255f) : new Color(63f / 255f, 161f / 255f, 161f / 252f, 0f/255f);
|
|
txtGoodsCnt.text = DataHandler.GetDailyQuest(1).rewards[0].rewardCount.ToString();
|
|
nAchivement achive = new nAchivement(DataHandler.GetDailyQuest(1), eContentType.DailyQuest);
|
|
int inum;
|
|
txtClearRate.text = FormatString.TextCntPer((inum = DataHandler.GetAchievementValue(achive) >= achive.condValue ? achive.condValue : DataHandler.GetAchievementValue(achive)).ToString(), achive.condValue.ToString());
|
|
sldClearRate.value = (float)DataHandler.GetAchievementValue(achive) / achive.condValue;
|
|
btnGet.interactable = DataHandler.isClearAchievements(achive) > 0 && DataHandler.GetDailyQuestPlay(1).cond < 2 ? true : false;
|
|
dailyTopBadge.gameObject.SetActive(btnGet.interactable);
|
|
imgCover.gameObject.SetActive(DataHandler.isClearAchievements(achive) > 0 ? false : true);
|
|
txtBtnGet.color = imgCover.gameObject.activeSelf ? new Color(150f/255f, 150f / 255f, 150f / 255f) : Global.CLR_White;
|
|
bReLocalize = false;
|
|
|
|
// 하단 모두 받기 버튼
|
|
for(int i = 0; i < DataHandler.GetDailyQuests().Count; i++)
|
|
{
|
|
nAchivement _achive = new nAchivement(DataHandler.GetDailyQuest(i+1), eContentType.DailyQuest);
|
|
if (DataHandler.isClearAchievements(_achive) >= 1 && DataHandler.GetDailyQuestPlay(i + 1).cond != 2) // == true
|
|
{
|
|
btnAllget.interactable = true;
|
|
if(allGetBadge != null)
|
|
allGetBadge.gameObject.SetActive(true);
|
|
return;
|
|
}
|
|
}
|
|
btnAllget.interactable = false;
|
|
if (allGetBadge != null)
|
|
allGetBadge.gameObject.SetActive(false);
|
|
}
|
|
|
|
public void SetRepeatQuestAll()
|
|
{
|
|
for (int i = 0; i < DataHandler.GetRepeatQuests().Count; i++)
|
|
{
|
|
nAchivement _achive = new nAchivement(DataHandler.GetRepeatQuest(i + 1), eContentType.RepeatQuest);
|
|
if (DataHandler.isClearAchievements(_achive) >= 1) // == true
|
|
{
|
|
btnAllget.interactable = true;
|
|
if (allGetBadge != null)
|
|
allGetBadge.gameObject.SetActive(true);
|
|
return;
|
|
}
|
|
}
|
|
btnAllget.interactable = false;
|
|
if (allGetBadge != null)
|
|
allGetBadge.gameObject.SetActive(false);
|
|
}
|
|
|
|
public void btnTab(int idx)
|
|
{
|
|
if (idx == 0)
|
|
{
|
|
tabDaily();
|
|
}
|
|
else
|
|
tabRepeat();
|
|
|
|
SoundMgr.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
public void btnClearAll()
|
|
{
|
|
|
|
SoundMgr.PlaySfx(SoundName.BtnPress);
|
|
//daily
|
|
if (iSelectedTab == 0)
|
|
{
|
|
ClearDailyQuestAll();
|
|
}
|
|
//repeat
|
|
else
|
|
{
|
|
ClearRepeatQuestAll();
|
|
}
|
|
}
|
|
|
|
public void btnDailylast()
|
|
{
|
|
SoundMgr.PlaySfx(SoundName.BtnPress);
|
|
ClearDailyQuest(1);
|
|
}
|
|
#endregion
|
|
|
|
#region QuestClear
|
|
public static void SSClearDailyQuest(int id)
|
|
{
|
|
if (DataHandler.IsNeedDataSave)
|
|
SingleMgr.SaveDataDQuest(id);
|
|
// 서버에 저장할 필요가 없는 경우는 바로 사용 통신 진행.
|
|
else
|
|
SClearDailyQuest(id);
|
|
}
|
|
|
|
public static void SClearDailyQuest(int id)
|
|
{
|
|
curMgr.ClearDailyQuest(id);
|
|
}
|
|
|
|
public void ClearDailyQuest(int id)
|
|
{
|
|
CoverCamera.Hold();
|
|
SVQuestRequest = new nIdLv(id);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.QuestDaily), typeof(QuestDailyReturn), AQuestDailyClearSucc, AQuestDailyClearFail, SVQuestRequest, true);
|
|
}
|
|
|
|
public static void SSClearRepeatQuest(int id, int cnt)
|
|
{
|
|
if (DataHandler.IsNeedDataSave)
|
|
SingleMgr.SaveDataRQuest(id, cnt);
|
|
// 서버에 저장할 필요가 없는 경우는 바로 사용 통신 진행.
|
|
else
|
|
SClearRepeatQuest(id, cnt);
|
|
}
|
|
public static void SClearRepeatQuest(int id, int icnt)
|
|
{
|
|
curMgr.ClearRepeatQuest(id, icnt);
|
|
}
|
|
public void ClearRepeatQuest(int id, int icnt)
|
|
{
|
|
CoverCamera.Hold();
|
|
SVQuestRequestCnt = new nIdCnt(id, icnt);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.QuestRepeat), typeof(QuestRepeatReturn), AQuestRepeatClearSucc, AQuestRepeatClearFail, SVQuestRequestCnt, true);
|
|
}
|
|
|
|
public void ClearDailyQuestAll()
|
|
{
|
|
int cnt = 0;
|
|
for (int i = 0; i < DataHandler.GetDailyQuests().Count; i++)
|
|
{
|
|
nAchivement _achive = new nAchivement(DataHandler.GetDailyQuest(i + 1), eContentType.DailyQuest);
|
|
if (DataHandler.isClearAchievements(_achive) >= 1 && DataHandler.GetDailyQuestPlay(i + 1).cond != 2) // == true
|
|
cnt++;
|
|
}
|
|
|
|
CoverCamera.Hold();
|
|
int []arrIds = new int[cnt];
|
|
int idx = 0;
|
|
for (int i = 0; i < DataHandler.GetDailyQuests().Count; i++)
|
|
{
|
|
nAchivement _achive = new nAchivement(DataHandler.GetDailyQuest(i + 1), eContentType.DailyQuest);
|
|
if (DataHandler.isClearAchievements(_achive) >= 1 && DataHandler.GetDailyQuestPlay(i + 1).cond != 2) // == true
|
|
{
|
|
arrIds[idx] = DataHandler.GetDailyQuest(i + 1).id;
|
|
idx++;
|
|
}
|
|
}
|
|
SVQuestRequests = new nIdCnts(arrIds);
|
|
if(idx != 0)
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.QuestDailyAll), typeof(QuestDailyAllReturn), AQuestDailyClearAllSucc, AQuestDailyClearAllFail, SVQuestRequests, true);
|
|
|
|
}
|
|
|
|
public void ClearRepeatQuestAll()
|
|
{
|
|
int cnt = 0;
|
|
for (int i = 0; i < DataHandler.GetRepeatQuests().Count; i++)
|
|
{
|
|
nAchivement _achive = new nAchivement(DataHandler.GetRepeatQuest(i + 1), eContentType.RepeatQuest);
|
|
if (DataHandler.isClearAchievements(_achive) >= 1) // == true
|
|
cnt++;
|
|
}
|
|
|
|
CoverCamera.Hold();
|
|
int[] arrIds = new int[cnt];
|
|
int[] arrCnts = new int[cnt];
|
|
int idx = 0;
|
|
for (int i = 0; i < DataHandler.GetRepeatQuests().Count; i++)
|
|
{
|
|
nAchivement _achive = new nAchivement(DataHandler.GetRepeatQuest(i + 1), eContentType.RepeatQuest);
|
|
if (DataHandler.isClearAchievements(_achive) >= 1) // == true
|
|
{
|
|
arrIds[idx] = DataHandler.GetRepeatQuest(i + 1).id;
|
|
arrCnts[idx] = DataHandler.isClearAchievements(_achive);
|
|
idx++;
|
|
}
|
|
}
|
|
SVQuestRequests = new nIdCnts(arrIds, arrCnts);
|
|
|
|
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.QuestRepeatAll), typeof(QuestRepeatAllReturn), AQuestRepeatClearAllSucc, AQuestRepeatClearAllFail, SVQuestRequests, true);
|
|
}
|
|
#endregion
|
|
|
|
#region SV
|
|
// 일일퀘스트 클리어
|
|
private void AQuestDailyClearSucc(object result, object request)
|
|
{
|
|
QuestDailyReturn data = result as QuestDailyReturn;
|
|
if(data == null)
|
|
{
|
|
AQuestDailyClearFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
return;
|
|
}
|
|
DataHandler.SetDailyQuestPlay(data.playQuestDaily);
|
|
DataHandler.AddRecord(eCondition.DailyQuestClear);
|
|
int rewardCnt = data.playCurrency.diaFree - DataHandler.Goods.diaFree;
|
|
nGoods[] goods = new nGoods[1] { new nGoods { propertyType = cGoods.TCurrency, propertyId = cGoods.CDiaF, propertyCount = rewardCnt } };
|
|
DataHandler.SetGoods(data.playCurrency, true);
|
|
GameUIMgr.SOpenPopupGoods(goods);
|
|
SingleMgr.CheckSaveData(true);
|
|
refreshQuest();
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
private void AQuestDailyClearFail(SvError error, object request)
|
|
{
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
// 모든 일일퀘스트 클리어
|
|
private void AQuestDailyClearAllSucc(object result, object request)
|
|
{
|
|
QuestDailyAllReturn data = result as QuestDailyAllReturn;
|
|
if(data == null)
|
|
{
|
|
AQuestDailyClearAllFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
}
|
|
int rewardCnt = data.playCurrency.diaFree - DataHandler.Goods.diaFree;
|
|
int sum = 0;
|
|
for(int i = 0; i<data.playQuestDaily.Length; i++)
|
|
{
|
|
if (data.playQuestDaily[i].cond == 2)
|
|
sum++;
|
|
}
|
|
DataHandler.GetDailyRecord().clearDailyQuest = sum;
|
|
DataHandler.SetGoods(data.playCurrency, true);
|
|
DataHandler.SetDailyQuestAllPlay(data.playQuestDaily);
|
|
nGoods[] goods = new nGoods[1] { new nGoods { propertyType = cGoods.TCurrency, propertyId = cGoods.CDiaF, propertyCount = rewardCnt } };
|
|
GameUIMgr.SOpenPopupGoods(goods);
|
|
SingleMgr.CheckSaveData(true);
|
|
refreshQuest();
|
|
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
private void AQuestDailyClearAllFail(SvError error, object request)
|
|
{
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
|
|
// 반복퀘스트 클리어
|
|
private void AQuestRepeatClearSucc(object result, object request)
|
|
{
|
|
QuestRepeatReturn data = result as QuestRepeatReturn;
|
|
if (data == null)
|
|
{
|
|
AQuestRepeatClearFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
return;
|
|
}
|
|
int rewardCnt = data.playCurrency.diaFree - DataHandler.Goods.diaFree;
|
|
DataHandler.SetGoods(data.playCurrency, true);
|
|
DataHandler.SetRepeatQuestPlay(data.playQuestRepeat);
|
|
nGoods[] goods = new nGoods[1] { new nGoods { propertyType = cGoods.TCurrency, propertyId = cGoods.CDiaF, propertyCount = rewardCnt } };
|
|
GameUIMgr.SOpenPopupGoods(goods);
|
|
SingleMgr.CheckSaveData(true);
|
|
|
|
refreshQuest();
|
|
CoverCamera.Release();
|
|
}
|
|
private void AQuestRepeatClearFail(SvError error, object request)
|
|
{
|
|
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
private void AQuestRepeatClearAllSucc(object result, object request)
|
|
{
|
|
QuestRepeatAllReturn data = result as QuestRepeatAllReturn;
|
|
if(data == null)
|
|
{
|
|
AQuestRepeatClearAllFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
}
|
|
int rewardCnt = data.playCurrency.diaFree - DataHandler.Goods.diaFree;
|
|
DataHandler.SetGoods(data.playCurrency, true);
|
|
DataHandler.SetRepeatQuestAllPlay(data.playQuestRepeat);
|
|
nGoods[] goods = new nGoods[1] { new nGoods { propertyType = cGoods.TCurrency, propertyId = cGoods.CDiaF, propertyCount = rewardCnt } };
|
|
GameUIMgr.SOpenPopupGoods(goods);
|
|
SingleMgr.CheckSaveData(true);
|
|
refreshQuest();
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
private void AQuestRepeatClearAllFail(SvError error, object request)
|
|
{
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
#endregion
|
|
}
|