언덕의 여왕 완료

This commit is contained in:
Ino 2025-02-04 09:25:38 +09:00
parent a06e738ef4
commit ddcf1c24e4
7 changed files with 29636 additions and 22 deletions

View File

@ -70,6 +70,6 @@ messageinfo 엄청 느린 버그
- 맵 최적화 - 맵 최적화
- 몬스터 패트롤 거리 조절 - 몬스터 패트롤 거리 조절
- 점수와 골드 (기본 1점, 10골드만 주는 중(밸런스 필요)) - 점수와 골드 (기본 1점, 10골드만 주는 중(밸런스 필요))
- 특정 오브젝트와 상호 작용 시 즉시 몬스터 생성
- 점수 일정 이상 보상 지급
PC 기본 공격
-

File diff suppressed because it is too large Load Diff

View File

@ -202,7 +202,7 @@ MonoBehaviour:
m_MapZoneData: m_MapZoneData:
- go_portal: {fileID: 1121419285893260204} - go_portal: {fileID: 1121419285893260204}
go_reincarnation: {fileID: 1121419285893260204} go_reincarnation: {fileID: 1121419285893260204}
go_mazeNextPortal: {fileID: 0} go_mazeNextPortal: {fileID: 6820615792186630848}
tf_Farmer: {fileID: 0} tf_Farmer: {fileID: 0}
tf_Obj: [] tf_Obj: []
--- !u!1 &5278036658280951977 --- !u!1 &5278036658280951977
@ -331,11 +331,6 @@ PrefabInstance:
serializedVersion: 3 serializedVersion: 3
m_TransformParent: {fileID: 6249302636439080431} m_TransformParent: {fileID: 6249302636439080431}
m_Modifications: m_Modifications:
- target: {fileID: 375984183340188518, guid: 8b4429e019ad2cb4b81c3f413ae9aa98,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3933715443776890076, guid: 8b4429e019ad2cb4b81c3f413ae9aa98, - target: {fileID: 3933715443776890076, guid: 8b4429e019ad2cb4b81c3f413ae9aa98,
type: 3} type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
@ -386,11 +381,6 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 4361977242221661733, guid: 8b4429e019ad2cb4b81c3f413ae9aa98,
type: 3}
propertyPath: m_Layer
value: 4
objectReference: {fileID: 0}
- target: {fileID: 6519324125568224569, guid: 8b4429e019ad2cb4b81c3f413ae9aa98, - target: {fileID: 6519324125568224569, guid: 8b4429e019ad2cb4b81c3f413ae9aa98,
type: 3} type: 3}
propertyPath: m_Name propertyPath: m_Name
@ -401,6 +391,12 @@ PrefabInstance:
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8b4429e019ad2cb4b81c3f413ae9aa98, type: 3} m_SourcePrefab: {fileID: 100100000, guid: 8b4429e019ad2cb4b81c3f413ae9aa98, type: 3}
--- !u!1 &6820615792186630848 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 408718094103777688, guid: 8b4429e019ad2cb4b81c3f413ae9aa98,
type: 3}
m_PrefabInstance: {fileID: 6560547417477919576}
m_PrefabAsset: {fileID: 0}
--- !u!4 &7898436642533971844 stripped --- !u!4 &7898436642533971844 stripped
Transform: Transform:
m_CorrespondingSourceObject: {fileID: 3933715443776890076, guid: 8b4429e019ad2cb4b81c3f413ae9aa98, m_CorrespondingSourceObject: {fileID: 3933715443776890076, guid: 8b4429e019ad2cb4b81c3f413ae9aa98,

View File

@ -168,9 +168,11 @@ public class PCActor : MyActor
#endif #endif
LoadMapMgr.Ins.Get_PortalPos(MyValue.MyChoiceMapData, Set_Warp); LoadMapMgr.Ins.Get_PortalPos(MyValue.MyChoiceMapData, Set_Warp);
var dgData = MyValue.MyChoiceMapData.Get_DungeonMapData_orNull(); var dgData = MyValue.MyChoiceMapData.Get_DungeonMapData_orNull();
if (!DSUtil.CheckNull(dgData) && dgData.e_DungeonType == eDungeon.d2_Maze) if (!DSUtil.CheckNull(dgData))
{ {
if (dgData.e_DungeonType == eDungeon.d2_Maze)
LoadMapMgr.Ins.Set_MazeMap(MyValue.MyChoiceMapData.n_PortalIndex); LoadMapMgr.Ins.Set_MazeMap(MyValue.MyChoiceMapData.n_PortalIndex);
if (dgData.e_DungeonType == eDungeon.d2_Maze || dgData.e_DungeonType == eDungeon.d4_Wave)
LoadMapMgr.Ins.Set_MazeNextPortal(MyValue.MyChoiceMapData.n_PortalIndex, false); LoadMapMgr.Ins.Set_MazeNextPortal(MyValue.MyChoiceMapData.n_PortalIndex, false);
} }
} }

