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.
1830 lines
62 KiB
1830 lines
62 KiB
#define USE_LOCAL_LOCALIZATION
|
|
|
|
using ChatFilter;
|
|
using IVDataFormat;
|
|
using IVServerFormat;
|
|
using System;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.Audio;
|
|
using UnityEngine.UI;
|
|
|
|
public class SettingMgr : MonoBehaviour
|
|
{
|
|
#region Const
|
|
private static SettingMgr curMgr = null;
|
|
#endregion Const
|
|
|
|
#region Base
|
|
[Header("Base")]
|
|
[SerializeField]
|
|
private AudioMixer amxMaster;
|
|
private AudioMixerGroup amxgBgm;
|
|
//private AudioMixerGroup amxgEfc;
|
|
//private AudioMixerGroup amxgVoice;
|
|
#endregion Base
|
|
|
|
#region UI
|
|
[Header("UI")]
|
|
[SerializeField]
|
|
private TextMeshProUGUI txtMainT;
|
|
|
|
[SerializeField]
|
|
private Canvas canvasUI;
|
|
private ButtonIV[] btnTabs;
|
|
private GameObject groupGame, groupAccountSet, groupName, groupCoupon, groupMenu, groupAccount, groupTest;
|
|
private Slider[] sldSounds;
|
|
private ButtonIV[] btnSwitchOns, btnSwitchOffs;
|
|
private ButtonIV btnName, btnTestMod;
|
|
private TextMeshProUGUI txtName, txtId;
|
|
private TMP_InputField inputCoupon;
|
|
private TextMeshProUGUI inputCouponPlaceHolder;
|
|
|
|
private GameObject goPopupName;
|
|
private TMP_InputField inputName;
|
|
|
|
private GameObject goPopupLang;
|
|
private Toggle[] tglLangs;
|
|
|
|
private GameObject goPopupCs;
|
|
[SerializeField]
|
|
private Button btnTest;
|
|
#endregion UI
|
|
|
|
#region Variables
|
|
private int iLoading = 1;
|
|
private int iSelectedTab = -1;
|
|
|
|
private int[] iLangs = new int[] { (int)SystemLanguage.English, (int)SystemLanguage.Korean, (int)SystemLanguage.Japanese };
|
|
private SystemLanguage selectedLang = SystemLanguage.English;
|
|
#endregion Variables
|
|
|
|
#region Base
|
|
public static void SLocalize(bool bmain)
|
|
{
|
|
if (curMgr != null)
|
|
curMgr.Localize(bmain);
|
|
}
|
|
|
|
// 번역.
|
|
private void Localize(bool bmain)
|
|
{
|
|
if (bmain)
|
|
{
|
|
txtMainT.text = LocalizationText.GetText("setting_title");
|
|
}
|
|
else
|
|
{
|
|
Transform trfcanvas = canvasUI.transform;
|
|
trfcanvas.Find("txtT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_title");
|
|
btnTabs = trfcanvas.Find("tabWrapTop").GetChild(0).GetComponentsInChildren<ButtonIV>(true);
|
|
|
|
btnTabs[0].transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_game");
|
|
btnTabs[1].transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_account");
|
|
|
|
sldSounds[0].transform.parent.Find("txtT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_bgm");
|
|
sldSounds[1].transform.parent.Find("txtT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_efc");
|
|
sldSounds[2].transform.parent.Find("txtT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_voice");
|
|
|
|
btnSwitchOns[0].transform.parent.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_shake");
|
|
btnSwitchOns[1].transform.parent.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_damage");
|
|
btnSwitchOns[2].transform.parent.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_skill");
|
|
btnSwitchOns[3].transform.parent.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_lowoption");
|
|
btnSwitchOns[4].transform.parent.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_autosleep");
|
|
btnSwitchOns[5].transform.parent.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_push");
|
|
btnSwitchOns[6].transform.parent.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_pushnight");
|
|
|
|
Transform trfn = groupName.transform;
|
|
trfn.Find("txtT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setname_title");
|
|
btnName.transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setname_changebtn");
|
|
|
|
Transform trfc = groupCoupon.transform;
|
|
inputCouponPlaceHolder = trfc.Find("inputCoupon").transform.Find("Placeholder").GetComponent<TextMeshProUGUI>();
|
|
inputCouponPlaceHolder.text = LocalizationText.GetText("setting_coupondesc");
|
|
trfc.Find("btnCoupon").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_couponuse");
|
|
|
|
Transform trfm = groupMenu.transform;
|
|
trfm.Find("btnLang").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_lang");
|
|
trfm.Find("btnSave").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_save");
|
|
trfm.Find("btnCS").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_cs");
|
|
trfm.Find("btnReview").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_review");
|
|
trfm.Find("btnCommunity").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_community");
|
|
|
|
Transform trfa = groupAccount.transform;
|
|
trfa.Find("btnLogout").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("all_logout");
|
|
trfa.Find("btnDeleteServer").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_deleteserver");
|
|
trfa.Find("btnDeleteAccount").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_deleteaccount");
|
|
|
|
Transform trfname = goPopupName.transform;
|
|
trfname.Find("txtTitle").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setname_change");
|
|
trfname.Find("txtMsg").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setname_con2");
|
|
trfname.Find("inputName").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setname_con1");
|
|
trfname.Find("btnNo").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText(Global.STR_CANCEL);
|
|
trfname.Find("btnYes").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setname_changebtn");
|
|
|
|
Transform trflang = goPopupLang.transform;
|
|
trflang.Find("txtT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_lang");
|
|
trflang.Find("btnNo").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText(Global.STR_CANCEL);
|
|
trflang.Find("btnYes").GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("all_save");
|
|
tglLangs[0].transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_langen");
|
|
tglLangs[1].transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_langko");
|
|
tglLangs[2].transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_langja");
|
|
|
|
goPopupCs.transform.Find("txtT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_cs");
|
|
ButtonIV[] btncss = goPopupCs.transform.GetComponentsInChildren<ButtonIV>(true);
|
|
btncss[0].transform.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_csplay");
|
|
btncss[1].transform.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_cspurchase");
|
|
btncss[2].transform.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_cssugg");
|
|
btncss[3].transform.GetChild(0).GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("setting_csetc");
|
|
}
|
|
}
|
|
|
|
// 백버튼 처리.
|
|
public static bool SCloseMenu()
|
|
{
|
|
return curMgr.CloseMenu();
|
|
}
|
|
|
|
private bool CloseMenu()
|
|
{
|
|
// 게임 시작 후 열린적 없음.
|
|
if (iSelectedTab < 0)
|
|
return false;
|
|
|
|
// 문의 팝업.
|
|
if (goPopupCs.activeSelf)
|
|
{
|
|
CloseCs();
|
|
return true;
|
|
}
|
|
|
|
// 언어 팝업.
|
|
if (goPopupLang.activeSelf)
|
|
{
|
|
CloseLang();
|
|
return true;
|
|
}
|
|
|
|
// 닉네임 팝업.
|
|
if (goPopupName.activeSelf)
|
|
{
|
|
CloseName();
|
|
return true;
|
|
}
|
|
|
|
if (canvasUI.enabled)
|
|
{
|
|
CloseSetting();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
private void Awake()
|
|
{
|
|
curMgr = this;
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
QualitySettings.vSyncCount = 0;
|
|
amxgBgm = amxMaster.FindMatchingGroups("Bgm")[0];
|
|
//amxgEfc = amxMaster.FindMatchingGroups("Efc")[0];
|
|
//amxgVoice = amxMaster.FindMatchingGroups("Voice")[0];
|
|
|
|
SoundMgr.Instance.SetAmxGroupBgm(amxgBgm);
|
|
LoadSettingSound();
|
|
LoadSettingView();
|
|
iLoading--;
|
|
btnTest.gameObject.SetActive(TestMod);
|
|
}
|
|
|
|
private void Init()
|
|
{
|
|
Transform trfcanvas = canvasUI.transform;
|
|
groupGame = trfcanvas.Find("svGame").gameObject;
|
|
sldSounds = groupGame.transform.GetChild(0).GetChild(0).GetComponentsInChildren<Slider>(true);
|
|
ButtonIV[] btnviews = groupGame.transform.GetChild(0).GetChild(1).GetComponentsInChildren<ButtonIV>(true);
|
|
btnSwitchOns = new ButtonIV[7];
|
|
btnSwitchOffs = new ButtonIV[7];
|
|
for (int i = 0; i < btnSwitchOns.Length; i++)
|
|
{
|
|
btnSwitchOns[i] = btnviews[i * 2];
|
|
btnSwitchOffs[i] = btnviews[i * 2 + 1];
|
|
}
|
|
|
|
groupAccountSet = trfcanvas.Find("svAccount").gameObject;
|
|
groupName = groupAccountSet.transform.Find("Contents").transform.Find("groupName").gameObject;
|
|
txtName = groupName.transform.Find("txtName").GetComponent<TextMeshProUGUI>();
|
|
txtId = groupName.transform.Find("txtId").GetComponent<TextMeshProUGUI>();
|
|
btnName = groupName.transform.Find("btnName").GetComponent<ButtonIV>();
|
|
|
|
groupCoupon = groupAccountSet.transform.Find("Contents").transform.Find("groupCoupon").gameObject;
|
|
inputCoupon = groupCoupon.transform.Find("inputCoupon").GetComponent<TMP_InputField>();
|
|
groupMenu = groupAccountSet.transform.Find("Contents").transform.Find("groupMenu").gameObject;
|
|
groupAccount = groupAccountSet.transform.Find("Contents").transform.Find("groupAccount").gameObject;
|
|
//groupTest = trfcanvas.Find("groupTest").gameObject;
|
|
|
|
goPopupName = trfcanvas.Find("goPopupName").gameObject;
|
|
inputName = goPopupName.transform.Find("inputName").GetComponent<TMP_InputField>();
|
|
goPopupLang = trfcanvas.Find("goPopupLang").gameObject;
|
|
tglLangs = goPopupLang.transform.Find("wrapper").GetComponentsInChildren<Toggle>(true);
|
|
goPopupCs = trfcanvas.Find("goPopupCS").gameObject;
|
|
|
|
//tset
|
|
btnTestMod = trfcanvas.Find("btnTestMod").GetComponent<ButtonIV>();
|
|
btnTestMod.transform.GetChild(0).gameObject.SetActive(!TestMod);//btnTestMod.transform.GetChild(0).GetComponent<Image>().enabled = !TestMod;
|
|
}
|
|
#endregion Base
|
|
|
|
#region UI
|
|
public static void SMoveSetting(eEventMoveType content)
|
|
{
|
|
curMgr.OpenSetting();
|
|
switch (content)
|
|
{
|
|
case eEventMoveType.SettingSys:
|
|
curMgr.TabGame();
|
|
break;
|
|
case eEventMoveType.SettingId:
|
|
curMgr.TabAccount();
|
|
break;
|
|
}
|
|
}
|
|
|
|
// 설정창 열기.
|
|
public void OpenSetting()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
iLoading++;
|
|
|
|
canvasUI.enabled = true;
|
|
if (iSelectedTab < 0)
|
|
{
|
|
Init();
|
|
Localize(false);
|
|
SetSettingSound();
|
|
SetSettingView();
|
|
TabGame();
|
|
|
|
txtName.text = DataHandler.PlayData.playerName;
|
|
txtId.text = DataHandler.PlayData.userCode;
|
|
btnName.transform.Find("txtPrice").GetComponent<TextMeshProUGUI>().text = FormatString.TextInt(DataHandler.Const.nameChangePrice);
|
|
}
|
|
|
|
inputCoupon.text = null;
|
|
GameUIMgr.SCloseMenu();
|
|
//GameUIMgr.SSetMainUiOn(false);
|
|
btnName.interactable = DataHandler.Const.nameChangePrice <= (DataHandler.Goods.diaFree + DataHandler.Goods.diaPaid);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
iLoading--;
|
|
}
|
|
|
|
// 설정창 닫기.
|
|
public void CloseSetting()
|
|
{
|
|
if (!canvasUI.enabled)
|
|
return;
|
|
if (iLoading > 0)
|
|
return;
|
|
iLoading++;
|
|
|
|
SaveSoundSettings();
|
|
canvasUI.enabled = false;
|
|
//GameUIMgr.SSetMainUiOn(true);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
iLoading--;
|
|
}
|
|
#endregion UI
|
|
|
|
#region Tab
|
|
public void TabGame()
|
|
{
|
|
if (iSelectedTab == 0)
|
|
return;
|
|
iSelectedTab = 0;
|
|
|
|
btnTabs[0].interactable = false;
|
|
btnTabs[1].interactable = true;
|
|
groupGame.SetActive(true);
|
|
groupAccountSet.SetActive(false);
|
|
groupName.SetActive(false);
|
|
groupCoupon.SetActive(false);
|
|
groupMenu.SetActive(false);
|
|
groupAccount.SetActive(false);
|
|
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
public void TabAccount()
|
|
{
|
|
if (iSelectedTab == 1)
|
|
return;
|
|
iSelectedTab = 1;
|
|
|
|
btnTabs[0].interactable = true;
|
|
btnTabs[1].interactable = false;
|
|
groupGame.SetActive(false);
|
|
groupAccountSet.SetActive(true);
|
|
groupName.SetActive(true);
|
|
groupCoupon.SetActive(true);
|
|
groupMenu.SetActive(true);
|
|
groupAccount.SetActive(true);
|
|
btnName.interactable = DataHandler.Const.nameChangePrice <= (DataHandler.Goods.diaFree + DataHandler.Goods.diaPaid);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
#endregion Tab
|
|
|
|
#region Sound
|
|
public static void SLoadSettingSound()
|
|
{
|
|
if (curMgr != null)
|
|
curMgr.LoadSettingSound();
|
|
}
|
|
|
|
// 저장된 사운드 설정 불러오기.
|
|
private void LoadSettingSound()
|
|
{
|
|
float fvalue = ES3.Load(Global.ES3_BgmVol, 0.75f);
|
|
amxMaster.SetFloat(Global.ES3_BgmVol, Mathf.Log10(fvalue) * 20f);
|
|
SoundMgr.Instance.BgmOn = fvalue > 0.0001f;
|
|
|
|
fvalue = ES3.Load(Global.ES3_EfcVol, 0.75f);
|
|
amxMaster.SetFloat(Global.ES3_EfcVol, Mathf.Log10(fvalue) * 20f);
|
|
SoundMgr.Instance.EfcOn = fvalue > 0.0001f;
|
|
|
|
fvalue = ES3.Load(Global.ES3_VoiceVol, 0.75f);
|
|
amxMaster.SetFloat(Global.ES3_VoiceVol, Mathf.Log10(fvalue) * 20f);
|
|
SoundMgr.Instance.VoiceOn = fvalue > 0.0001f;
|
|
}
|
|
|
|
// 사운드 설정 세팅.
|
|
private void SetSettingSound()
|
|
{
|
|
sldSounds[0].value = ES3.Load(Global.ES3_BgmVol, 0.75f);
|
|
sldSounds[1].value = ES3.Load(Global.ES3_EfcVol, 0.75f);
|
|
sldSounds[2].value = ES3.Load(Global.ES3_VoiceVol, 0.75f);
|
|
}
|
|
|
|
// 배경음 볼륨 세팅.
|
|
public void OnVolBgmChange()
|
|
{
|
|
amxMaster.SetFloat(Global.ES3_BgmVol, Mathf.Log10(sldSounds[0].value) * 20f);
|
|
if (!SoundMgr.Instance.BgmOn || sldSounds[0].value > 0.0001f)
|
|
SoundMgr.Instance.BgmOn = sldSounds[0].value > 0.0001f;
|
|
}
|
|
|
|
// 효과음 볼륨 세팅.
|
|
public void OnVolEfcChange()
|
|
{
|
|
amxMaster.SetFloat(Global.ES3_EfcVol, Mathf.Log10(sldSounds[1].value) * 20f);
|
|
SoundMgr.Instance.EfcOn = sldSounds[1].value > 0.0001f;
|
|
}
|
|
|
|
// 보이스 볼륨 세팅.
|
|
public void OnVolVoiceChange()
|
|
{
|
|
amxMaster.SetFloat(Global.ES3_VoiceVol, Mathf.Log10(sldSounds[2].value) * 20f);
|
|
SoundMgr.Instance.VoiceOn = sldSounds[2].value > 0.0001f;
|
|
}
|
|
|
|
// 사운드 설정 저장.
|
|
private void SaveSoundSettings()
|
|
{
|
|
SoundMgr.Instance.BgmOn = sldSounds[0].value > 0.0001f;
|
|
|
|
ES3.Save(Global.ES3_BgmVol, sldSounds[0].value);
|
|
ES3.Save(Global.ES3_EfcVol, sldSounds[1].value);
|
|
ES3.Save(Global.ES3_VoiceVol, sldSounds[2].value);
|
|
}
|
|
#endregion Sound
|
|
|
|
#region View
|
|
private void LoadSettingView()
|
|
{
|
|
IVCameraController.SSetShake(ES3.Load(Global.ES3_Shake, true));
|
|
BattleMgr.SSetOnDamageText(ES3.Load(Global.ES3_DamageText, true));
|
|
BattleMgr.SSetOnSkillEffect(ES3.Load(Global.ES3_SkillEffect, true));
|
|
BattleMgr.SSetOnSkillEffect(ES3.Load(Global.ES3_LowOption, false));
|
|
SleepModeMgr.SSetAutoSleep(ES3.Load(Global.ES3_AutoSleep, true));
|
|
NotifyMgr.SetNotifiON(ES3.Load(Global.ES3_Notify, false));
|
|
NotifyMgr.SetnightNotifiON(ES3.Load(Global.ES3_NightNotify, false));
|
|
|
|
// test
|
|
TestMod = ES3.Load(Global.ES3_TestMod, false);
|
|
}
|
|
|
|
private void SetSettingView()
|
|
{
|
|
bool bvalue = ES3.Load(Global.ES3_Shake, true);
|
|
btnSwitchOns[0].interactable = !bvalue;
|
|
btnSwitchOffs[0].interactable = bvalue;
|
|
|
|
bvalue = ES3.Load(Global.ES3_DamageText, true);
|
|
btnSwitchOns[1].interactable = !bvalue;
|
|
btnSwitchOffs[1].interactable = bvalue;
|
|
|
|
bvalue = ES3.Load(Global.ES3_SkillEffect, true);
|
|
btnSwitchOns[2].interactable = !bvalue;
|
|
btnSwitchOffs[2].interactable = bvalue;
|
|
|
|
bvalue = ES3.Load(Global.ES3_LowOption, false);
|
|
btnSwitchOns[3].interactable = !bvalue;
|
|
btnSwitchOffs[3].interactable = bvalue;
|
|
|
|
bvalue = ES3.Load(Global.ES3_AutoSleep, true);
|
|
btnSwitchOns[4].interactable = !bvalue;
|
|
btnSwitchOffs[4].interactable = bvalue;
|
|
|
|
bvalue = ES3.Load(Global.ES3_Notify, true);
|
|
btnSwitchOns[5].interactable = !bvalue;
|
|
btnSwitchOffs[5].interactable = bvalue;
|
|
|
|
bvalue = ES3.Load(Global.ES3_NightNotify, true);
|
|
btnSwitchOns[6].interactable = !bvalue;
|
|
btnSwitchOffs[6].interactable = bvalue;
|
|
}
|
|
|
|
public void SwitchShakeOn()
|
|
{
|
|
SwitchShake(true);
|
|
}
|
|
|
|
public void SwitchShakeOff()
|
|
{
|
|
SwitchShake(false);
|
|
}
|
|
|
|
// 카메라 흔들림.
|
|
private void SwitchShake(bool bvalue)
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
|
|
btnSwitchOns[0].interactable = !bvalue;
|
|
btnSwitchOffs[0].interactable = bvalue;
|
|
IVCameraController.SSetShake(bvalue);
|
|
ES3.Save(Global.ES3_Shake, bvalue);
|
|
}
|
|
|
|
public void SwitchDamageOn()
|
|
{
|
|
SwitchDamage(true);
|
|
}
|
|
|
|
public void SwitchDamageOff()
|
|
{
|
|
SwitchDamage(false);
|
|
}
|
|
|
|
// 데미지 표시.
|
|
private void SwitchDamage(bool bvalue)
|
|
{
|
|
btnSwitchOns[1].interactable = !bvalue;
|
|
btnSwitchOffs[1].interactable = bvalue;
|
|
BattleMgr.SSetOnDamageText(bvalue);
|
|
ES3.Save(Global.ES3_DamageText, bvalue);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
public void SwitchSkillOn()
|
|
{
|
|
SwitchSkill(true);
|
|
}
|
|
|
|
public void SwitchSkillOff()
|
|
{
|
|
SwitchSkill(false);
|
|
}
|
|
|
|
// 스킬 이펙트 표시.
|
|
private void SwitchSkill(bool bvalue)
|
|
{
|
|
btnSwitchOns[2].interactable = !bvalue;
|
|
btnSwitchOffs[2].interactable = bvalue;
|
|
BattleMgr.SSetOnSkillEffect(bvalue);
|
|
ES3.Save(Global.ES3_SkillEffect, bvalue);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
public void SwitchLowOptionOn()
|
|
{
|
|
SwitchLowOption(true);
|
|
}
|
|
|
|
public void SwitchLowOptionOff()
|
|
{
|
|
SwitchLowOption(false);
|
|
}
|
|
|
|
// 저사양 모드.
|
|
private void SwitchLowOption(bool bvalue)
|
|
{
|
|
btnSwitchOns[3].interactable = !bvalue;
|
|
btnSwitchOffs[3].interactable = bvalue;
|
|
if (bvalue)
|
|
Application.targetFrameRate = 30;
|
|
else
|
|
Application.targetFrameRate = 60;
|
|
ES3.Save(Global.ES3_LowOption, bvalue);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
// 자동 절전 모드
|
|
private void SwitchAutoSleep(bool bvalue)
|
|
{
|
|
btnSwitchOns[4].interactable = !bvalue;
|
|
btnSwitchOffs[4].interactable = bvalue;
|
|
SleepModeMgr.SSetAutoSleep(bvalue);
|
|
|
|
ES3.Save(Global.ES3_AutoSleep, bvalue);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
public void SwitchAutoSleepOn()
|
|
{
|
|
SwitchAutoSleep(true);
|
|
}
|
|
public void SwitchAutoSleepOff()
|
|
{
|
|
SwitchAutoSleep(false);
|
|
}
|
|
|
|
private void SwitchNotify(bool bvalue)
|
|
{
|
|
btnSwitchOns[5].interactable = !bvalue;
|
|
btnSwitchOffs[5].interactable = bvalue;
|
|
|
|
NotifyMgr.SetNotifiON(bvalue);
|
|
|
|
ES3.Save(Global.ES3_Notify, bvalue);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
public void SwitchNotifyOn()
|
|
{
|
|
SwitchNotify(true);
|
|
}
|
|
public void SwitchNotifyOff()
|
|
{
|
|
SwitchNotify(false);
|
|
}
|
|
|
|
public static void StartSwitchNotify(bool bvalue)
|
|
{
|
|
NotifyMgr.SetNotifiON(bvalue);
|
|
|
|
ES3.Save(Global.ES3_Notify, bvalue);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
private void SwitchNightNotify(bool bvalue)
|
|
{
|
|
btnSwitchOns[6].interactable = !bvalue;
|
|
btnSwitchOffs[6].interactable = bvalue;
|
|
|
|
NotifyMgr.SetnightNotifiON(bvalue);
|
|
|
|
ES3.Save(Global.ES3_NightNotify, bvalue);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
public void SwitchNightNotifyOn()
|
|
{
|
|
SwitchNightNotify(true);
|
|
}
|
|
public void SwitchNightNotifyOff()
|
|
{
|
|
SwitchNightNotify(false);
|
|
}
|
|
|
|
public static void StartSwitchNightNotify(bool bvalue)
|
|
{
|
|
NotifyMgr.SetnightNotifiON(bvalue);
|
|
|
|
ES3.Save(Global.ES3_NightNotify, bvalue);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
#endregion View
|
|
|
|
#region Name
|
|
// 닉네임 변경 팝업 열기.
|
|
public void OpenName()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
inputName.text = DataHandler.PlayData.playerName;
|
|
goPopupName.SetActive(true);
|
|
//inputName.isSelected = true;
|
|
//inputName.selectionStart = 0;
|
|
//inputName.selectionEnd = DataHandler.PlayData.playerName.Length;
|
|
}
|
|
|
|
// 닉네임 변경 팝업 닫기.
|
|
public void CloseName()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
goPopupName.SetActive(false);
|
|
}
|
|
|
|
// 닉네임 변경.
|
|
public void BtnNameChange()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
|
|
// 공백 제거.
|
|
inputName.text = inputName.text.Trim().Replace(" ", "").Replace(" ", "");
|
|
// 특수문자 사용되지 않도록.
|
|
inputName.text = BanWordFilter.FilterSpChar(inputName.text);
|
|
|
|
// 빈 이름.
|
|
if (string.IsNullOrEmpty(inputName.text))
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("setname_con1"));
|
|
return;
|
|
}
|
|
|
|
// 언어 검사.
|
|
if (!SIsAvailName(inputName.text))
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("setname_wrong"));
|
|
return;
|
|
}
|
|
|
|
// 금칙어 포함.
|
|
if (BanWordFilter.ContainBanWord(inputName.text))
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("setname_wrong"));
|
|
return;
|
|
}
|
|
|
|
// 길이 검사.
|
|
int ilen = inputName.text.Length;
|
|
if (ilen < DataHandler.Const.nameMin)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("setname_short"));
|
|
return;
|
|
}
|
|
if (ilen > DataHandler.Const.nameMax)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("setname_long"));
|
|
return;
|
|
}
|
|
|
|
// 현재 이름과 동일함.
|
|
string strcurname = DataHandler.PlayData.playerName;
|
|
if (strcurname.Equals(inputName.text))
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("error_applied"));
|
|
return;
|
|
}
|
|
|
|
// 보석 부족.
|
|
if (DataHandler.Goods.Dia < DataHandler.Const.nameChangePrice/* && DataHandler.GetTotalRecord().renameCnt >= DataHandler.Const.nameChangeFree*/)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText(Global.STR_NoGoods));
|
|
return;
|
|
}
|
|
|
|
// 네트워크 상태.
|
|
if (Application.internetReachability == NetworkReachability.NotReachable)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText(Global.STR_CheckNetwork));
|
|
return;
|
|
}
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
|
|
iLoading++;
|
|
CoverCamera.Hold();
|
|
nIdStr data = new nIdStr(inputName.text);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.NameChange), typeof(nNameChangeReturn), ANameChangeSucc, ANameChangeFail, data, true);
|
|
}
|
|
|
|
// 사용 가능한 이름인지.
|
|
public static bool SIsAvailName(string strname)
|
|
{
|
|
foreach (char c in strname)
|
|
{
|
|
// 영문 대문자.
|
|
if (c >= 'A' && c <= 'Z')
|
|
continue;
|
|
// 영문 소문자.
|
|
if (c >= 'a' && c <= 'z')
|
|
continue;
|
|
// 숫자.
|
|
if (c >= '0' && c <= '9')
|
|
continue;
|
|
// 러시아.
|
|
if (c >= 0x0410 && c <= 0x044F)
|
|
continue;
|
|
// 독일, 스페인.
|
|
if (c >= 0x00C4 && c <= 0x00F1)
|
|
continue;
|
|
// 한글.
|
|
if (c >= 0xAC00 && c <= 0xD7A3)
|
|
continue;
|
|
// 일본어.
|
|
if (c >= 0x3040 && c <= 0x30FF)
|
|
continue;
|
|
// 일본어2.
|
|
if (c >= 0x31F0 && c <= 0x31FF)
|
|
continue;
|
|
// 한중일 통합 한자 확장A.
|
|
if (c >= 0x3400 && c <= 0x4DBF)
|
|
continue;
|
|
// 한중일 통합 한자.
|
|
if (c >= 0x4E00 && c <= 0x9FBF)
|
|
continue;
|
|
// 한중일 호환용 한자.
|
|
if (c >= 0xF900 && c <= 0xFAFF)
|
|
continue;
|
|
// 한중일 통합 한자 확장 B.
|
|
if (c >= 0x20000 && c <= 0x2A6DF)
|
|
continue;
|
|
// 한중일 통합 한자 확장 C.
|
|
if (c >= 0x2A700 && c <= 0x2B73F)
|
|
continue;
|
|
// 한중일 통합 한자 확장 D.
|
|
if (c >= 0x2B740 && c <= 0x2B81F)
|
|
continue;
|
|
// 한중일 호환용 한자 보충.
|
|
if (c >= 0x2F800 && c <= 0x2FA1F)
|
|
continue;
|
|
//// 그리스.
|
|
//if (c >= 0x0391 && c <= 0x03C9)
|
|
// continue;
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// 이름 변경 실패시 처리.
|
|
private void ANameChangeFail(SvError error, object request)
|
|
{
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
|
|
// 이름 변경 성공시 처리.
|
|
private void ANameChangeSucc(object result, object request)
|
|
{
|
|
nNameChangeReturn data = result as nNameChangeReturn;
|
|
if (data == null || data.playCurrency == null)
|
|
{
|
|
ANameChangeFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
return;
|
|
}
|
|
|
|
DataHandler.SetGoods(data.playCurrency, false);
|
|
DataHandler.PlayData.playerName = data.playUser.playerName;
|
|
txtName.text = DataHandler.PlayData.playerName;
|
|
GameUIMgr.SOpenToast(LocalizationText.GetText("msg_changenick"));
|
|
|
|
CloseName();
|
|
btnName.interactable = DataHandler.Const.nameChangePrice <= (DataHandler.Goods.diaFree + DataHandler.Goods.diaPaid);
|
|
|
|
GameUIMgr.SSetPlayerName();
|
|
ChatMgr.SUpdateNickname();
|
|
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
#endregion Name
|
|
|
|
#region Coupon
|
|
// 쿠폰 사용.
|
|
public void BtnCouponUse()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
|
|
// 공백 제거.
|
|
inputCoupon.text = inputCoupon.text.Trim().Replace(" ", "").Replace(" ", "");
|
|
// 특수문자 사용되지 않도록.
|
|
inputCoupon.text = BanWordFilter.FilterSpChar(inputCoupon.text);
|
|
|
|
// 빈 문자.
|
|
if (string.IsNullOrEmpty(inputCoupon.text))
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("setting_coupondesc"));
|
|
return;
|
|
}
|
|
|
|
if (Application.internetReachability == NetworkReachability.NotReachable)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText(Global.STR_CheckNetwork));
|
|
return;
|
|
}
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
iLoading++;
|
|
CoverCamera.Hold();
|
|
nCoupon data = new nCoupon(inputCoupon.text);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Coupon), typeof(nGoodsGet), ACouponSucc, ACouponFail, data, true);
|
|
}
|
|
|
|
// 쿠폰 통신 실패시 처리.
|
|
private void ACouponFail(SvError error, object request)
|
|
{
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
|
|
// 쿠폰 통신 성공시 처리.
|
|
private void ACouponSucc(object result, object request)
|
|
{
|
|
nGoodsGet data = result as nGoodsGet;
|
|
if (data == null || data.playCurrency == null || data.result == null)
|
|
{
|
|
ACouponFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
return;
|
|
}
|
|
|
|
DataHandler.AddGoods(data.result, data.playCurrency, true);
|
|
GameUIMgr.SOpenPopupGoods(data.result);
|
|
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
#endregion Coupon
|
|
|
|
#region Menu
|
|
// 서버 저장.
|
|
public void BtnSave()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
iLoading++;
|
|
CoverCamera.Hold();
|
|
SingleMgr.SaveDataSetting();
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
// 서버 저장 실패.
|
|
public static void SSaveFail()
|
|
{
|
|
CoverCamera.Release();
|
|
curMgr.iLoading--;
|
|
}
|
|
|
|
// 서버 저장 성공.
|
|
public static void SSaveSucc()
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText(Global.STR_Saved));
|
|
CoverCamera.Release();
|
|
curMgr.iLoading--;
|
|
}
|
|
|
|
// 리뷰 작성.
|
|
public void BtnReview()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
CoverCamera.Hold();
|
|
Invoke("RemoveCover", 2f);
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
Application.OpenURL(LocalizationText.GetText(Global.MURL_Review));
|
|
}
|
|
|
|
// 커뮤니티.
|
|
public void BtnCommunity()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
CoverCamera.Hold();
|
|
Invoke("RemoveCover", 2f);
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
Application.OpenURL(LocalizationText.GetText(Global.MURL_Community));
|
|
}
|
|
|
|
public void OpenTerm()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
CoverCamera.Hold();
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
Invoke("RemoveCover", 2f);
|
|
Application.OpenURL(LocalizationText.GetText(Global.MURL_ShopTerms));
|
|
}
|
|
|
|
private void RemoveCover()
|
|
{
|
|
CoverCamera.Release();
|
|
}
|
|
#endregion Menu
|
|
|
|
#region Language
|
|
// 언어 팝업 열기.
|
|
public void OpenLang()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
goPopupLang.SetActive(true);
|
|
SetCurLang();
|
|
}
|
|
|
|
// 언어 팝업 닫기.
|
|
public void CloseLang()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
goPopupLang.SetActive(false);
|
|
}
|
|
|
|
// 현재 언어 세팅.
|
|
private void SetCurLang()
|
|
{
|
|
selectedLang = SingleMgr.GetSavedLanguage();
|
|
switch (selectedLang)
|
|
{
|
|
case SystemLanguage.Korean:
|
|
tglLangs[1].SetIsOnWithoutNotify(true);
|
|
break;
|
|
case SystemLanguage.Japanese:
|
|
tglLangs[2].SetIsOnWithoutNotify(true);
|
|
break;
|
|
default:
|
|
tglLangs[0].SetIsOnWithoutNotify(true);
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void BtnLangEn()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
OnBtnLang(SystemLanguage.English);
|
|
}
|
|
|
|
public void BtnLangKo()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
OnBtnLang(SystemLanguage.Korean);
|
|
}
|
|
|
|
public void BtnLangJa()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
OnBtnLang(SystemLanguage.Japanese);
|
|
}
|
|
|
|
// 언어 선택.
|
|
private void OnBtnLang(SystemLanguage lang)
|
|
{
|
|
if (lang == selectedLang) return;
|
|
selectedLang = lang;
|
|
}
|
|
|
|
// 선택한 언어 적용.
|
|
public void BtnLangApply()
|
|
{
|
|
if (selectedLang == SingleMgr.GetSavedLanguage())
|
|
{
|
|
return;
|
|
}
|
|
CoverCamera.Hold();
|
|
|
|
ES3.Save(Global.ES3_Language, (int)selectedLang);
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
|
|
#if !USE_LOCAL_LOCALIZATION
|
|
SvConnectManager.Instance.RequestSvString(true, 2, UrlApi.GetAssetUrl(UrlApi.AsLocalize), ALocalizeSucc, ALocalizeFail);
|
|
#else
|
|
LocalizationText.SetLanguage(selectedLang);
|
|
LocalizationText.CreateContent();
|
|
ApplyLang();
|
|
#endif
|
|
}
|
|
|
|
#if !USE_LOCAL_LOCALIZATION
|
|
// 통신 실패 - 로컬라이즈.
|
|
private void ALocalizeFail(SvError error)
|
|
{
|
|
Debug.LogError("LocalizationText load fail.");
|
|
ApplyLang();
|
|
}
|
|
|
|
// 통신 성공 - 로컬라이즈.
|
|
private void ALocalizeSucc(string strresult)
|
|
{
|
|
if (string.IsNullOrEmpty(strresult))
|
|
{
|
|
ALocalizeFail(new SvError(eErrorCode.NULL_OR_EMPTY));
|
|
return;
|
|
}
|
|
|
|
LocalizationText.SetLanguage(selectedLang);
|
|
LocalizationText.CreateContent(strresult);
|
|
|
|
ApplyLang();
|
|
OnLanguageChange?.Invoke();
|
|
}
|
|
#endif
|
|
|
|
// 인게임 언어 적용.
|
|
private void ApplyLang()
|
|
{
|
|
Localize(true);
|
|
Localize(false);
|
|
BattleMgr.SLocalize();
|
|
GameUIMgr.SReLocalize();
|
|
GameUIMgr.SSetPlayerTitle(DataHandler.PlayData.playerTitle);
|
|
|
|
AttendMgr.SReLocalize();
|
|
BagMgr.SReLocalize();
|
|
TreasureMgr.SReLocalize();
|
|
CustomizeMgr.SReLocalize();
|
|
DungeonMgr.SReLocalize();
|
|
EnhanceMgr.SReLocalize();
|
|
EventMgr.SReLocalize();
|
|
GachaMgr.SReLocalize();
|
|
PetMgr.SReLocalize();
|
|
SkillMgr.SReLocalize();
|
|
StageMgr.SReLocalize();
|
|
|
|
AdBuffMgr.SReLocalize();
|
|
ChatMgr.SReLocalize();
|
|
NoticeMgr.SReLocalize();
|
|
MailMgr.SReLocalize();
|
|
ShopMgr.SReLocalize();
|
|
PassMgr.SReLocalize();
|
|
ProfileMgr.SReLocalize();
|
|
GoodsInfo.SReLocalize();
|
|
QuestMgr.SReLocalize();
|
|
PvpMgr.SReLocalize();
|
|
SleepModeMgr.SReLocalize();
|
|
MissionMgr.SReLocalize();
|
|
|
|
CoverCamera.Release();
|
|
goPopupLang.SetActive(false);
|
|
}
|
|
#endregion Language
|
|
|
|
#region CS
|
|
public void OpenCs()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
goPopupCs.SetActive(true);
|
|
}
|
|
|
|
public void CloseCs()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
goPopupCs.SetActive(false);
|
|
}
|
|
|
|
// 게임 플레이.
|
|
public void BtnCsPlay()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
// 결제.
|
|
public void BtnCsPurchase()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
// 의견.
|
|
public void BtnCsSugg()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
// 기타.
|
|
public void BtnCsEtc()
|
|
{
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
#endregion CS
|
|
|
|
#region Account
|
|
// 로그아웃.
|
|
public void BtnLogout()
|
|
{
|
|
FirebaseLoginMgr.SOnSightOut();
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
// 현재 서버 데이터 삭제.
|
|
public void BtnDeleteServer()
|
|
{
|
|
GameUIMgr.SOpenPopup2Button(LocalizationText.GetText("delete_acc_server"), SVDeleteServerTry);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
// 계정 삭제.
|
|
public void BtnDeleteAccount()
|
|
{
|
|
GameUIMgr.SOpenPopup2Button(LocalizationText.GetText("delete_acc_all"), SVDeleteAccountTry);
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
}
|
|
|
|
// 서버 계정 삭제 통신
|
|
void SVDeleteServerTry()
|
|
{
|
|
SvConnectManager.Instance.RequestSvPost(true, 1, UrlApi.GetUrl(UrlApi.DeleteServer), typeof(nIdLvInfo), curMgr.ADeleteServerSucc, curMgr.ADeleteServerFail, new nToken(SingleMgr.UserToken, MainMgr.ServerChannelNumber), false, true, 0);
|
|
}
|
|
|
|
// 통신 실패 - 서버 계정 삭제.
|
|
private void ADeleteServerFail(SvError error, object request)
|
|
{
|
|
iLoading--;
|
|
}
|
|
|
|
// 통신 성공 - 서버 계정 삭제.
|
|
private void ADeleteServerSucc(object result, object request)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("delete_acc_server_confirm"), SingleMgr.GameFinishDate);
|
|
CoverCamera.Release();
|
|
SvConnectManager.Instance.StopConnection();
|
|
|
|
iLoading--;
|
|
}
|
|
|
|
// 모든 계정 삭제 통신
|
|
void SVDeleteAccountTry()
|
|
{
|
|
SvConnectManager.Instance.RequestSvPost(true, 1, UrlApi.GetUrl(UrlApi.DeleteAccount), typeof(nIdLvInfo), curMgr.ADeleteAccountSucc, curMgr.ADeleteAccountFail, new nToken(SingleMgr.UserToken), false, true, 0);
|
|
}
|
|
|
|
// 통신 실패 - 모든 계정 삭제.
|
|
private void ADeleteAccountFail(SvError error, object request)
|
|
{
|
|
iLoading--;
|
|
}
|
|
|
|
// 통신 성공 - 모든 계정 삭제.
|
|
private void ADeleteAccountSucc(object result, object request)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("delete_acc_all_confirm"), SingleMgr.GameFinishDate);
|
|
CoverCamera.Release();
|
|
SvConnectManager.Instance.StopConnection();
|
|
|
|
iLoading--;
|
|
}
|
|
#endregion Account
|
|
|
|
#region Test
|
|
public void OpenTest()
|
|
{
|
|
groupTest.SetActive(true);
|
|
}
|
|
|
|
public void TestGold()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
DataHandler.AddGold(System.Numerics.BigInteger.Parse("100000000000000000000"));
|
|
|
|
nGoods[] goods = new nGoods[1] { new nGoods(cGoods.TCurrency, cGoods.CGold, System.Numerics.BigInteger.Parse("100000000000000000000")) };
|
|
GameUIMgr.SOpenPopupGoods(goods);
|
|
}
|
|
|
|
public void TestDia()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CDiaF, 100000000L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestEnhanceStone()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CEnhanceStoneGear, 10000000L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestAwakenStone()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CAwakenStoneGear, 1000000L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestChangeStone()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CChangeStone, 1000000L);
|
|
EnhanceMgr.TestSettingAwakenBtnTrue();
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestLvPoint()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CLvPoint, 1000L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestPudding()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CPudding, 100000L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestGachaWeapon()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CGachaTokenWeapon, 500L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestGachaArmor()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CGachaTokenArmor, 500L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestGachaAcc()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CGachaTokenAcce, 500L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestGachaTreasure()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CGachaTokenTreasure, 500L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestGearBox()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TBox, UnityEngine.Random.Range(cGoods.CBoxGeneralStart, cGoods.CBoxGeneralStart + 28), 10L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestPetBox()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TBox, UnityEngine.Random.Range(cGoods.CBoxPetStart, cGoods.CBoxPetStart + 28), 10L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestDiaryBox()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TBox, cGoods.CBoxDiary, 50L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestIris()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
}
|
|
|
|
public void TestColorBox()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
}
|
|
|
|
public void TestCosCloth()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
int icode = 2;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 3;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 4;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 5;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 6;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 7;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 8;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 9;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 10;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 11;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 12;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 13;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 14;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 15;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 16;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 17;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 18;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 19;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
icode = 20;
|
|
if (DataHandler.GetCosCloth(icode).have)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button("Already Have");
|
|
CoverCamera.Release();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
nGoods data = new nGoods(cGoods.TCosCloth, icode, 1L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestCosWeapon()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
int icode = 2;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 3;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 4;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 5;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 6;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 7;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 8;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 9;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 10;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 11;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 12;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 13;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 14;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 15;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 16;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 17;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 18;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 19;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
icode = 20;
|
|
if (DataHandler.GetCosWeapon(icode).have)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button("Already Have");
|
|
CoverCamera.Release();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
nGoods data = new nGoods(cGoods.TCosWeapon, icode, 1L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestPet()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
|
|
int icode = -1;
|
|
System.Collections.Generic.Dictionary<int, dPet> pets = DataHandler.GetPets();
|
|
foreach (var item in pets)
|
|
{
|
|
if (item.Value.have)
|
|
continue;
|
|
icode = item.Key;
|
|
break;
|
|
}
|
|
|
|
if (icode < 0)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button("Already Have");
|
|
CoverCamera.Release();
|
|
return;
|
|
}
|
|
|
|
nGoods data = new nGoods(cGoods.TPet, icode, 1L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestPetSpirit()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
|
|
System.Collections.Generic.Dictionary<int, dPet> pets = DataHandler.GetPets();
|
|
int icode = UnityEngine.Random.Range(1, pets.Count + 1);
|
|
|
|
nGoods data = new nGoods(cGoods.TPetSpirit, icode, 100L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestTicketGold()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TRedTicket, cGoods.TRedTicket, 10);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestTicketPet()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TBlueTicket, cGoods.TBlueTicket, 10);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestTicketEnhance()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TPurpleTicket, cGoods.TPurpleTicket, 10);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestTicketAwaken()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TSkyblueTicket, cGoods.TSkyblueTicket, 10);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestTicketPvp()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TPvpTicket, cGoods.TPvpTicket, 10);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestTicketRelic()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TGoldKey, cGoods.TGoldKey, 10);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
public void TestLench()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
CoverCamera.Hold();
|
|
nGoods data = new nGoods(cGoods.TCurrency, cGoods.CCondMight, 100000);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPropertySucc, AGetPropertyFail, data, true);
|
|
}
|
|
|
|
|
|
// 테스트 재화 획득 통신 실패.
|
|
private void AGetPropertyFail(SvError error, object request)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button("Test Property Fail.");
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
// 테스트 재화 획득 통신 성공.
|
|
private void AGetPropertySucc(object result, object request)
|
|
{
|
|
nGoodsGet data = result as nGoodsGet;
|
|
if (data == null)
|
|
{
|
|
AGetPropertyFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
return;
|
|
}
|
|
|
|
nGoods[] goods = new nGoods[1] { request as nGoods };
|
|
DataHandler.AddGoods(goods, data.playCurrency, true);
|
|
|
|
GameUIMgr.SOpenPopupGoods(goods);
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
/// *************** 임시 테스트 기능 : 펫 3종 획득
|
|
public static void SGetPetT()
|
|
{
|
|
curMgr.GetPetT();
|
|
}
|
|
|
|
public void GetPetT()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
System.Collections.Generic.Dictionary<int, dPet> pets = DataHandler.GetPets();
|
|
for(int i = 0; i < 3; i++)
|
|
{
|
|
if (pets[i + 1].have)
|
|
return;
|
|
}
|
|
|
|
nGoods data = new nGoods(cGoods.TPet, 1, 1L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPetSuccT, AGetPetFailT, data, true);
|
|
DataHandler.AddPet(1);
|
|
nGoods data2 = new nGoods(cGoods.TPet, 2, 1L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPetSuccT, AGetPetFailT, data2, true);
|
|
DataHandler.AddPet(2);
|
|
nGoods data3 = new nGoods(cGoods.TPet, 3, 1L);
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Property), typeof(nGoodsGet), AGetPetSuccT, AGetPetFailT, data3, true);
|
|
DataHandler.AddPet(3);
|
|
}
|
|
|
|
private void AGetPetFailT(SvError error, object request)
|
|
{
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
private void AGetPetSuccT(object result, object request)
|
|
{
|
|
nGoodsGet data = result as nGoodsGet;
|
|
if (data == null)
|
|
{
|
|
AGetPropertyFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
return;
|
|
}
|
|
}
|
|
/// ***************
|
|
|
|
public static void STestRefreshDate()
|
|
{
|
|
curMgr.TestRefreshDate();
|
|
}
|
|
|
|
public void TestRefreshDate()
|
|
{
|
|
#if !VER_DEV && !VER_TEST && !VER_ZOMBIE
|
|
return;
|
|
#endif
|
|
|
|
|
|
nIdCnt data = new nIdCnt();
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.Refresh), typeof(nIdCnt), ARefreshTodaySucc, ARefreshTodayFail, data, true);
|
|
}
|
|
|
|
private void ARefreshTodaySucc(object result, object request)
|
|
{
|
|
SingleMgr.GameFinishSvSave();
|
|
}
|
|
private void ARefreshTodayFail(SvError error, object request)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button("Test Property Fail.");
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
public void btnResetGold()
|
|
{
|
|
if(DataHandler.Goods.gold > 0)
|
|
{
|
|
DataHandler.SubGold(DataHandler.Goods.gold);
|
|
GameUIMgr.SOpenToast("Reset Complete");
|
|
}
|
|
}
|
|
|
|
public void btnResetGoods(int inum)
|
|
{
|
|
nIdCnt data = new nIdCnt(inum);
|
|
CoverCamera.Hold();
|
|
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.ResetGoods), typeof(nGoodsGet), AResetGoodsSucc, AResetGoodsFail, data, true);
|
|
}
|
|
|
|
public void btnResetGoodsAll()
|
|
{
|
|
nIdCnt data = new nIdCnt();
|
|
CoverCamera.Hold();
|
|
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.ResetGoodsAll), typeof(nGoodsGet), AResetGoodsSucc, AResetGoodsFail, data, true);
|
|
}
|
|
|
|
private void AResetGoodsSucc(object result, object request)
|
|
{
|
|
nGoodsGet data = result as nGoodsGet;
|
|
if (data == null)
|
|
{
|
|
AGetPropertyFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
return;
|
|
}
|
|
|
|
DataHandler.SetGoods(data.playCurrency,false);
|
|
GameUIMgr.SOpenToast("Reset Complete");
|
|
|
|
CoverCamera.Release();
|
|
}
|
|
private void AResetGoodsFail(SvError error, object request)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button("Test Property Fail.");
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
|
|
|
|
private bool TestMod = false;
|
|
|
|
public void SetTestMod()
|
|
{
|
|
if (!TestMod)
|
|
{
|
|
TestMod = true;
|
|
btnTestMod.transform.GetChild(0).gameObject.SetActive(!TestMod);
|
|
GameUIMgr.SOpenToast("Test Mode On");
|
|
btnTest.gameObject.SetActive(true);
|
|
ES3.Save(Global.ES3_TestMod, TestMod);
|
|
}
|
|
else
|
|
{
|
|
TestMod = false;
|
|
btnTestMod.transform.GetChild(0).gameObject.SetActive(!TestMod);
|
|
GameUIMgr.SOpenToast("Test Mode Off");
|
|
btnTest.gameObject.SetActive(false);
|
|
ES3.Save(Global.ES3_TestMod, TestMod);
|
|
}
|
|
}
|
|
|
|
public static bool SGetTest()
|
|
{
|
|
return curMgr.TestMod;
|
|
}
|
|
#endregion Test
|
|
|
|
#region Test Reset Mission
|
|
public void ResetMission()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
iLoading++;
|
|
CoverCamera.Hold();
|
|
BattleMgr.Instance.BattlePause = true;
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.ResetMission), typeof(nIdCnt), AResetMissionSucc, AResetMissionFail, new nIdCnt(), true);
|
|
iLoading--;
|
|
}
|
|
|
|
private void AResetMissionFail(SvError error, object request)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button("Reset Mission Fail.");
|
|
CoverCamera.Release();
|
|
}
|
|
|
|
private void AResetMissionSucc(object result, object request)
|
|
{
|
|
GameUIMgr.SOpenPopup1Button(LocalizationText.GetText("Mission_Reset"), SingleMgr.GameFinishDate);
|
|
CoverCamera.Release();
|
|
SvConnectManager.Instance.StopConnection();
|
|
}
|
|
#endregion Test Reset Mission
|
|
|
|
}
|