미궁 5번 클리어 후 6번째 보스 등장

This commit is contained in:
Ino 2025-01-27 10:48:47 +09:00
parent d761b4628e
commit 169505013b
3 changed files with 37 additions and 12 deletions

View File

@ -2,16 +2,40 @@ using CodeStage.AntiCheat.ObscuredTypes;
using System;
using System.Collections;
using UnityEngine;
using WebSocketSharp;
public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
{
public ObscuredFloat m_Time;
public ObscuredInt m_MaxDieMobCount;
public Action<float> act_Time;
public Action<int> act_MobDieCount;
ObscuredInt m_DieCount;
private ObscuredFloat _Time;
public float m_Time
{
get { return _Time; }
set { _Time = value; _Time.RandomizeCryptoKey(); }
}
private ObscuredInt _MaxDieMobCount;
public int m_MaxDieMobCount
{
get { return _MaxDieMobCount; }
set { _MaxDieMobCount = value; _MaxDieMobCount.RandomizeCryptoKey(); }
}
private ObscuredInt _DieCount;
public int m_DieCount
{
get { return _DieCount; }
set { _DieCount = value; _DieCount.RandomizeCryptoKey(); }
}
private ObscuredInt _MazeClear;
public int m_MazeClear
{
get { return _MazeClear; }
set { _MazeClear = value; _MazeClear.RandomizeCryptoKey(); }
}
eDungeon m_Dungeon;
public void Stop_Dungeon(bool? win)
@ -27,7 +51,6 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
{
yield return null;
m_Time -= Time.deltaTime;
m_Time.RandomizeCryptoKey();
act_Time?.Invoke(m_Time);
}
@ -37,7 +60,6 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
void Set_MobDie(int mobid)
{
++m_DieCount;
m_DieCount.RandomizeCryptoKey();
act_MobDieCount?.Invoke(m_DieCount);
if (m_DieCount == m_MaxDieMobCount)
{
@ -45,7 +67,8 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
{
case eDungeon.d1_Mimic: Stop_Dungeon(true); break;
case eDungeon.d2_Maze:
// 다음 층으로
++m_MazeClear;
// 포탈 열기
break;
case eDungeon.d3_Nightmare:
break;
@ -67,10 +90,10 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
});
}
public void Start_Dungeon()
public void Start_Dungeon(bool first)
{
m_DieCount = 0;
m_DieCount.RandomizeCryptoKey();
if (first) m_MazeClear = 0;
m_Dungeon = MyValue.MyChoiceMapData.Get_MapData().e_Dungeon;
switch (m_Dungeon)
@ -108,8 +131,11 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
for (int i = 0; i < dgData.n_MobCount; i++)
Make_Mob(eSubRol.None, table_monsterlist.Ins.Get_RandomData(eSubRol.None), dgData, min, max);
if (MyValue.MyChoiceMapData.n_DungeonLv % 6 == 0)
if (m_MazeClear >= 5)
{
m_MazeClear = 0;
Make_Mob(eSubRol.Boss, table_monsterlist.Ins.Get_RandomData(eSubRol.Boss), dgData, min, max);
}
yield return new WaitForSeconds(1f);
StartCoroutine(Co_Update_Time());

View File

@ -13,7 +13,6 @@ public class Ingame_DungeonBase : MonoBehaviour
MaxMobCount.RandomizeCryptoKey();
DungeonInfo.Ins.m_MaxDieMobCount = MaxMobCount;
DungeonInfo.Ins.m_MaxDieMobCount.RandomizeCryptoKey();
DungeonInfo.Ins.act_MobDieCount = Add_MobCount;
}
public virtual void Add_MobCount(int mobid) { }

View File

@ -178,7 +178,7 @@ public class RealCamera : MyCoroutine
ActorInfo.Ins.All_Stop(false);
NewGameUI.Ins.go_Camera.SetActive(true);
Time.timeScale = MyValue.Get_GameSpeed();
DungeonInfo.Ins.Start_Dungeon();
DungeonInfo.Ins.Start_Dungeon(true);
}
void Update_Cam()