악몽 작업 중.... 2
This commit is contained in:
parent
bdc87796f5
commit
1e253839e5
|
|
@ -54,6 +54,14 @@ messageinfo 엄청 느린 버그
|
||||||
수상한 미궁
|
수상한 미궁
|
||||||
- 맵 벽과 플레이 사이 더 멀게 만들자 (카메라가 벽 밖에 안 나가게)
|
- 맵 벽과 플레이 사이 더 멀게 만들자 (카메라가 벽 밖에 안 나가게)
|
||||||
- 매월 초기화 후 보상 우편으로 지급
|
- 매월 초기화 후 보상 우편으로 지급
|
||||||
- 추가 구매 구현 필요
|
- 입장권 추가 구매 구현 필요
|
||||||
- 결과 화면 (보상 지급)
|
- 결과 화면 (보상 지급)
|
||||||
- 랭킹 15분마다 갱신
|
- 랭킹 15분마다 갱신
|
||||||
|
|
||||||
|
악몽의 시련
|
||||||
|
- 결과 화면 (보상 지급)
|
||||||
|
- 입장권 추가 구매 구현 필요
|
||||||
|
- 랭킹 UI 통합(랭킹 및 랭킹 보상이 기본)
|
||||||
|
- 데미지 합계 저장
|
||||||
|
- 랜덤 보스 몬스터 생성 및 무적
|
||||||
|
- 인게임 UI
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -422,7 +422,7 @@ public class Actor : MyCoroutine
|
||||||
Check_CC_byAttack(_dinfo);
|
Check_CC_byAttack(_dinfo);
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == "StatTest")
|
if (SceneManager.GetActiveScene().name == "StatTest")
|
||||||
{
|
{
|
||||||
MainToStatTest.Ins.Set_Dmglabel(HUDBase.Get_TextColor(_dinfo.Beater.m_AttackType) + (_dinfo.Critical == eStat.CRI || _dinfo.Critical == eStat.M_CRI ? "" + _dinfo.Critical + " " : " ") + _dinfo.Damage);
|
MainToStatTest.Ins.Set_Dmglabel(HUDBase.Get_TextColor(_dinfo.Beater.m_AttackType) + (_dinfo.Critical == eStat.CRI || _dinfo.Critical == eStat.M_CRI ? "" + _dinfo.Critical + " " : " ") + _dinfo.Damage);
|
||||||
return;
|
return;
|
||||||
|
|
@ -433,7 +433,11 @@ public class Actor : MyCoroutine
|
||||||
{
|
{
|
||||||
if (IsDead()) return;
|
if (IsDead()) return;
|
||||||
|
|
||||||
|
if (MyValue.MyChoiceMapData.Get_MapData().e_Dungeon == eDungeon.d3_Nightmare)
|
||||||
|
DungeonInfo.Ins.act_Damage_byMob(_dinfo.Damage);
|
||||||
|
else
|
||||||
m_Stat.Set_Stat(false, eStat.HP, _dinfo.Damage);
|
m_Stat.Set_Stat(false, eStat.HP, _dinfo.Damage);
|
||||||
|
|
||||||
_dinfo.act_returnLastDmg?.Invoke(_dinfo.Damage);
|
_dinfo.act_returnLastDmg?.Invoke(_dinfo.Damage);
|
||||||
_dinfo.act_CriAfterHit?.Invoke(_dinfo.Critical);
|
_dinfo.act_CriAfterHit?.Invoke(_dinfo.Critical);
|
||||||
Add_ReceiveDmg(_dinfo.Damage);
|
Add_ReceiveDmg(_dinfo.Damage);
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
|
||||||
{
|
{
|
||||||
public Action<float> act_Time;
|
public Action<float> act_Time;
|
||||||
public Action<int> act_MobDieCount;
|
public Action<int> act_MobDieCount;
|
||||||
|
public Action<double> act_Damage_byMob;
|
||||||
|
public Action<double> act_DamageUI;
|
||||||
|
|
||||||
public float m_TotalTime;
|
public float m_TotalTime;
|
||||||
Dictionary<int, ObscuredFloat> dic_time = new Dictionary<int, ObscuredFloat>();
|
Dictionary<int, ObscuredFloat> dic_time = new Dictionary<int, ObscuredFloat>();
|
||||||
|
|
@ -41,6 +43,13 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
|
||||||
set { _MazeClear = value; _MazeClear.RandomizeCryptoKey(); }
|
set { _MazeClear = value; _MazeClear.RandomizeCryptoKey(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected ObscuredDouble _TotalDamage;
|
||||||
|
public double m_TotalDamage
|
||||||
|
{
|
||||||
|
get { return _TotalDamage; }
|
||||||
|
set { _TotalDamage = value; _TotalDamage.RandomizeCryptoKey(); }
|
||||||
|
}
|
||||||
|
|
||||||
eDungeon m_Dungeon;
|
eDungeon m_Dungeon;
|
||||||
bool bTotalTimeUpdate = false;
|
bool bTotalTimeUpdate = false;
|
||||||
|
|
||||||
|
|
@ -111,6 +120,7 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
|
||||||
{
|
{
|
||||||
m_TotalTime = 0f;
|
m_TotalTime = 0f;
|
||||||
m_MazeClear = 0;
|
m_MazeClear = 0;
|
||||||
|
m_TotalDamage = 0f;
|
||||||
}
|
}
|
||||||
bTotalTimeUpdate = true;
|
bTotalTimeUpdate = true;
|
||||||
|
|
||||||
|
|
@ -165,4 +175,16 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
|
||||||
NewGameUI.Ins.Refresh_DungeonUI(m_MazeClear >= 5 ? 1 : 0);
|
NewGameUI.Ins.Refresh_DungeonUI(m_MazeClear >= 5 ? 1 : 0);
|
||||||
Start_Dungeon(false);
|
Start_Dungeon(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Set_Nightmare(Action<double> actui)
|
||||||
|
{
|
||||||
|
act_DamageUI = actui;
|
||||||
|
act_Damage_byMob = Add_TotalDmg;
|
||||||
|
Add_TotalDmg(-m_TotalDamage);
|
||||||
|
}
|
||||||
|
public void Add_TotalDmg(double dmg)
|
||||||
|
{
|
||||||
|
m_TotalDamage += dmg;
|
||||||
|
act_DamageUI?.Invoke(m_TotalDamage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -7,7 +7,11 @@ public class DungeonResult_Mimic : DungeonResultBase
|
||||||
|
|
||||||
public override void Set(bool? win)
|
public override void Set(bool? win)
|
||||||
{
|
{
|
||||||
if (DSUtil.CheckNull(win)) return; // 포기
|
if (DSUtil.CheckNull(win))
|
||||||
|
{
|
||||||
|
InGameInfo.Ins.Return_To_Lobby();
|
||||||
|
return; // 포기
|
||||||
|
}
|
||||||
|
|
||||||
base.Set(win);
|
base.Set(win);
|
||||||
var sdata = ServerInfo.Ins.m_ServerData;
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using TMPro;
|
||||||
|
|
||||||
|
public class DungeonResult_Nightmare : DungeonResultBase
|
||||||
|
{
|
||||||
|
public TextMeshProUGUI[] texts;
|
||||||
|
|
||||||
|
public override void Set(bool? win)
|
||||||
|
{
|
||||||
|
base.Set(win);
|
||||||
|
|
||||||
|
var sdata = ServerInfo.Ins.m_ServerData;
|
||||||
|
var BeforeDmg = 0d;
|
||||||
|
var CurDmg = 0d;
|
||||||
|
texts[0].text = DSUtil.Format("기존 데미지 : {0}\n\n현재 데미지 : {1}", BeforeDmg, CurDmg);
|
||||||
|
|
||||||
|
if (CurDmg > BeforeDmg)
|
||||||
|
{
|
||||||
|
//sdata.Set_DungeonLv(eDungeon.d2_Maze, nextFloor);
|
||||||
|
ServerInfo.Ins.Write(null, false);
|
||||||
|
|
||||||
|
ServerInfo.Ins.Save_Rank("Rank_Damage", new List<string> { Math.Truncate(CurDmg).ToString() });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9f51e67d3db34e240bb8a4d1ba544942
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -3,7 +3,7 @@ using UnityEngine;
|
||||||
|
|
||||||
public class Ingame_Dungeon : MonoBehaviour
|
public class Ingame_Dungeon : MonoBehaviour
|
||||||
{
|
{
|
||||||
public Ingame_DungeonBase[] ingame_Dungeons; // 0 미믹, 1 미궁, 2 시련, 3 웨이브
|
public Ingame_DungeonBase[] ingame_Dungeons; // 0 미믹, 1 미궁, 2 악몽, 3 웨이브
|
||||||
public TextMeshProUGUI[] texts_base; // 0 던전 정보, 1 남은 시간
|
public TextMeshProUGUI[] texts_base; // 0 던전 정보, 1 남은 시간
|
||||||
|
|
||||||
public void Set(float time, int maxMobCount)
|
public void Set(float time, int maxMobCount)
|
||||||
|
|
@ -30,6 +30,8 @@ public class Ingame_Dungeon : MonoBehaviour
|
||||||
texts_base[0].text = $"{mapData.Get_Name()} F{MyValue.MyChoiceMapData.n_DungeonLv}";
|
texts_base[0].text = $"{mapData.Get_Name()} F{MyValue.MyChoiceMapData.n_DungeonLv}";
|
||||||
break;
|
break;
|
||||||
case eDungeon.d3_Nightmare:
|
case eDungeon.d3_Nightmare:
|
||||||
|
texts_base[0].text = $"{mapData.Get_Name()} {MyValue.MyChoiceMapData.n_Difficult}";
|
||||||
|
DungeonInfo.Ins.Set_Nightmare(ingame_Dungeons[MyValue.MyChoiceMapData.Get_DungeonIndex()].Set_TotalDmg);
|
||||||
break;
|
break;
|
||||||
case eDungeon.d4_Wave:
|
case eDungeon.d4_Wave:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -29,4 +29,5 @@ public class Ingame_DungeonBase : MonoBehaviour
|
||||||
DungeonInfo.Ins.act_MobDieCount = Add_MobCount;
|
DungeonInfo.Ins.act_MobDieCount = Add_MobCount;
|
||||||
}
|
}
|
||||||
public virtual void Add_MobCount(int mobid) { }
|
public virtual void Add_MobCount(int mobid) { }
|
||||||
|
public virtual void Set_TotalDmg(double dmg) { }
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
using TMPro;
|
||||||
|
|
||||||
|
public class Ingame_Nightmare : Ingame_DungeonBase
|
||||||
|
{
|
||||||
|
public TextMeshProUGUI[] texts; // 0 데미지
|
||||||
|
|
||||||
|
public override void Set_TotalDmg(double dmg)
|
||||||
|
{
|
||||||
|
texts[0].text = NumberFormatter.FormatNumber(dmg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 40cc608dcd324954ab5af90763be2a46
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -104,11 +104,7 @@ public class NewGameUI : MonoBehaviourSingletonTemplate<NewGameUI>
|
||||||
if (!DSUtil.CheckNull(FarmFarmUI.Ins) && FarmFarmUI.Ins.isActiveAndEnabled)
|
if (!DSUtil.CheckNull(FarmFarmUI.Ins) && FarmFarmUI.Ins.isActiveAndEnabled)
|
||||||
FarmFarmUI.Ins.ReturnToFarm();
|
FarmFarmUI.Ins.ReturnToFarm();
|
||||||
else if (InGameInfo.Ins.IsGameMode(eGameMode.Dungeon))
|
else if (InGameInfo.Ins.IsGameMode(eGameMode.Dungeon))
|
||||||
{
|
|
||||||
DungeonInfo.Ins.Stop_Dungeon(null);
|
DungeonInfo.Ins.Stop_Dungeon(null);
|
||||||
if (MyValue.MyChoiceMapData.Get_MapData().e_Dungeon != eDungeon.d2_Maze)
|
|
||||||
InGameInfo.Ins.Return_To_Lobby();
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
InGameInfo.Ins.Return_To_Lobby();
|
InGameInfo.Ins.Return_To_Lobby();
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue