맵 선택 (던전) 리팩토링
This commit is contained in:
parent
4222558de8
commit
50c6719455
|
|
@ -68,7 +68,9 @@ messageinfo 엄청 느린 버그
|
||||||
|
|
||||||
몬스터 웨이브
|
몬스터 웨이브
|
||||||
- 맵 최적화
|
- 맵 최적화
|
||||||
- 점수 (기본 1점만 주는 중)
|
|
||||||
- 특정 오브젝트와 상호 작용 시 즉시 몬스터 생성
|
|
||||||
- 몬스터 패트롤 거리 조절
|
- 몬스터 패트롤 거리 조절
|
||||||
- 결과 (점수 주고 점수가 일정 이상이면 보상 지급)
|
- 점수와 골드 (기본 1점, 10골드만 주는 중(밸런스 필요))
|
||||||
|
- 특정 오브젝트와 상호 작용 시 즉시 몬스터 생성
|
||||||
|
- 점수 일정 이상 보상 지급
|
||||||
|
|
||||||
|
최초 한 번 랭킹 등록이 안됨
|
||||||
|
|
@ -1 +1 @@
|
||||||
[{"n_Difficult": "난이도", "n_Score": "필요 점수", "n_RewardID": "달성 보상 ID", "n_RewardAmount": "달성 보상 수량"}, {"n_Difficult": "1", "n_Score": "50", "n_RewardID": "1", "n_RewardAmount": "1"}, {"n_Difficult": "1", "n_Score": "100", "n_RewardID": "1", "n_RewardAmount": "2"}, {"n_Difficult": "1", "n_Score": "150", "n_RewardID": "1", "n_RewardAmount": "3"}, {"n_Difficult": "1", "n_Score": "200", "n_RewardID": "1", "n_RewardAmount": "4"}, {"n_Difficult": "1", "n_Score": "250", "n_RewardID": "1", "n_RewardAmount": "5"}, {"n_Difficult": "1", "n_Score": "300", "n_RewardID": "1", "n_RewardAmount": "6"}, {"n_Difficult": "2", "n_Score": "350", "n_RewardID": "1", "n_RewardAmount": "7"}, {"n_Difficult": "2", "n_Score": "400", "n_RewardID": "1", "n_RewardAmount": "8"}, {"n_Difficult": "2", "n_Score": "450", "n_RewardID": "1", "n_RewardAmount": "9"}, {"n_Difficult": "2", "n_Score": "500", "n_RewardID": "1", "n_RewardAmount": "10"}, {"n_Difficult": "2", "n_Score": "550", "n_RewardID": "1", "n_RewardAmount": "11"}, {"n_Difficult": "2", "n_Score": "600", "n_RewardID": "1", "n_RewardAmount": "12"}, {"n_Difficult": "3", "n_Score": "650", "n_RewardID": "1", "n_RewardAmount": "13"}, {"n_Difficult": "3", "n_Score": "700", "n_RewardID": "1", "n_RewardAmount": "14"}, {"n_Difficult": "3", "n_Score": "750", "n_RewardID": "1", "n_RewardAmount": "15"}, {"n_Difficult": "3", "n_Score": "800", "n_RewardID": "1", "n_RewardAmount": "16"}, {"n_Difficult": "3", "n_Score": "850", "n_RewardID": "1", "n_RewardAmount": "17"}, {"n_Difficult": "3", "n_Score": "900", "n_RewardID": "1", "n_RewardAmount": "18"}, {"n_Difficult": "3", "n_Score": "950", "n_RewardID": "1", "n_RewardAmount": "19"}, {"n_Difficult": "3", "n_Score": "1000", "n_RewardID": "1", "n_RewardAmount": "20"}, {"n_Difficult": "4", "n_Score": "1050", "n_RewardID": "1", "n_RewardAmount": "21"}, {"n_Difficult": "4", "n_Score": "1100", "n_RewardID": "1", "n_RewardAmount": "22"}, {"n_Difficult": "4", "n_Score": "1150", "n_RewardID": "1", "n_RewardAmount": "23"}, {"n_Difficult": "4", "n_Score": "1200", "n_RewardID": "1", "n_RewardAmount": "24"}, {"n_Difficult": "4", "n_Score": "1250", "n_RewardID": "1", "n_RewardAmount": "25"}, {"n_Difficult": "4", "n_Score": "1300", "n_RewardID": "1", "n_RewardAmount": "26"}, {"n_Difficult": "4", "n_Score": "1350", "n_RewardID": "1", "n_RewardAmount": "27"}, {"n_Difficult": "5", "n_Score": "1400", "n_RewardID": "1", "n_RewardAmount": "28"}, {"n_Difficult": "5", "n_Score": "1450", "n_RewardID": "1", "n_RewardAmount": "29"}, {"n_Difficult": "5", "n_Score": "1500", "n_RewardID": "1", "n_RewardAmount": "30"}, {"n_Difficult": "5", "n_Score": "1550", "n_RewardID": "1", "n_RewardAmount": "31"}, {"n_Difficult": "5", "n_Score": "1600", "n_RewardID": "1", "n_RewardAmount": "32"}, {"n_Difficult": "5", "n_Score": "1650", "n_RewardID": "1", "n_RewardAmount": "33"}, {"n_Difficult": "5", "n_Score": "1700", "n_RewardID": "1", "n_RewardAmount": "34"}, {"n_Difficult": "6", "n_Score": "1750", "n_RewardID": "1", "n_RewardAmount": "35"}, {"n_Difficult": "6", "n_Score": "1800", "n_RewardID": "1", "n_RewardAmount": "36"}, {"n_Difficult": "6", "n_Score": "1850", "n_RewardID": "1", "n_RewardAmount": "37"}, {"n_Difficult": "6", "n_Score": "1900", "n_RewardID": "1", "n_RewardAmount": "38"}, {"n_Difficult": "6", "n_Score": "1950", "n_RewardID": "1", "n_RewardAmount": "39"}, {"n_Difficult": "6", "n_Score": "2000", "n_RewardID": "1", "n_RewardAmount": "40"}, {"n_Difficult": "6", "n_Score": "2050", "n_RewardID": "1", "n_RewardAmount": "41"}, {"n_Difficult": "6", "n_Score": "2100", "n_RewardID": "1", "n_RewardAmount": "42"}]
|
[{"n_Index": "보상획득순서", "n_Difficult": "난이도", "n_Score": "필요 점수", "n_RewardID": "달성 보상 ID", "n_RewardAmount": "달성 보상 수량"}, {"n_Index": "1", "n_Difficult": "1", "n_Score": "50", "n_RewardID": "1", "n_RewardAmount": "1"}, {"n_Index": "2", "n_Difficult": "1", "n_Score": "100", "n_RewardID": "1", "n_RewardAmount": "2"}, {"n_Index": "3", "n_Difficult": "1", "n_Score": "150", "n_RewardID": "1", "n_RewardAmount": "3"}, {"n_Index": "4", "n_Difficult": "1", "n_Score": "200", "n_RewardID": "1", "n_RewardAmount": "4"}, {"n_Index": "5", "n_Difficult": "1", "n_Score": "250", "n_RewardID": "1", "n_RewardAmount": "5"}, {"n_Index": "6", "n_Difficult": "1", "n_Score": "300", "n_RewardID": "1", "n_RewardAmount": "6"}, {"n_Index": "7", "n_Difficult": "2", "n_Score": "350", "n_RewardID": "1", "n_RewardAmount": "7"}, {"n_Index": "8", "n_Difficult": "2", "n_Score": "400", "n_RewardID": "1", "n_RewardAmount": "8"}, {"n_Index": "9", "n_Difficult": "2", "n_Score": "450", "n_RewardID": "1", "n_RewardAmount": "9"}, {"n_Index": "10", "n_Difficult": "2", "n_Score": "500", "n_RewardID": "1", "n_RewardAmount": "10"}, {"n_Index": "11", "n_Difficult": "2", "n_Score": "550", "n_RewardID": "1", "n_RewardAmount": "11"}, {"n_Index": "12", "n_Difficult": "2", "n_Score": "600", "n_RewardID": "1", "n_RewardAmount": "12"}, {"n_Index": "13", "n_Difficult": "3", "n_Score": "650", "n_RewardID": "1", "n_RewardAmount": "13"}, {"n_Index": "14", "n_Difficult": "3", "n_Score": "700", "n_RewardID": "1", "n_RewardAmount": "14"}, {"n_Index": "15", "n_Difficult": "3", "n_Score": "750", "n_RewardID": "1", "n_RewardAmount": "15"}, {"n_Index": "16", "n_Difficult": "3", "n_Score": "800", "n_RewardID": "1", "n_RewardAmount": "16"}, {"n_Index": "17", "n_Difficult": "3", "n_Score": "850", "n_RewardID": "1", "n_RewardAmount": "17"}, {"n_Index": "18", "n_Difficult": "3", "n_Score": "900", "n_RewardID": "1", "n_RewardAmount": "18"}, {"n_Index": "19", "n_Difficult": "3", "n_Score": "950", "n_RewardID": "1", "n_RewardAmount": "19"}, {"n_Index": "20", "n_Difficult": "3", "n_Score": "1000", "n_RewardID": "1", "n_RewardAmount": "20"}, {"n_Index": "21", "n_Difficult": "4", "n_Score": "1050", "n_RewardID": "1", "n_RewardAmount": "21"}, {"n_Index": "22", "n_Difficult": "4", "n_Score": "1100", "n_RewardID": "1", "n_RewardAmount": "22"}, {"n_Index": "23", "n_Difficult": "4", "n_Score": "1150", "n_RewardID": "1", "n_RewardAmount": "23"}, {"n_Index": "24", "n_Difficult": "4", "n_Score": "1200", "n_RewardID": "1", "n_RewardAmount": "24"}, {"n_Index": "25", "n_Difficult": "4", "n_Score": "1250", "n_RewardID": "1", "n_RewardAmount": "25"}, {"n_Index": "26", "n_Difficult": "4", "n_Score": "1300", "n_RewardID": "1", "n_RewardAmount": "26"}, {"n_Index": "27", "n_Difficult": "4", "n_Score": "1350", "n_RewardID": "1", "n_RewardAmount": "27"}, {"n_Index": "28", "n_Difficult": "5", "n_Score": "1400", "n_RewardID": "1", "n_RewardAmount": "28"}, {"n_Index": "29", "n_Difficult": "5", "n_Score": "1450", "n_RewardID": "1", "n_RewardAmount": "29"}, {"n_Index": "30", "n_Difficult": "5", "n_Score": "1500", "n_RewardID": "1", "n_RewardAmount": "30"}, {"n_Index": "31", "n_Difficult": "5", "n_Score": "1550", "n_RewardID": "1", "n_RewardAmount": "31"}, {"n_Index": "32", "n_Difficult": "5", "n_Score": "1600", "n_RewardID": "1", "n_RewardAmount": "32"}, {"n_Index": "33", "n_Difficult": "5", "n_Score": "1650", "n_RewardID": "1", "n_RewardAmount": "33"}, {"n_Index": "34", "n_Difficult": "5", "n_Score": "1700", "n_RewardID": "1", "n_RewardAmount": "34"}, {"n_Index": "35", "n_Difficult": "6", "n_Score": "1750", "n_RewardID": "1", "n_RewardAmount": "35"}, {"n_Index": "36", "n_Difficult": "6", "n_Score": "1800", "n_RewardID": "1", "n_RewardAmount": "36"}, {"n_Index": "37", "n_Difficult": "6", "n_Score": "1850", "n_RewardID": "1", "n_RewardAmount": "37"}, {"n_Index": "38", "n_Difficult": "6", "n_Score": "1900", "n_RewardID": "1", "n_RewardAmount": "38"}, {"n_Index": "39", "n_Difficult": "6", "n_Score": "1950", "n_RewardID": "1", "n_RewardAmount": "39"}, {"n_Index": "40", "n_Difficult": "6", "n_Score": "2000", "n_RewardID": "1", "n_RewardAmount": "40"}, {"n_Index": "41", "n_Difficult": "6", "n_Score": "2050", "n_RewardID": "1", "n_RewardAmount": "41"}, {"n_Index": "42", "n_Difficult": "6", "n_Score": "2100", "n_RewardID": "1", "n_RewardAmount": "42"}]
|
||||||
Binary file not shown.
|
|
@ -15,9 +15,15 @@ public class WaveRewardCard : CardBase
|
||||||
base.Set(_base);
|
base.Set(_base);
|
||||||
m_Data = _base as WaveRewardListTableData;
|
m_Data = _base as WaveRewardListTableData;
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
var rewardindex = sdata.Get_DungeonValue(eDungeon.d4_Wave, 3);
|
||||||
|
|
||||||
texts[0].text = m_Data.n_Score.ToString();
|
texts[0].text = m_Data.n_Score.ToString();
|
||||||
slider_score.value = (float)sdata.Get_DungeonValue(eDungeon.d4_Wave, 1) / m_Data.n_Score;
|
if (rewardindex > m_Data.n_Index)
|
||||||
|
slider_score.value = 1f;
|
||||||
|
else if (rewardindex + 1 == m_Data.n_Index)
|
||||||
|
slider_score.value = (float)sdata.Get_DungeonValue(eDungeon.d4_Wave, 2) / m_Data.n_Score;
|
||||||
|
else
|
||||||
|
slider_score.value = 0f;
|
||||||
RewardData.itemid = m_Data.n_RewardID;
|
RewardData.itemid = m_Data.n_RewardID;
|
||||||
RewardData.amount = m_Data.n_RewardAmount;
|
RewardData.amount = m_Data.n_RewardAmount;
|
||||||
rewardCard.Set(RewardData);
|
rewardCard.Set(RewardData);
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -985,6 +985,18 @@ public partial class ServerData
|
||||||
Dungeon[dic_dungeonkey[dungeon]][index] = val;
|
Dungeon[dic_dungeonkey[dungeon]][index] = val;
|
||||||
Dungeon[dic_dungeonkey[dungeon]][index].RandomizeCryptoKey();
|
Dungeon[dic_dungeonkey[dungeon]][index].RandomizeCryptoKey();
|
||||||
}
|
}
|
||||||
|
public bool CanGetWaveReward()
|
||||||
|
{
|
||||||
|
var lst = table_waverewardlist.Ins.Get_DataList();
|
||||||
|
var rewardindex = Get_DungeonValue(eDungeon.d4_Wave, 3);
|
||||||
|
var score = Get_DungeonValue(eDungeon.d4_Wave, 2);
|
||||||
|
for (int i = 0; i < lst.Count; i++)
|
||||||
|
{
|
||||||
|
if (lst[i].n_Index - 1 == rewardindex && lst[i].n_Score <= score)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Common
|
#region Common
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,13 @@ using System.Collections.Generic;
|
||||||
|
|
||||||
public class WaveRewardListTableData : TableDataBase
|
public class WaveRewardListTableData : TableDataBase
|
||||||
{
|
{
|
||||||
|
protected ObscuredInt _Index;
|
||||||
|
public int n_Index
|
||||||
|
{
|
||||||
|
get { return _Index; }
|
||||||
|
set { _Index = value; _Index.RandomizeCryptoKey(); }
|
||||||
|
}
|
||||||
|
|
||||||
protected ObscuredInt _Difficult;
|
protected ObscuredInt _Difficult;
|
||||||
public int n_Difficult
|
public int n_Difficult
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,39 +1,17 @@
|
||||||
using CodeStage.AntiCheat.ObscuredTypes;
|
using CodeStage.AntiCheat.ObscuredTypes;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
|
||||||
using static Koenigz.PerfectCulling.PerfectCullingVolumeBakeData;
|
|
||||||
|
|
||||||
public class MapChoiceUI_Dungeon : uScrollViewMgr
|
public class MapChoiceUI_Dungeon : uScrollViewMgr
|
||||||
{
|
{
|
||||||
public static MapChoiceUI_Dungeon Ins;
|
public static MapChoiceUI_Dungeon Ins;
|
||||||
|
|
||||||
public MoneyForm MoneyForm_Ticket;
|
public MoneyForm MoneyForm_Ticket;
|
||||||
public GameObject[] gos; // 0 1 2 3 던전 정보
|
public MapChoiceUI_DungeonBase[] DungeonInfos; // 0 미믹, 1미궁, 2 악몽, 3 웨이브
|
||||||
public TextMeshProUGUI[] texts; // 0 던전이름
|
public TextMeshProUGUI[] texts; // 0 던전이름
|
||||||
public ArrowUI m_ArrowUI; // 미믹 단계 설정
|
|
||||||
public TextMeshProUGUI[] texts_maze; // 0 랭킹, 1 최고 층수
|
|
||||||
public TabUIBase tab_NightmareDiff; // 악몽의 시련 난이도
|
|
||||||
public TextMeshProUGUI[] texts_wave; // 0 웨이브 난이도, 1 웨이브 최고 점수
|
|
||||||
public WaveRewardUI m_WaveRewardUI; // 웨이브 보상 정보
|
|
||||||
|
|
||||||
List<eDungeon> dungeons = new List<eDungeon> { eDungeon.d1_Mimic, eDungeon.d2_Maze, eDungeon.d3_Nightmare, eDungeon.d4_Wave };
|
List<eDungeon> dungeons = new List<eDungeon> { eDungeon.d1_Mimic, eDungeon.d2_Maze, eDungeon.d3_Nightmare, eDungeon.d4_Wave };
|
||||||
List<TabUIData> list_NightmareTabData = new List<TabUIData>
|
int SelectMapID = 1001;
|
||||||
{ new TabUIData{ btnName = "1" }, new TabUIData{ btnName = "2" }, new TabUIData{ btnName = "3" } };
|
|
||||||
|
|
||||||
protected ObscuredInt _SelectMapID = 1001;
|
|
||||||
public int SelectMapID
|
|
||||||
{
|
|
||||||
get { return _SelectMapID; }
|
|
||||||
set { _SelectMapID = value; _SelectMapID.RandomizeCryptoKey(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ObscuredInt _SelectLv;
|
|
||||||
public int SelectLv
|
|
||||||
{
|
|
||||||
get { return _SelectLv; }
|
|
||||||
set { _SelectLv = value; _SelectLv.RandomizeCryptoKey(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
|
|
@ -48,121 +26,15 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
|
||||||
|
|
||||||
public void Select_Dungeon(int mapid)
|
public void Select_Dungeon(int mapid)
|
||||||
{
|
{
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
|
||||||
SelectMapID = mapid;
|
SelectMapID = mapid;
|
||||||
var mapData = table_battlemapconfig.Ins.Get_Data(SelectMapID);
|
|
||||||
SelectLv = sdata.Get_DungeonLv(mapData.e_Dungeon) + 1;
|
|
||||||
var dungeonData = table_dungeonmapconfig.Ins.Get_Data_orNull(mapData.e_Dungeon, SelectLv);
|
|
||||||
if (DSUtil.CheckNull(dungeonData))
|
|
||||||
{
|
|
||||||
for (int i = 0; i < SelectLv; i++)
|
|
||||||
{
|
|
||||||
--SelectLv;
|
|
||||||
dungeonData = table_dungeonmapconfig.Ins.Get_Data_orNull(mapData.e_Dungeon, SelectLv);
|
|
||||||
if (!DSUtil.CheckNull(dungeonData))
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DSUtil.InActivateGameObjects(gos, dungeonData.Get_DungeonIndex());
|
|
||||||
|
|
||||||
|
var mapData = table_battlemapconfig.Ins.Get_Data(mapid);
|
||||||
texts[0].text = mapData.Get_Name();
|
texts[0].text = mapData.Get_Name();
|
||||||
MoneyForm_Ticket.Set(mapData.n_TicketID);
|
MoneyForm_Ticket.Set(mapData.n_TicketID);
|
||||||
MoneyForm_Ticket.gameObject.SetActive(mapData.e_Dungeon != eDungeon.d4_Wave);
|
MoneyForm_Ticket.gameObject.SetActive(mapData.e_Dungeon != eDungeon.d4_Wave);
|
||||||
|
|
||||||
switch (mapData.e_Dungeon)
|
for (int i = 0; i < DungeonInfos.Length; i++)
|
||||||
{
|
DungeonInfos[i].Set(false);
|
||||||
case eDungeon.d1_Mimic:
|
DungeonInfos[MyEnumToInt.Ins.Get_Int(mapData.e_Dungeon) - 1].Set();
|
||||||
MyValue.MyChoiceMapData.n_Difficult = 1;
|
|
||||||
m_ArrowUI.Set(totalcount => { Select_Lv(totalcount); }, SelectLv, true, 1);
|
|
||||||
break;
|
|
||||||
case eDungeon.d2_Maze:
|
|
||||||
MyValue.MyChoiceMapData.n_Difficult = 1;
|
|
||||||
SelectLv = Mathf.Max(1, SelectLv - 1);
|
|
||||||
texts_maze[0].text = texts_maze[1].text = "";
|
|
||||||
ServerInfo.Ins.Get_MyRank(MyValue.dic_Leaderboard[mapData.e_Dungeon],
|
|
||||||
my =>
|
|
||||||
{
|
|
||||||
if (DSUtil.CheckNull(my))
|
|
||||||
{
|
|
||||||
texts_maze[0].text = DSUtil.Format(323, 99999);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
texts_maze[0].text = DSUtil.Format(323, my.Rank);
|
|
||||||
//texts_maze[1].text = DSUtil.Format(324, my.Scores[0]);
|
|
||||||
}
|
|
||||||
texts_maze[1].text = DSUtil.Format(324, SelectLv);
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case eDungeon.d3_Nightmare:
|
|
||||||
list_NightmareTabData.ForEach(f => f.onClick = OnClick_NightmareTab);
|
|
||||||
tab_NightmareDiff.Set(list_NightmareTabData);
|
|
||||||
OnClick_NightmareTab();
|
|
||||||
ServerInfo.Ins.Get_MyRank(MyValue.dic_Leaderboard[mapData.e_Dungeon],
|
|
||||||
my =>
|
|
||||||
{
|
|
||||||
MyValue.MyChoiceMapData.d_NightmareBeforeDmg = DSUtil.CheckNull(my) ? 0d : double.Parse(my.Scores[0]);
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case eDungeon.d4_Wave:
|
|
||||||
texts_wave[0].text = DSUtil.Format(334, MyValue.MyChoiceMapData.n_Difficult);
|
|
||||||
texts_wave[1].text = DSUtil.Format(335, sdata.Get_DungeonValue(eDungeon.d4_Wave, 1));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void Select_Lv(int lv)
|
|
||||||
{
|
|
||||||
SelectLv = lv;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnClick_GoDungeon()
|
|
||||||
{
|
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
|
||||||
var mapData = table_battlemapconfig.Ins.Get_Data(SelectMapID);
|
|
||||||
// 웨이브는 무한 입장 가능
|
|
||||||
if (mapData.n_TicketID == 0 || sdata.Check_ItemAmount(mapData.n_TicketID, 1))
|
|
||||||
{
|
|
||||||
NewGameUI.Ins.m_MapChoiceUI.OnClick_Back();
|
|
||||||
|
|
||||||
MyValue.MyChoiceMapData.n_Difficult = 1; // TODO 정인호 : 나중에 선택한 난이도 넣어줄 것
|
|
||||||
MyValue.MyChoiceMapData.n_MapID = SelectMapID;
|
|
||||||
MyValue.MyChoiceMapData.n_PortalIndex = 0;
|
|
||||||
MyValue.MyChoiceMapData.n_DungeonLv = SelectLv;
|
|
||||||
|
|
||||||
switch (mapData.e_Dungeon)
|
|
||||||
{
|
|
||||||
case eDungeon.d2_Maze:
|
|
||||||
Use_Ticket(sdata, mapData);
|
|
||||||
MyValue.MyChoiceMapData.Set_MazeMapIndex();
|
|
||||||
break;
|
|
||||||
case eDungeon.d3_Nightmare:
|
|
||||||
Use_Ticket(sdata, mapData);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
InGameInfo.Ins.Load_Map(SelectMapID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Use_Ticket(ServerData sdata, BattleMapConfigTableData mapData)
|
|
||||||
{
|
|
||||||
sdata.Use_Item(mapData.n_TicketID, 1);
|
|
||||||
ServerInfo.Ins.Write(null, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnClick_Ranking()
|
|
||||||
{
|
|
||||||
var mapData = table_battlemapconfig.Ins.Get_Data(SelectMapID);
|
|
||||||
RankingMgr.Ins.Show_Rank(mapData.e_Dungeon);
|
|
||||||
}
|
|
||||||
|
|
||||||
void OnClick_NightmareTab()
|
|
||||||
{
|
|
||||||
MyValue.MyChoiceMapData.n_Difficult = tab_NightmareDiff.Get_Index() + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnClick_WaveReward()
|
|
||||||
{
|
|
||||||
m_WaveRewardUI.Set();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
using CodeStage.AntiCheat.ObscuredTypes;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class MapChoiceUI_DungeonBase : MonoBehaviour
|
||||||
|
{
|
||||||
|
public int SelectMapID = 1001;
|
||||||
|
|
||||||
|
protected BattleMapConfigTableData m_mapData;
|
||||||
|
|
||||||
|
protected ObscuredInt _SelectLv;
|
||||||
|
public int SelectLv
|
||||||
|
{
|
||||||
|
get { return _SelectLv; }
|
||||||
|
set { _SelectLv = value; _SelectLv.RandomizeCryptoKey(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Set(bool active) { gameObject.SetActive(active); }
|
||||||
|
public virtual void Set()
|
||||||
|
{
|
||||||
|
Set(true);
|
||||||
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
m_mapData = table_battlemapconfig.Ins.Get_Data(SelectMapID);
|
||||||
|
SelectLv = sdata.Get_DungeonLv(m_mapData.e_Dungeon) + 1;
|
||||||
|
var dungeonData = table_dungeonmapconfig.Ins.Get_Data_orNull(m_mapData.e_Dungeon, SelectLv);
|
||||||
|
if (DSUtil.CheckNull(dungeonData))
|
||||||
|
{
|
||||||
|
for (int i = 0; i < SelectLv; i++)
|
||||||
|
{
|
||||||
|
--SelectLv;
|
||||||
|
dungeonData = table_dungeonmapconfig.Ins.Get_Data_orNull(m_mapData.e_Dungeon, SelectLv);
|
||||||
|
if (!DSUtil.CheckNull(dungeonData))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void OnClick_GoDungeon() { }
|
||||||
|
protected void Go_Dungeon()
|
||||||
|
{
|
||||||
|
NewGameUI.Ins.m_MapChoiceUI.OnClick_Back();
|
||||||
|
|
||||||
|
MyValue.MyChoiceMapData.n_Difficult = 1; // TODO 정인호 : 나중에 선택한 난이도 넣어줄 것
|
||||||
|
MyValue.MyChoiceMapData.n_MapID = SelectMapID;
|
||||||
|
MyValue.MyChoiceMapData.n_PortalIndex = 0;
|
||||||
|
MyValue.MyChoiceMapData.n_DungeonLv = SelectLv;
|
||||||
|
|
||||||
|
InGameInfo.Ins.Load_Map(SelectMapID);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Use_Ticket()
|
||||||
|
{
|
||||||
|
ServerInfo.Ins.m_ServerData.Use_Item(m_mapData.n_TicketID, 1);
|
||||||
|
ServerInfo.Ins.Write(null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void OnClick_Ranking()
|
||||||
|
{
|
||||||
|
var mapData = table_battlemapconfig.Ins.Get_Data(SelectMapID);
|
||||||
|
RankingMgr.Ins.Show_Rank(mapData.e_Dungeon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 253651f03478e614ca0cb73c51ae7799
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class MapChoiceUI_Dungeon_Maze : MapChoiceUI_DungeonBase
|
||||||
|
{
|
||||||
|
public TextMeshProUGUI[] texts_maze; // 0 랭킹, 1 최고 층수
|
||||||
|
|
||||||
|
public override void Set()
|
||||||
|
{
|
||||||
|
base.Set();
|
||||||
|
|
||||||
|
MyValue.MyChoiceMapData.n_Difficult = 1;
|
||||||
|
SelectLv = Mathf.Max(1, SelectLv - 1);
|
||||||
|
texts_maze[0].text = texts_maze[1].text = "";
|
||||||
|
ServerInfo.Ins.Get_MyRank(MyValue.dic_Leaderboard[m_mapData.e_Dungeon],
|
||||||
|
my =>
|
||||||
|
{
|
||||||
|
if (DSUtil.CheckNull(my))
|
||||||
|
{
|
||||||
|
texts_maze[0].text = DSUtil.Format(323, 99999);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
texts_maze[0].text = DSUtil.Format(323, my.Rank);
|
||||||
|
//texts_maze[1].text = DSUtil.Format(324, my.Scores[0]);
|
||||||
|
}
|
||||||
|
texts_maze[1].text = DSUtil.Format(324, SelectLv);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnClick_GoDungeon()
|
||||||
|
{
|
||||||
|
if (ServerInfo.Ins.m_ServerData.Check_ItemAmount(m_mapData.n_TicketID, 1))
|
||||||
|
{
|
||||||
|
Use_Ticket();
|
||||||
|
MyValue.MyChoiceMapData.Set_MazeMapIndex();
|
||||||
|
Go_Dungeon();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7a146ffcbbaf5464f87ba1df0c734888
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
public class MapChoiceUI_Dungeon_Mimic : MapChoiceUI_DungeonBase
|
||||||
|
{
|
||||||
|
public ArrowUI m_ArrowUI; // 미믹 단계 설정
|
||||||
|
|
||||||
|
public override void Set()
|
||||||
|
{
|
||||||
|
base.Set();
|
||||||
|
MyValue.MyChoiceMapData.n_Difficult = 1;
|
||||||
|
m_ArrowUI.Set(totalcount => { Select_Lv(totalcount); }, SelectLv, true, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Select_Lv(int lv) { SelectLv = lv; }
|
||||||
|
|
||||||
|
public override void OnClick_GoDungeon()
|
||||||
|
{
|
||||||
|
if (ServerInfo.Ins.m_ServerData.Check_ItemAmount(m_mapData.n_TicketID, 1))
|
||||||
|
Go_Dungeon();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 26e9d31732fd2a34e8bf0fafadcca586
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
public class MapChoiceUI_Dungeon_Nightmare : MapChoiceUI_DungeonBase
|
||||||
|
{
|
||||||
|
public TabUIBase tab_NightmareDiff; // 악몽의 시련 난이도
|
||||||
|
|
||||||
|
List<TabUIData> list_NightmareTabData = new List<TabUIData>
|
||||||
|
{ new TabUIData{ btnName = "1" }, new TabUIData{ btnName = "2" }, new TabUIData{ btnName = "3" } };
|
||||||
|
|
||||||
|
public override void Set()
|
||||||
|
{
|
||||||
|
base.Set();
|
||||||
|
|
||||||
|
list_NightmareTabData.ForEach(f => f.onClick = OnClick_NightmareTab);
|
||||||
|
tab_NightmareDiff.Set(list_NightmareTabData);
|
||||||
|
OnClick_NightmareTab();
|
||||||
|
ServerInfo.Ins.Get_MyRank(MyValue.dic_Leaderboard[m_mapData.e_Dungeon],
|
||||||
|
my =>
|
||||||
|
{
|
||||||
|
MyValue.MyChoiceMapData.d_NightmareBeforeDmg = DSUtil.CheckNull(my) ? 0d : double.Parse(my.Scores[0]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnClick_NightmareTab()
|
||||||
|
{
|
||||||
|
MyValue.MyChoiceMapData.n_Difficult = tab_NightmareDiff.Get_Index() + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnClick_GoDungeon()
|
||||||
|
{
|
||||||
|
if (ServerInfo.Ins.m_ServerData.Check_ItemAmount(m_mapData.n_TicketID, 1))
|
||||||
|
{
|
||||||
|
Use_Ticket();
|
||||||
|
Go_Dungeon();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0c0987692ecd2fb438010f07d9ae127e
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
using TMPro;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class MapChoiceUI_Dungeon_Wave : MapChoiceUI_DungeonBase
|
||||||
|
{
|
||||||
|
public TextMeshProUGUI[] texts_wave; // 0 웨이브 난이도, 1 웨이브 최고 점수
|
||||||
|
public WaveRewardUI m_WaveRewardUI; // 웨이브 보상 정보
|
||||||
|
public GameObject go_WaveRewardNoti;
|
||||||
|
|
||||||
|
public override void Set()
|
||||||
|
{
|
||||||
|
base.Set();
|
||||||
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
|
||||||
|
texts_wave[0].text = "";// DSUtil.Format(334, MyValue.MyChoiceMapData.n_Difficult);
|
||||||
|
texts_wave[1].text = DSUtil.Format(335, sdata.Get_DungeonValue(eDungeon.d4_Wave, 2));
|
||||||
|
go_WaveRewardNoti.SetActive(sdata.CanGetWaveReward());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnClick_WaveReward()
|
||||||
|
{
|
||||||
|
m_WaveRewardUI.Set();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void OnClick_GoDungeon()
|
||||||
|
{
|
||||||
|
Go_Dungeon();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 782e55a1749491c4582f9517d8b52fe6
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Loading…
Reference in New Issue