View File

@ -3,7 +3,6 @@ using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.SocialPlatforms.Impl;
public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo> public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
{ {
@ -12,7 +11,7 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
public Action<double> act_DamageUI; public Action<double> act_DamageUI;
public Action<int> act_WaveScoreUI, act_WaveLifeUI, act_WaveGold; public Action<int> act_WaveScoreUI, act_WaveLifeUI, act_WaveGold;
public float m_TotalTime; public float m_TotalTime, WaveMakeGapTime;
Dictionary<int, ObscuredFloat> dic_time = new Dictionary<int, ObscuredFloat>(); Dictionary<int, ObscuredFloat> dic_time = new Dictionary<int, ObscuredFloat>();
public void Set_Time(int floor, float time) public void Set_Time(int floor, float time)
{ {
@ -235,12 +234,13 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
yield return new WaitForSeconds(1f); yield return new WaitForSeconds(1f);
StartCoroutine(Co_Update_Time()); StartCoroutine(Co_Update_Time());
float min = 0f, max = 15f;
var mapdata = MyValue.MyChoiceMapData.Get_MapData(); var mapdata = MyValue.MyChoiceMapData.Get_MapData();
var dungeonData = MyValue.MyChoiceMapData.Get_DungeonMapData_orNull(); var dungeonData = MyValue.MyChoiceMapData.Get_DungeonMapData_orNull();
float min = 0f, max = 15f;
int iteration = 0; int iteration = 0;
while (true) while (true)
{ {
WaveMakeGapTime = dungeonData.f_MakeGap;
var mobCount = dungeonData.n_MobCount; var mobCount = dungeonData.n_MobCount;
while (mobCount > 0) while (mobCount > 0)
{ {
@ -251,7 +251,15 @@ public class DungeonInfo : MonoBehaviourSingletonTemplate<DungeonInfo>
yield return new WaitForSeconds(0.5f); yield return new WaitForSeconds(0.5f);
} }
yield return new WaitForSeconds(dungeonData.f_MakeGap); while (WaveMakeGapTime > 0f)
{
yield return null;
WaveMakeGapTime -= Time.deltaTime;
LoadMapMgr.Ins.Set_MazeNextPortal(MyValue.MyChoiceMapData.n_PortalIndex,
DSUtil.CheckNull(ActorInfo.Ins.Get_Nearest_EnemyActor_orNull(false, Vector3.zero, 1000f)));
}
LoadMapMgr.Ins.Set_MazeNextPortal(MyValue.MyChoiceMapData.n_PortalIndex, false);
++iteration; ++iteration;
} }
} }

View File

@ -0,0 +1,18 @@
using UnityEngine;
public class Ingame_Wave_Obj : MonoBehaviour
{
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)
{
var actor = other.GetComponent<Actor>();
if (!DSUtil.CheckNull(actor) && actor.IsRole(eRole.PC))
{
// 다음 웨이브 즉시 소환 시작
DungeonInfo.Ins.WaveMakeGapTime = 0f;
gameObject.SetActive(false);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 62b453079cb6c8c489cc71a8326f7232
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: