수상한 미궁 인게임 완료

This commit is contained in:
Ino 2025-01-28 13:23:32 +09:00
parent 1f2e9833b8
commit bdfaf6f726
6 changed files with 48 additions and 19 deletions

View File

@ -54,5 +54,4 @@ messageinfo 엄청 느린 버그
- 맵 벽과 플레이 사이 더 멀게 만들자
- 결과 화면 (보상 지급)
- 랭킹 (플레이팹 v2 연결)
- 포탈 타면 레벨 하나 증가시키고 다음 맵 시작
- 몬스터 스탯 설정 : (lv - 1) * 0.5

View File

@ -67,10 +67,8 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
{
case eDungeon.d1_Mimic: Stop_Dungeon(true); break;
case eDungeon.d2_Maze:
++m_MazeClear;
StopAllCoroutines();
LoadMapMgr.Ins.Set_MazeNextPortal(MyValue.MyChoiceMapData.n_PortalIndex, true);
//MyValue.MyChoiceMapData.Set_MazeMapIndex(); // 포탈 입장 시
break;
case eDungeon.d3_Nightmare:
break;
@ -142,4 +140,10 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
yield return new WaitForSeconds(1f);
StartCoroutine(Co_Update_Time());
}
public void ClearMazeFloor()
{
++m_MazeClear;
NewGameUI.Ins.Refresh_DungeonUI(m_MazeClear >= 5 ? 1 : 0);
Start_Dungeon(false);
}
}

View File

@ -81,6 +81,8 @@ public class table_dungeonmapconfig : table_missionbase
public List<DungeonMapConfigTableData> Get_DataList(eDungeon dungeon) { return dic_Data[dungeon]; }
public DungeonMapConfigTableData Get_Data_orNull(eDungeon dungeon, int lv)
{
if (dungeon == eDungeon.d2_Maze) lv = 1;
for (int i = 0; i < dic_Data[dungeon].Count; i++)
{
if (dic_Data[dungeon][i].n_MapLv == lv)

View File

@ -2,14 +2,24 @@ using UnityEngine;
public class Ingame_Maze_Portal : MonoBehaviour
{
private void OnEnable()
{
MyValue.m_RealCamera.Set_TargetShow(transform);
}
private void OnEnable() { MyValue.m_RealCamera.Set_TargetShow(transform); }
private void OnTriggerEnter(Collider other) { ProcessCollider(other); }
private void OnCollisionEnter(Collision collision) { ProcessCollider(collision.collider); }
private void ProcessCollider(Collider other)
{
Debug.Log(other);
var actor = other.GetComponent<Actor>();
if (!DSUtil.CheckNull(actor) && actor.IsRole(eRole.PC))
{
// 포탈 타면 레벨 하나 증가시키고 다음 맵 시작
gameObject.SetActive(false);
++MyValue.MyChoiceMapData.n_DungeonLv;
// 맵 변경
MyValue.MyChoiceMapData.Set_MazeMapIndex();
LoadMapMgr.Ins.Set_MazeMap(MyValue.MyChoiceMapData.n_PortalIndex);
DungeonInfo.Ins.ClearMazeFloor();
LoadMapMgr.Ins.Get_PortalPos(MyValue.MyChoiceMapData, pos => { MyValue.MyPC.Set_Warp(pos); });
}
}
}

View File

@ -14,7 +14,19 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
public TextMeshProUGUI[] texts_maze; // 0 랭킹, 1 최고 층수
List<eDungeon> dungeons = new List<eDungeon> { eDungeon.d1_Mimic, eDungeon.d2_Maze, eDungeon.d3_Nightmare, eDungeon.d4_Wave };
ObscuredInt SelectMapID = 1001, SelectLv;
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()
{
@ -31,7 +43,6 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
{
var sdata = ServerInfo.Ins.m_ServerData;
SelectMapID = mapid;
SelectMapID.RandomizeCryptoKey();
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);
@ -56,19 +67,20 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
m_ArrowUI.Set(totalcount => { Select_Lv(totalcount); }, SelectLv, true, 1);
break;
case eDungeon.d2_Maze:
SelectLv = Mathf.Max(1, SelectLv - 1);
texts_maze[0].text = texts_maze[1].text = "";
ServerInfo.Ins.Get_MyRank("Rank_Maze", my =>
{
if (DSUtil.CheckNull(my))
{
texts_maze[0].text = DSUtil.Format(323, 99999);
texts_maze[1].text = DSUtil.Format(324, 0);
}
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, my.Scores[0]);
}
texts_maze[1].text = DSUtil.Format(324, SelectLv);
});
break;
case eDungeon.d3_Nightmare:
@ -76,12 +88,10 @@ public class MapChoiceUI_Dungeon : uScrollViewMgr
case eDungeon.d4_Wave:
break;
}
SelectLv.RandomizeCryptoKey();
}
public void Select_Lv(int lv)
{
SelectLv = lv; SelectLv.RandomizeCryptoKey();
SelectLv = lv;
}
public void OnClick_GoDungeon()

View File

@ -63,15 +63,19 @@ public class NewGameUI : MonoBehaviourSingletonTemplate<NewGameUI>
DSUtil.InActivateGameObjects(gos, 2);
gos_etc[0].SetActive(false);
DSUtil.InActivateGameObjects(gos_ingame, 1);
var dungeonData = MyValue.MyChoiceMapData.Get_DungeonMapData_orNull();
if (!DSUtil.CheckNull(dungeonData))
ingame_dungeon.Set(dungeonData.f_Time, dungeonData.n_MobCount);
Refresh_DungeonUI();
break;
}
m_BattleUI.Set(eUICardType.Use, ServerInfo.Ins.m_ServerData.Equip.Preset);
go_Camera.SetActive(false);
}
public void Refresh_DungeonUI(int addmob = 0)
{
var dungeonData = MyValue.MyChoiceMapData.Get_DungeonMapData_orNull();
if (!DSUtil.CheckNull(dungeonData))
ingame_dungeon.Set(dungeonData.f_Time, dungeonData.n_MobCount + addmob);
}
public TextMeshProUGUI text_joysticktype;
public void OnClick_Button(GameObject go)