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.
621 lines
19 KiB
621 lines
19 KiB
using IVDataFormat;
|
|
using IVServerFormat;
|
|
using Spine;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
// 커스터마이징 매니저.
|
|
public class CustomizeMgr : MonoSingleton<CustomizeMgr>
|
|
{
|
|
#region Spine
|
|
[SerializeField] IVCharSimple ivChar;
|
|
#endregion Battle
|
|
|
|
#region UI
|
|
[SerializeField]
|
|
private TextMeshProUGUI txtMainT;
|
|
|
|
[SerializeField]
|
|
private Canvas canvasUI;
|
|
private GameObject goBtnInfo;
|
|
private Button btnApply, btnCompose;
|
|
private TextMeshProUGUI txtName, txtEfcInfoT, txtInfo, txtComposeCnt;
|
|
private ButtonIV[] btnTabs;
|
|
private GameObject[] groupTabs;
|
|
|
|
[SerializeField]
|
|
private EScrController escrCloth, escrWeapon;
|
|
|
|
// 슬롯 선택 연출.
|
|
private GameObject goSelectEfc;
|
|
private RectTransform rtrfSelectBorder, rtrfPresetSelect;
|
|
private GameObject[] goPresetSelects;
|
|
|
|
//GameObject dust;
|
|
[SerializeField]
|
|
Canvas leftCanvasUI;
|
|
TextMeshProUGUI leftTitle;
|
|
#endregion UI
|
|
|
|
#region Variables
|
|
private int iLoading = 1;
|
|
private bool bReLocalize = true;
|
|
private bool bReLocalizeCloth, bReLocalizeWeapon = false;
|
|
private bool bInitNeed = true;
|
|
private bool bInitNeedCloth = true;
|
|
private bool bInitNeedWeapon = true;
|
|
|
|
// 변경됨.
|
|
private bool bChange = false;
|
|
// 선택된 메인 탭. 0:의상, 1:무기, 2:색상.
|
|
private int iSelectedTab = -1;
|
|
|
|
// 보기에 적용된(선택중인) 의상 번호.
|
|
private int iSelectedCloth = -1;
|
|
// 보기에 적용된(선택중인) 무기 번호.
|
|
private int iSelectedWeapon = -1;
|
|
|
|
private int iSlotIndexWp = 0;
|
|
private Skeleton skeleton;
|
|
private Skin skinCustom = null;
|
|
private Attachment atchWeaponBase = null;
|
|
|
|
#endregion Variables
|
|
|
|
#region Base
|
|
public static void SLocalize(bool bmain)
|
|
{
|
|
if (Instance != null)
|
|
Instance.Localize(bmain);
|
|
}
|
|
|
|
// 번역.
|
|
private void Localize(bool bmain)
|
|
{
|
|
if (bmain)
|
|
{
|
|
txtMainT.text = LocalizationText.GetText("cos_title");
|
|
}
|
|
else
|
|
{
|
|
bReLocalize = false;
|
|
canvasUI.transform.Find("txtT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_title");
|
|
|
|
btnTabs[0].transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_cloth");
|
|
btnTabs[1].transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_weapon");
|
|
btnTabs[2].transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_dyeing");
|
|
|
|
groupTabs[2].transform.Find("groupHair").Find("txtGroupT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_hair");
|
|
groupTabs[2].transform.Find("groupTop").Find("txtGroupT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_hairtop");
|
|
groupTabs[2].transform.Find("groupEye").Find("txtGroupT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_eye");
|
|
|
|
groupTabs[2].transform.Find("groupHair").Find("txtPresetT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_apply_color");
|
|
groupTabs[2].transform.Find("groupTop").Find("txtPresetT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_apply_color");
|
|
groupTabs[2].transform.Find("groupEye").Find("txtPresetT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_apply_color");
|
|
|
|
groupTabs[2].transform.Find("groupHair").Find("txtHaveT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_have_color");
|
|
groupTabs[2].transform.Find("groupTop").Find("txtHaveT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_have_color");
|
|
groupTabs[2].transform.Find("groupEye").Find("txtHaveT").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_have_color");
|
|
|
|
btnApply.transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("cos_apply");
|
|
|
|
btnCompose.transform.Find("txt").GetComponent<TextMeshProUGUI>().text = LocalizationText.GetText("all_compose");
|
|
|
|
if (iSelectedTab < 0)
|
|
{
|
|
}
|
|
// 염색.
|
|
else if (iSelectedTab >= 2)
|
|
{
|
|
txtEfcInfoT.text = LocalizationText.GetText("all_tip");
|
|
}
|
|
// 의상, 무기.
|
|
else
|
|
{
|
|
txtEfcInfoT.text = LocalizationText.GetText("own_effect_title");
|
|
}
|
|
|
|
leftTitle = leftCanvasUI.transform.Find("txtT").GetComponent<TextMeshProUGUI>();
|
|
leftTitle.text = LocalizationText.GetText("cos_info");
|
|
}
|
|
}
|
|
|
|
// 설정에서 언어 변경 시 처리.
|
|
public static void SReLocalize()
|
|
{
|
|
Instance.Localize(true);
|
|
Instance.bReLocalize = true;
|
|
Instance.bReLocalizeCloth = true;
|
|
Instance.bReLocalizeWeapon = true;
|
|
}
|
|
|
|
// 백버튼 처리.
|
|
public static bool SCloseMenu()
|
|
{
|
|
return Instance.CloseMenu();
|
|
}
|
|
|
|
private bool CloseMenu()
|
|
{
|
|
// 게임 시작 후 열린적 없음.
|
|
if (bInitNeed)
|
|
return false;
|
|
|
|
if (canvasUI.enabled)
|
|
{
|
|
CloseCustomize();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
iLoading--;
|
|
}
|
|
#endregion Base
|
|
|
|
#region Init
|
|
// 게임 처음 시작 시 BattleMgr에서 코스튬 정보 획득을 위해 초기화 호출.
|
|
public void InitSkin()
|
|
{
|
|
bInitNeed = true;
|
|
iSelectedCloth = DataHandler.PlayEquipCostume.outfitId;
|
|
iSelectedWeapon = DataHandler.PlayEquipCostume.weaponId;
|
|
}
|
|
|
|
// 창을 열 때 창의 의상/무기 세팅.
|
|
private IEnumerator LoadCostume()
|
|
{
|
|
RectTransform rtrfchar = ivChar.GetComponent<RectTransform>();
|
|
Vector3 v3pos = rtrfchar.anchoredPosition3D;
|
|
v3pos.z = -10000f;
|
|
rtrfchar.anchoredPosition3D = v3pos;
|
|
|
|
ivChar.SetSkin(iSelectedCloth, iSelectedWeapon);
|
|
|
|
yield return null;
|
|
|
|
PopCostume();
|
|
|
|
v3pos.z = -0f;
|
|
rtrfchar.anchoredPosition3D = v3pos;
|
|
}
|
|
|
|
public static void SReleaseCostume()
|
|
{
|
|
Instance.ReleaseCostume();
|
|
}
|
|
|
|
// 창 닫을 때 의상/무기 리소스 해제.
|
|
private void ReleaseCostume()
|
|
{
|
|
iSelectedCloth = DataHandler.PlayEquipCostume.outfitId;
|
|
iSelectedWeapon = DataHandler.PlayEquipCostume.weaponId;
|
|
|
|
btnApply.interactable = false;
|
|
}
|
|
|
|
private void Init()
|
|
{
|
|
btnTabs = canvasUI.transform.Find("tabWrapTop").GetComponentsInChildren<ButtonIV>(true);
|
|
|
|
groupTabs = new GameObject[btnTabs.Length];
|
|
groupTabs[0] = canvasUI.transform.Find("SvCloth").gameObject;
|
|
groupTabs[1] = canvasUI.transform.Find("SvWeapon").gameObject;
|
|
groupTabs[2] = canvasUI.transform.Find("groupColor").gameObject;
|
|
|
|
txtName = ivChar.transform.parent.Find("txtName").GetComponent<TextMeshProUGUI>();
|
|
goBtnInfo = canvasUI.transform.Find("btnInfo").gameObject;
|
|
btnApply = ivChar.transform.parent.Find("btnApply").GetComponent<Button>();
|
|
|
|
txtEfcInfoT = leftCanvasUI.transform.Find("EfcInfo").Find("txtEfcInfoT").GetComponent<TextMeshProUGUI>();
|
|
txtInfo = txtEfcInfoT.transform.parent.Find("txtInfo").GetComponent<TextMeshProUGUI>();
|
|
btnCompose = txtEfcInfoT.transform.parent.Find("btnCompose").GetComponent<Button>();
|
|
txtComposeCnt = btnCompose.transform.Find("txtCount").GetComponent<TextMeshProUGUI>();
|
|
}
|
|
#endregion Init
|
|
|
|
#region UI
|
|
// 커스터마이즈 메뉴 열기.
|
|
public void OpenCustomize()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
iLoading++;
|
|
|
|
canvasUI.enabled = true;
|
|
leftCanvasUI.enabled = true;
|
|
ivChar.gameObject.SetActive(true);
|
|
|
|
if (bInitNeed)
|
|
{
|
|
bInitNeed = false;
|
|
Init();
|
|
ivChar.Init();
|
|
}
|
|
if (bReLocalize)
|
|
Localize(false);
|
|
StartCoroutine(nameof(LoadCostume));
|
|
|
|
if (iSelectedTab < 0)
|
|
{
|
|
TabCloth();
|
|
}
|
|
else if (iSelectedTab == 0)
|
|
{
|
|
if (bReLocalizeCloth)
|
|
{
|
|
bReLocalizeCloth = false;
|
|
escrCloth.Localize();
|
|
}
|
|
escrCloth.scroller.RefreshActiveCellViews();
|
|
SetCosNameEffect(DataHandler.GetCosCloth(iSelectedCloth));
|
|
}
|
|
else if (iSelectedTab == 1)
|
|
{
|
|
if (bReLocalizeWeapon)
|
|
{
|
|
bReLocalizeWeapon = false;
|
|
escrWeapon.Localize();
|
|
}
|
|
escrWeapon.scroller.RefreshActiveCellViews();
|
|
SetCosNameEffect(DataHandler.GetCosWeapon(iSelectedWeapon));
|
|
}
|
|
|
|
GameUIMgr.SRightWindowClose();
|
|
GameUIMgr.SOpenLeftPanel(dia: true);
|
|
GameUIMgr.SSetMainUiOn(false);
|
|
|
|
bChange = false;
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
|
|
//dust.SetActive(true);
|
|
iLoading--;
|
|
}
|
|
|
|
// 커스터마이즈 메뉴 닫기.
|
|
public void CloseCustomize()
|
|
{
|
|
if (!canvasUI.enabled)
|
|
return;
|
|
if (iLoading > 0)
|
|
return;
|
|
iLoading++;
|
|
|
|
ReleaseCostume();
|
|
|
|
DataHandler.CheckAchivement(eContent.Etc);
|
|
ivChar.gameObject.SetActive(false);
|
|
canvasUI.enabled = false;
|
|
leftCanvasUI.enabled = false;
|
|
GameUIMgr.SCloseUpPanel();
|
|
GameUIMgr.SSetMainUiOn(true);
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
|
|
//dust.SetActive(false);
|
|
iLoading--;
|
|
}
|
|
|
|
// 전체 효과 정보 보기.
|
|
public void OpenCostumeInfo()
|
|
{
|
|
if (iLoading > 0)
|
|
return;
|
|
iLoading++;
|
|
|
|
GameUIMgr.SOpenPopupHaveEfc(LocalizationText.GetText("all_effecttotalhave"), BuffMgr.Instance.GetCostumeEfcs());
|
|
iLoading--;
|
|
}
|
|
#endregion UI
|
|
|
|
#region Tab
|
|
// 의상 탭.
|
|
public void TabCloth()
|
|
{
|
|
if (iSelectedTab == 0)
|
|
return;
|
|
|
|
// 선택이 변경되었을 경우(적용은 하지 않음) 실제 적용된 항목으로 선택 되돌리기.
|
|
if (bChange)
|
|
ResetCustomize();
|
|
|
|
if (iSelectedTab >= 0)
|
|
{
|
|
btnTabs[iSelectedTab].interactable = true;
|
|
groupTabs[iSelectedTab].SetActive(false);
|
|
}
|
|
|
|
iSelectedTab = 0;
|
|
btnTabs[iSelectedTab].interactable = false;
|
|
groupTabs[iSelectedTab].SetActive(true);
|
|
|
|
// 초기화.
|
|
if (bInitNeedCloth)
|
|
{
|
|
bInitNeedCloth = false;
|
|
iSelectedCloth = DataHandler.PlayEquipCostume.outfitId;
|
|
|
|
Dictionary<int, dCostumeSet> datas = DataHandler.GetCosClothSets();
|
|
EnhancedUI.SmallList<int> cossets = new EnhancedUI.SmallList<int>();
|
|
foreach (var item in datas)
|
|
{
|
|
cossets.Add(item.Key);
|
|
}
|
|
escrCloth.SetType(0);
|
|
escrCloth.LoadDatas(cossets);
|
|
}
|
|
else
|
|
{
|
|
escrCloth.scroller.RefreshActiveCellViews();
|
|
}
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
|
|
txtEfcInfoT.text = LocalizationText.GetText("own_effect_title");
|
|
goBtnInfo.SetActive(true);
|
|
btnCompose.gameObject.SetActive(false);
|
|
|
|
btnApply.interactable = false;
|
|
SetCosNameEffect(DataHandler.GetCosCloth(iSelectedCloth));
|
|
|
|
if (bReLocalizeCloth)
|
|
{
|
|
bReLocalizeCloth = false;
|
|
escrCloth.Localize();
|
|
}
|
|
}
|
|
|
|
// 무기 탭.
|
|
public void TabWeapon()
|
|
{
|
|
if (iSelectedTab == 1)
|
|
return;
|
|
|
|
// 선택이 변경되었을 경우(적용은 하지 않음) 실제 적용된 항목으로 선택 되돌리기.
|
|
if (bChange)
|
|
ResetCustomize();
|
|
|
|
if (iSelectedTab >= 0)
|
|
{
|
|
btnTabs[iSelectedTab].interactable = true;
|
|
groupTabs[iSelectedTab].SetActive(false);
|
|
}
|
|
|
|
iSelectedTab = 1;
|
|
btnTabs[iSelectedTab].interactable = false;
|
|
groupTabs[iSelectedTab].SetActive(true);
|
|
|
|
// 초기화.
|
|
if (bInitNeedWeapon)
|
|
{
|
|
bInitNeedWeapon = false;
|
|
iSelectedWeapon = DataHandler.PlayEquipCostume.weaponId;
|
|
|
|
Dictionary<int, dCostumeSet> datas = DataHandler.GetCosWeaponSets();
|
|
EnhancedUI.SmallList<int> cossets = new EnhancedUI.SmallList<int>();
|
|
foreach (var item in datas)
|
|
{
|
|
cossets.Add(item.Key);
|
|
}
|
|
escrWeapon.SetType(1);
|
|
escrWeapon.LoadDatas(cossets);
|
|
}
|
|
else
|
|
{
|
|
escrWeapon.scroller.RefreshActiveCellViews();
|
|
}
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
|
|
txtEfcInfoT.text = LocalizationText.GetText("own_effect_title");
|
|
goBtnInfo.SetActive(true);
|
|
btnCompose.gameObject.SetActive(false);
|
|
|
|
btnApply.interactable = false;
|
|
SetCosNameEffect(DataHandler.GetCosWeapon(iSelectedWeapon));
|
|
|
|
if (bReLocalizeWeapon)
|
|
{
|
|
bReLocalizeWeapon = false;
|
|
escrWeapon.Localize();
|
|
}
|
|
}
|
|
#endregion Tab
|
|
|
|
#region Reset & Apply
|
|
// 적용하기 버튼 활성화 상태 변경.
|
|
private void SetBtnApply()
|
|
{
|
|
// 의상.
|
|
if (iSelectedTab == 0)
|
|
{
|
|
// 현재 장착중이 아니면서 소지했을 경우에만 적용 가능.
|
|
btnApply.interactable = DataHandler.IsCosClothHave(iSelectedCloth) && iSelectedCloth != DataHandler.PlayEquipCostume.outfitId;
|
|
}
|
|
// 무기.
|
|
else if (iSelectedTab == 1)
|
|
{
|
|
// 현재 장착중이 아니면서 소지했을 경우에만 적용 가능.
|
|
btnApply.interactable = DataHandler.IsCosWeaponHave(iSelectedWeapon) && iSelectedWeapon != DataHandler.PlayEquipCostume.weaponId;
|
|
}
|
|
}
|
|
|
|
// 실제 적용되어있는 항목으로 선택 되돌리기.
|
|
public void ResetCustomize()
|
|
{
|
|
SelectCloth(DataHandler.PlayEquipCostume.outfitId);
|
|
SelectWeapon(DataHandler.PlayEquipCostume.weaponId);
|
|
btnApply.interactable = false;
|
|
}
|
|
|
|
// 선택한 항목을 적용.
|
|
public void ApplyCustomize()
|
|
{
|
|
if (!bChange) return;
|
|
if (iLoading > 0) return;
|
|
iLoading++;
|
|
CoverCamera.Hold();
|
|
|
|
SoundMgr.Instance.PlaySfx(SoundName.BtnPress);
|
|
|
|
// 의상.
|
|
if (iSelectedTab == 0)
|
|
{
|
|
bool bchangecloth = iSelectedCloth != DataHandler.PlayEquipCostume.outfitId;
|
|
if (bchangecloth)
|
|
{
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.CosClothEquip), typeof(nCostumeReturn), AClothEquipSucc, AClothEquipFail, new nIdCnt(iSelectedCloth), false);
|
|
}
|
|
else
|
|
{
|
|
btnApply.interactable = false;
|
|
bChange = false;
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
}
|
|
// 무기.
|
|
else if (iSelectedTab == 1)
|
|
{
|
|
bool bchangeweapon = iSelectedWeapon != DataHandler.PlayEquipCostume.weaponId;
|
|
if (bchangeweapon)
|
|
{
|
|
SvConnectManager.Instance.RequestSvPost(true, 0, UrlApi.GetUrl(UrlApi.CosWeaponEquip), typeof(nCostumeReturn), AWeaponEquipSucc, AWeaponEquipFail, new nIdCnt(iSelectedWeapon), false);
|
|
}
|
|
else
|
|
{
|
|
btnApply.interactable = false;
|
|
bChange = false;
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
}
|
|
}
|
|
|
|
// 의상 장착 통신 실패.
|
|
private void AClothEquipFail(SvError error, object request)
|
|
{
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
|
|
// 의상 장착 통신 성공.
|
|
private void AClothEquipSucc(object result, object request)
|
|
{
|
|
nCostumeReturn data = result as nCostumeReturn;
|
|
if (data == null)
|
|
{
|
|
AClothEquipFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
return;
|
|
}
|
|
|
|
DataHandler.ChangeCustomize(iSelectedCloth, iSelectedWeapon, 1, 2, 3);
|
|
BattleMgr.Instance.SetCharCostume();
|
|
|
|
GameUIMgr.SOpenToast(LocalizationText.GetText(Global.STR_Saved));
|
|
escrCloth.scroller.RefreshActiveCellViews();
|
|
btnApply.interactable = false;
|
|
bChange = false;
|
|
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
|
|
// 무기 장착 통신 실패.
|
|
private void AWeaponEquipFail(SvError error, object request)
|
|
{
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
|
|
// 무기 장착 통신 성공.
|
|
private void AWeaponEquipSucc(object result, object request)
|
|
{
|
|
nCostumeReturn data = result as nCostumeReturn;
|
|
if (data == null)
|
|
{
|
|
AWeaponEquipFail(new SvError(eErrorCode.NULL_OR_EMPTY), request);
|
|
return;
|
|
}
|
|
|
|
DataHandler.ChangeCustomize(iSelectedCloth, iSelectedWeapon, 1, 2, 3);
|
|
BattleMgr.Instance.SetCharCostume();
|
|
|
|
GameUIMgr.SOpenToast(LocalizationText.GetText(Global.STR_Saved));
|
|
escrWeapon.scroller.RefreshActiveCellViews();
|
|
btnApply.interactable = false;
|
|
bChange = false;
|
|
|
|
CoverCamera.Release();
|
|
iLoading--;
|
|
}
|
|
#endregion Reset & Apply
|
|
public void PopCostume()
|
|
{
|
|
RectTransform rtrfchar = Instance.ivChar.GetComponent<RectTransform>();
|
|
Vector3 v3pos = rtrfchar.anchoredPosition3D;
|
|
v3pos.z = -0f;
|
|
rtrfchar.anchoredPosition3D = v3pos;
|
|
}
|
|
|
|
#region Select Costume
|
|
// 선택된 코스튬인지.
|
|
public static bool SIsSelectCostume(int itype, int idx)
|
|
{
|
|
if (itype == 0)
|
|
return idx == Instance.iSelectedCloth;
|
|
else
|
|
return idx == Instance.iSelectedWeapon;
|
|
}
|
|
|
|
public static void SSelectCostume(int itype, int isetid, int ichildindex)
|
|
{
|
|
if (itype == 0)
|
|
Instance.SelectCloth(DataHandler.GetCosClothId(isetid, ichildindex));
|
|
else
|
|
Instance.SelectWeapon(DataHandler.GetCosWeaponId(isetid, ichildindex));
|
|
}
|
|
|
|
// 의상 선택.
|
|
public void SelectCloth(int key)
|
|
{
|
|
if (iSelectedCloth == key) return;
|
|
|
|
iSelectedCloth = key;
|
|
bChange = true;
|
|
escrCloth.scroller.RefreshActiveCellViews();
|
|
SetBtnApply();
|
|
SetCosNameEffect(DataHandler.GetCosCloth(key));
|
|
|
|
ivChar.SetCostume(iSelectedCloth);
|
|
}
|
|
|
|
// 무기 선택.
|
|
public void SelectWeapon(int key)
|
|
{
|
|
if (iSelectedWeapon == key) return;
|
|
|
|
iSelectedWeapon = key;
|
|
bChange = true;
|
|
escrWeapon.scroller.RefreshActiveCellViews();
|
|
SetBtnApply();
|
|
SetCosNameEffect(DataHandler.GetCosWeapon(key));
|
|
|
|
ivChar.SetWeapon(iSelectedWeapon);
|
|
}
|
|
#endregion Select Costume
|
|
|
|
#region Name & Effect Text
|
|
private void SetCosNameEffect(dCostume data)
|
|
{
|
|
if (data == null)
|
|
return;
|
|
|
|
txtName.text = FormatString.GetGoodsName(iSelectedTab == 0 ? cGoods.TCosCloth : cGoods.TCosWeapon, data.id);
|
|
txtInfo.text = FormatString.TextEffectTitleValuesBreakline(data.abilityType1, data.abilityValue1, data.abilityType2, data.abilityValue2);
|
|
}
|
|
#endregion Name & Effect Text
|
|
}
|