로딩 end 타이밍 변경, 챕터 클리어 및 웨이포인트 서버 데이터, 챕터 보스 처치 후 연출 및 클리어 데이터 등

This commit is contained in:
Ino 2025-03-10 13:57:13 +09:00
parent a8c41d9e07
commit 51afe2f860
19 changed files with 339 additions and 40 deletions

View File

@ -65,8 +65,12 @@ messageinfo 엄청 느린 버그
- 몬스터 패트롤 거리 조절 - 몬스터 패트롤 거리 조절
- 점수와 골드 (기본 1점, 10골드만 주는 중(밸런스 필요)) - 점수와 골드 (기본 1점, 10골드만 주는 중(밸런스 필요))
챕터 보스 처치 후 다음 챕터 포탈 활성화 : 다음 챕터로 2챕터 맵 배치
- 이동 불가능 -> 포탈로 카메라 회전 -> 포탈 활성화 -> 이동 가능
1챕터 맵 배치
- 포탈, 필드보스, 부활의 성소, 챕터보스 - 포탈, 필드보스, 부활의 성소, 챕터보스
포탈 몸으로 터치 시 웨이포인트 이동 UI 노출
- 던전 이동은 못하게
챕터 포탈 비활성화 시 터치하면 토스트로 알림
챕터 보스 처치 후 다음 챕터 포탈 활성화 : 다음 챕터로
- 이동 불가능 -> 포탈로 카메라 회전 -> 포탈 활성화 -> 이동 가능

View File

@ -1 +1 @@
[{"n_MapID": "-1", "n_Chapter": "-1", "e_MapType": "Lobby", "e_Dungeon": "None", "s_Scene": "Lobby", "s_BGM": "Chapter1", "n_MapName": "1", "n_MapDesc": "0", "s_MapIcon": "Map1", "n_Portals": "0", "n_TicketID": "0"}, {"n_MapID": "0", "n_Chapter": "0", "e_MapType": "MyFarm", "e_Dungeon": "None", "s_Scene": "MyFarm", "s_BGM": "Chapter1", "n_MapName": "1", "n_MapDesc": "0", "s_MapIcon": "Map2", "n_Portals": "0", "n_TicketID": "0"}, {"n_MapID": "1", "n_Chapter": "1", "e_MapType": "Stage", "e_Dungeon": "None", "s_Scene": "Map_C01", "s_BGM": "Chapter1", "n_MapName": "1", "n_MapDesc": "0", "s_MapIcon": "Map3", "n_Portals": "4", "n_TicketID": "0"}, {"n_MapID": "2", "n_Chapter": "2", "e_MapType": "Stage", "e_Dungeon": "None", "s_Scene": "Map_C02", "s_BGM": "Chapter2", "n_MapName": "1", "n_MapDesc": "0", "s_MapIcon": "Map4", "n_Portals": "1", "n_TicketID": "0"}, {"n_MapID": "1001", "n_Chapter": "0", "e_MapType": "Dungeon", "e_Dungeon": "d1_Mimic", "s_Scene": "Map_Mimic", "s_BGM": "Chapter2", "n_MapName": "1001", "n_MapDesc": "1002", "s_MapIcon": "Map", "n_Portals": "1", "n_TicketID": "501"}, {"n_MapID": "1002", "n_Chapter": "0", "e_MapType": "Dungeon", "e_Dungeon": "d2_Maze", "s_Scene": "Map_Maze", "s_BGM": "Chapter2", "n_MapName": "1011", "n_MapDesc": "1012", "s_MapIcon": "Map", "n_Portals": "1", "n_TicketID": "502"}, {"n_MapID": "1003", "n_Chapter": "0", "e_MapType": "Dungeon", "e_Dungeon": "d3_Nightmare", "s_Scene": "Map_Nightmare", "s_BGM": "Chapter2", "n_MapName": "1021", "n_MapDesc": "1022", "s_MapIcon": "Map", "n_Portals": "1", "n_TicketID": "503"}, {"n_MapID": "1004", "n_Chapter": "0", "e_MapType": "Dungeon", "e_Dungeon": "d4_Wave", "s_Scene": "Map_Wave", "s_BGM": "Chapter2", "n_MapName": "1031", "n_MapDesc": "1032", "s_MapIcon": "Map", "n_Portals": "1", "n_TicketID": "0"}] [{"n_MapID": "-1", "n_Chapter": "-1", "e_MapType": "Lobby", "e_Dungeon": "None", "s_Scene": "Lobby", "s_BGM": "Chapter1", "n_MapName": "1", "n_MapDesc": "0", "s_MapIcon": "Map1", "n_Portals": "0", "n_TicketID": "0"}, {"n_MapID": "0", "n_Chapter": "0", "e_MapType": "MyFarm", "e_Dungeon": "None", "s_Scene": "MyFarm", "s_BGM": "Chapter1", "n_MapName": "1", "n_MapDesc": "0", "s_MapIcon": "Map2", "n_Portals": "0", "n_TicketID": "0"}, {"n_MapID": "1", "n_Chapter": "1", "e_MapType": "Stage", "e_Dungeon": "None", "s_Scene": "Map_C01", "s_BGM": "Chapter1", "n_MapName": "1", "n_MapDesc": "0", "s_MapIcon": "Map3", "n_Portals": "5", "n_TicketID": "0"}, {"n_MapID": "2", "n_Chapter": "2", "e_MapType": "Stage", "e_Dungeon": "None", "s_Scene": "Map_C02", "s_BGM": "Chapter2", "n_MapName": "1", "n_MapDesc": "0", "s_MapIcon": "Map4", "n_Portals": "1", "n_TicketID": "0"}, {"n_MapID": "1001", "n_Chapter": "0", "e_MapType": "Dungeon", "e_Dungeon": "d1_Mimic", "s_Scene": "Map_Mimic", "s_BGM": "Chapter2", "n_MapName": "1001", "n_MapDesc": "1002", "s_MapIcon": "Map", "n_Portals": "1", "n_TicketID": "501"}, {"n_MapID": "1002", "n_Chapter": "0", "e_MapType": "Dungeon", "e_Dungeon": "d2_Maze", "s_Scene": "Map_Maze", "s_BGM": "Chapter2", "n_MapName": "1011", "n_MapDesc": "1012", "s_MapIcon": "Map", "n_Portals": "1", "n_TicketID": "502"}, {"n_MapID": "1003", "n_Chapter": "0", "e_MapType": "Dungeon", "e_Dungeon": "d3_Nightmare", "s_Scene": "Map_Nightmare", "s_BGM": "Chapter2", "n_MapName": "1021", "n_MapDesc": "1022", "s_MapIcon": "Map", "n_Portals": "1", "n_TicketID": "503"}, {"n_MapID": "1004", "n_Chapter": "0", "e_MapType": "Dungeon", "e_Dungeon": "d4_Wave", "s_Scene": "Map_Wave", "s_BGM": "Chapter2", "n_MapName": "1031", "n_MapDesc": "1032", "s_MapIcon": "Map", "n_Portals": "1", "n_TicketID": "0"}]

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -446,6 +446,50 @@ Transform:
- {fileID: 8725207519343720748} - {fileID: 8725207519343720748}
m_Father: {fileID: 7323149927778292724} m_Father: {fileID: 7323149927778292724}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2382183200189681195
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8894035588177359911}
- component: {fileID: 8367151037382630391}
m_Layer: 3
m_Name: maplv
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 2147483647
m_IsActive: 1
--- !u!4 &8894035588177359911
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2382183200189681195}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4916949928351369722}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &8367151037382630391
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2382183200189681195}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 55d2c951f510f3241994bf8cdd83e312, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &2637438966956403514 --- !u!1 &2637438966956403514
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -753,6 +797,7 @@ Transform:
- {fileID: 6356127406870709424} - {fileID: 6356127406870709424}
- {fileID: 7323149927778292724} - {fileID: 7323149927778292724}
- {fileID: 8627054416742143791} - {fileID: 8627054416742143791}
- {fileID: 8894035588177359911}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &3170349061789296410 --- !u!114 &3170349061789296410
@ -769,6 +814,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
material_skybox: {fileID: 0} material_skybox: {fileID: 0}
gos_map: [] gos_map: []
go_nextchapter: {fileID: 0}
m_MapZoneData: m_MapZoneData:
- go_portal: {fileID: 3857351711068606990} - go_portal: {fileID: 3857351711068606990}
CamRot_Portal: 139 CamRot_Portal: 139

View File

@ -1405,7 +1405,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 935c913087b349141aa632be4f8c2689, type: 3} m_Script: {fileID: 11500000, guid: 935c913087b349141aa632be4f8c2689, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
isChapterBoss: 0 isChapterBoss: 1
n_MonsterID: 10009 n_MonsterID: 10009
n_SpawnerId: 1 n_SpawnerId: 1
RegenTime: 10 RegenTime: 10
@ -69380,6 +69380,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2c867b26113834943a33c665b818ff61, type: 3} m_Script: {fileID: 11500000, guid: 2c867b26113834943a33c665b818ff61, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Chapter: 1
material_skybox: {fileID: 2100000, guid: 6bfab16f387f95e4bb60f866299be241, type: 2} material_skybox: {fileID: 2100000, guid: 6bfab16f387f95e4bb60f866299be241, type: 2}
gos_map: [] gos_map: []
go_nextchapter: {fileID: 5988066866665687138} go_nextchapter: {fileID: 5988066866665687138}

View File

@ -1111,11 +1111,15 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2c867b26113834943a33c665b818ff61, type: 3} m_Script: {fileID: 11500000, guid: 2c867b26113834943a33c665b818ff61, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Chapter: 2
material_skybox: {fileID: 2100000, guid: 3f698c5d47507d54db2dcb930054532e, type: 2} material_skybox: {fileID: 2100000, guid: 3f698c5d47507d54db2dcb930054532e, type: 2}
gos_map: [] gos_map: []
go_nextchapter: {fileID: 0}
m_MapZoneData: m_MapZoneData:
- go_portal: {fileID: 1110660438306936230} - go_portal: {fileID: 1110660438306936230}
CamRot_Portal: 0
go_reincarnation: {fileID: 0} go_reincarnation: {fileID: 0}
CamRot_Reincarnation: 0
go_mazeNextPortal: {fileID: 0} go_mazeNextPortal: {fileID: 0}
tf_Farmer: {fileID: 0} tf_Farmer: {fileID: 0}
tf_Obj: [] tf_Obj: []

View File

@ -305,6 +305,7 @@ Transform:
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 4251127085924737396} - {fileID: 4251127085924737396}
- {fileID: 8505589237842599443}
- {fileID: 9130835170938100205} - {fileID: 9130835170938100205}
- {fileID: 4988936019660043266} - {fileID: 4988936019660043266}
m_Father: {fileID: 0} m_Father: {fileID: 0}
@ -325,14 +326,19 @@ MonoBehaviour:
gos_map: gos_map:
- {fileID: 7239982143977823664} - {fileID: 7239982143977823664}
- {fileID: 1207939740146695298} - {fileID: 1207939740146695298}
go_nextchapter: {fileID: 0}
m_MapZoneData: m_MapZoneData:
- go_portal: {fileID: 1116637129571026655} - go_portal: {fileID: 1116637129571026655}
CamRot_Portal: 0
go_reincarnation: {fileID: 1116637129571026655} go_reincarnation: {fileID: 1116637129571026655}
CamRot_Reincarnation: 0
go_mazeNextPortal: {fileID: 7370073230142758695} go_mazeNextPortal: {fileID: 7370073230142758695}
tf_Farmer: {fileID: 0} tf_Farmer: {fileID: 0}
tf_Obj: [] tf_Obj: []
- go_portal: {fileID: 5193090642220991377} - go_portal: {fileID: 5193090642220991377}
CamRot_Portal: 0
go_reincarnation: {fileID: 5193090642220991377} go_reincarnation: {fileID: 5193090642220991377}
CamRot_Reincarnation: 0
go_mazeNextPortal: {fileID: 2623192537447389001} go_mazeNextPortal: {fileID: 2623192537447389001}
tf_Farmer: {fileID: 0} tf_Farmer: {fileID: 0}
tf_Obj: [] tf_Obj: []
@ -1155,6 +1161,50 @@ BoxCollider:
serializedVersion: 3 serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1} m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0} m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &9114193365971298910
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8505589237842599443}
- component: {fileID: 8676269180099881872}
m_Layer: 3
m_Name: maplv
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 2147483647
m_IsActive: 1
--- !u!4 &8505589237842599443
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9114193365971298910}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3035956310856022296}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &8676269180099881872
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9114193365971298910}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 55d2c951f510f3241994bf8cdd83e312, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &287818275774742511 --- !u!1001 &287818275774742511
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -61,6 +61,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 4843309302068652335}
- {fileID: 2514031787644145695} - {fileID: 2514031787644145695}
- {fileID: 284985024530174331} - {fileID: 284985024530174331}
m_Father: {fileID: 0} m_Father: {fileID: 0}
@ -78,11 +79,60 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
material_skybox: {fileID: 2100000, guid: aa87107d0c3535c4983a4edb2d0e9f7b, type: 2} material_skybox: {fileID: 2100000, guid: aa87107d0c3535c4983a4edb2d0e9f7b, type: 2}
gos_map: []
go_nextchapter: {fileID: 0}
m_MapZoneData: m_MapZoneData:
- go_portal: {fileID: 1575810727731054304} - go_portal: {fileID: 1575810727731054304}
CamRot_Portal: 0
go_reincarnation: {fileID: 1575810727731054304} go_reincarnation: {fileID: 1575810727731054304}
CamRot_Reincarnation: 0
go_mazeNextPortal: {fileID: 0}
tf_Farmer: {fileID: 0} tf_Farmer: {fileID: 0}
tf_Obj: [] tf_Obj: []
--- !u!1 &8175139825337747593
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4843309302068652335}
- component: {fileID: 6470151655981129878}
m_Layer: 3
m_Name: maplv
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 2147483647
m_IsActive: 1
--- !u!4 &4843309302068652335
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8175139825337747593}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2209133656278579762}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &6470151655981129878
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8175139825337747593}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 55d2c951f510f3241994bf8cdd83e312, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &8847034768703182847 --- !u!1 &8847034768703182847
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -118,6 +118,50 @@ MonoBehaviour:
m_LightCookieSize: {x: 1, y: 1} m_LightCookieSize: {x: 1, y: 1}
m_LightCookieOffset: {x: 0, y: 0} m_LightCookieOffset: {x: 0, y: 0}
m_SoftShadowQuality: 0 m_SoftShadowQuality: 0
--- !u!1 &2198791126181483962
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 770724038972393726}
- component: {fileID: 1236953753523369144}
m_Layer: 3
m_Name: maplv
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 2147483647
m_IsActive: 1
--- !u!4 &770724038972393726
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2198791126181483962}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2085077081205253630}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1236953753523369144
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2198791126181483962}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 55d2c951f510f3241994bf8cdd83e312, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &3940362859317550395 --- !u!1 &3940362859317550395
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -181,6 +225,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 770724038972393726}
- {fileID: 4076061848388068766} - {fileID: 4076061848388068766}
- {fileID: 7181170418857310842} - {fileID: 7181170418857310842}
m_Father: {fileID: 0} m_Father: {fileID: 0}
@ -199,9 +244,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
material_skybox: {fileID: 2100000, guid: aa87107d0c3535c4983a4edb2d0e9f7b, type: 2} material_skybox: {fileID: 2100000, guid: aa87107d0c3535c4983a4edb2d0e9f7b, type: 2}
gos_map: [] gos_map: []
go_nextchapter: {fileID: 0}
m_MapZoneData: m_MapZoneData:
- go_portal: {fileID: 4937019759187535113} - go_portal: {fileID: 4937019759187535113}
CamRot_Portal: 0
go_reincarnation: {fileID: 4937019759187535113} go_reincarnation: {fileID: 4937019759187535113}
CamRot_Reincarnation: 0
go_mazeNextPortal: {fileID: 0} go_mazeNextPortal: {fileID: 0}
tf_Farmer: {fileID: 0} tf_Farmer: {fileID: 0}
tf_Obj: [] tf_Obj: []

View File

@ -1,5 +1,49 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!1 &314029353408828964
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 393386680976237403}
- component: {fileID: 8878728903092499985}
m_Layer: 3
m_Name: maplv
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 2147483647
m_IsActive: 1
--- !u!4 &393386680976237403
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 314029353408828964}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6249302636439080431}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &8878728903092499985
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 314029353408828964}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 55d2c951f510f3241994bf8cdd83e312, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1121419285893260204 --- !u!1 &1121419285893260204
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -179,6 +223,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 393386680976237403}
- {fileID: 5390939297647397200} - {fileID: 5390939297647397200}
- {fileID: 8134882710772103361} - {fileID: 8134882710772103361}
- {fileID: 4342598722647036496} - {fileID: 4342598722647036496}
@ -199,9 +244,12 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
material_skybox: {fileID: 2100000, guid: 3f698c5d47507d54db2dcb930054532e, type: 2} material_skybox: {fileID: 2100000, guid: 3f698c5d47507d54db2dcb930054532e, type: 2}
gos_map: [] gos_map: []
go_nextchapter: {fileID: 0}
m_MapZoneData: m_MapZoneData:
- go_portal: {fileID: 1121419285893260204} - go_portal: {fileID: 1121419285893260204}
CamRot_Portal: 0
go_reincarnation: {fileID: 1121419285893260204} go_reincarnation: {fileID: 1121419285893260204}
CamRot_Reincarnation: 0
go_mazeNextPortal: {fileID: 6820615792186630848} go_mazeNextPortal: {fileID: 6820615792186630848}
tf_Farmer: {fileID: 0} tf_Farmer: {fileID: 0}
tf_Obj: [] tf_Obj: []

View File

@ -64,7 +64,7 @@ public class SceneInfo : MonoBehaviour
yield return new WaitForSeconds(1f); yield return new WaitForSeconds(1f);
LoadingUI.Ins.End_Loading(); //LoadingUI.Ins.End_Loading();
SoundInfo.Ins.Play_BGM(DSUtil.StringToEnum<eBGM>(CurStageData.s_BGM)); SoundInfo.Ins.Play_BGM(DSUtil.StringToEnum<eBGM>(CurStageData.s_BGM));
addloadend?.Invoke(); addloadend?.Invoke();
Debug.Log(DSUtil.StopStopWatch(false)); Debug.Log(DSUtil.StopStopWatch(false));

View File

@ -1,3 +1,4 @@
using System.Collections;
using UnityEngine; using UnityEngine;
public class FieldBossData : MyCoroutine public class FieldBossData : MyCoroutine
@ -29,7 +30,24 @@ public class FieldBossData : MyCoroutine
Set_Coroutine(() => { m_FieldBoss.On_Regen(); }, RegenTime); Set_Coroutine(() => { m_FieldBoss.On_Regen(); }, RegenTime);
if (isChapterBoss) if (isChapterBoss)
{ {
// TODO 정인호 : 챕터 보스 처치 후 다음 챕터로 가는 포탈 열기 // 챕터 보스 처치 후 다음 챕터로 가는 포탈 열기
var sdata = ServerInfo.Ins.m_ServerData;
var mapData = MyValue.MyChoiceMapData;
sdata.MapData_SetClearChapter(mapData.n_MapID, mapData.n_Difficult);
StartCoroutine(Co_Cam());
} }
} }
IEnumerator Co_Cam()
{
// 이동 불가능 -> 포탈로 카메라 회전 -> 포탈 활성화 -> 이동 가능
OptionInfo.Ins.Set_PCMove(MyValue.MyPC, false);
yield return new WaitForSeconds(0.5f);
MyValue.m_RealCamera.Set_TargetShow(MapData.Ins.go_nextchapter.transform);
yield return new WaitForSeconds(1f);
MapData.Ins.go_nextchapter.SetActive(true);
yield return new WaitForSeconds(1f);
OptionInfo.Ins.Set_PCMove(MyValue.MyPC, true);
}
} }

View File

@ -4,10 +4,10 @@ using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using Random = UnityEngine.Random; using Random = UnityEngine.Random;
public class MapData : MonoBehaviour public class MapData : MonoBehaviourSingletonTemplate<MapData>
{ {
public Material material_skybox; public Material material_skybox;
public GameObject[] gos_map; public GameObject[] gos_map; // 미궁에서 사용 (여러 맵 중 하나 오픈)
public GameObject go_nextchapter; // 다음 챕터 포탈 활성화 public GameObject go_nextchapter; // 다음 챕터 포탈 활성화
[SerializeField] public List<MapZoneData> m_MapZoneData; [SerializeField] public List<MapZoneData> m_MapZoneData;
@ -21,7 +21,9 @@ public class MapData : MonoBehaviour
RenderSettings.fog = false; RenderSettings.fog = false;
RenderSettings.reflectionIntensity = 0f; RenderSettings.reflectionIntensity = 0f;
if (go_nextchapter) go_nextchapter.SetActive(false); var mapData = MyValue.MyChoiceMapData;
var isclear = ServerInfo.Ins.m_ServerData.MapData_isClearChaper(mapData.n_MapID, mapData.n_Difficult);
if (go_nextchapter) go_nextchapter.SetActive(isclear);
} }
public MapZoneData Get_MapZoneData(int index) { return m_MapZoneData[index]; } public MapZoneData Get_MapZoneData(int index) { return m_MapZoneData[index]; }

View File

@ -12,10 +12,11 @@ public class MobControlMgr : MyCoroutine
MonsterAppearData m_MonsterAppearData; MonsterAppearData m_MonsterAppearData;
Dictionary<int, List<Actor>> dic_actors = new Dictionary<int, List<Actor>>(); Dictionary<int, List<Actor>> dic_actors = new Dictionary<int, List<Actor>>();
int orderIndex, killmobcount; int orderIndex, killmobcount;
bool m_LoadComplete;
IEnumerator Start() IEnumerator Start()
{ {
MobControlMgrList.Ins.Add(transform.position); m_LoadComplete = false;
text_lv.text = "Lv.???"; text_lv.text = "Lv.???";
m_MonsterAppearData = table_monsterappear.Ins.Get_Data_orNull(SpawnerID); m_MonsterAppearData = table_monsterappear.Ins.Get_Data_orNull(SpawnerID);
@ -34,9 +35,13 @@ public class MobControlMgr : MyCoroutine
// 생성한 몬스터를 m_MonsterAppearData.n_MaxMonsterCount 만큼 활성화 // 생성한 몬스터를 m_MonsterAppearData.n_MaxMonsterCount 만큼 활성화
for (int i = 0; i < m_MonsterAppearData.n_MaxMonsterCount; i++) for (int i = 0; i < m_MonsterAppearData.n_MaxMonsterCount; i++)
dic_actors[0][i].On_Regen(); dic_actors[0][i].On_Regen();
m_LoadComplete = true;
} }
} }
public bool Get_LoadComplete() { return m_LoadComplete; }
List<MonsterTableData> Get_Mobs() List<MonsterTableData> Get_Mobs()
{ {
var list_make_mobs = new List<MonsterTableData>(); var list_make_mobs = new List<MonsterTableData>();

View File

@ -1,31 +1,30 @@
using System.Collections; using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MobControlMgrList : MonoBehaviourSingletonTemplate<MobControlMgrList> public class MobControlMgrList : MonoBehaviourSingletonTemplate<MobControlMgrList>
{ {
List<Vector3> list = new List<Vector3>(); IEnumerator Start()
public void Add(Vector3 pos) { list.Add(pos); }
public Vector3 Get_NearstMobGen(Vector3 pos)
{ {
//if (list.Count == 0) var mobloads = GetComponentsInChildren<MobControlMgr>();
//return Vector3.zero; // 리스트가 비어있으면 기본값 반환
Vector3 nearestPos = list[0]; // 첫 번째 위치를 기본값으로 설정 // 모든 mobloads가 로드 완료될 때까지 대기
float nearestDistance = Vector3.Distance(pos, nearestPos); while (true)
foreach (var mobGenPos in list)
{ {
float distance = Vector3.Distance(pos, mobGenPos); bool allLoaded = true;
if (distance < nearestDistance) for (int i = 0; i < mobloads.Length; i++)
{ {
nearestDistance = distance; if (!mobloads[i].Get_LoadComplete())
nearestPos = mobGenPos; {
allLoaded = false;
break; // 하나라도 로드 안 됐으면 루프 종료
}
} }
if (allLoaded) break; // 모든 로드 완료 시 while 루프 탈출
yield return null; // 다음 프레임까지 대기
} }
return nearestPos; // 가장 가까운 위치 반환 LoadingUI.Ins.End_Loading();
} }
} }

View File

@ -38,6 +38,7 @@ public class SC_MyResult { public int result; }
public partial class ServerData public partial class ServerData
{ {
public DateTime LastTime; public DateTime LastTime;
public List<ObscuredInt> Common;
public Dictionary<string, Dictionary<string, SD_MapData>> MapData; // <맵ID, <난이도, 데이터>> public Dictionary<string, Dictionary<string, SD_MapData>> MapData; // <맵ID, <난이도, 데이터>>
public SD_Buff Buff; public SD_Buff Buff;
public SD_Equip Equip; public SD_Equip Equip;
@ -82,7 +83,6 @@ public partial class ServerData
public List<ServerData_Book> Book; public List<ServerData_Book> Book;
public List<ServerData_ChapterQuest> ChapterQuest; public List<ServerData_ChapterQuest> ChapterQuest;
public Dictionary<string, List<List<ObscuredInt>>> Mission; public Dictionary<string, List<List<ObscuredInt>>> Mission;
public List<ObscuredInt> Common;
public List<List<ObscuredInt>> Title, Pass; public List<List<ObscuredInt>> Title, Pass;
public Dictionary<string, ObscuredInt> Inven = new Dictionary<string, ObscuredInt>(); // ID, 개수 public Dictionary<string, ObscuredInt> Inven = new Dictionary<string, ObscuredInt>(); // ID, 개수
public Dictionary<string, List<ObscuredInt>> Shop, Potion; public Dictionary<string, List<ObscuredInt>> Shop, Potion;
@ -443,6 +443,24 @@ public partial class ServerData
} }
#region MapData #region MapData
public bool MapData_isClearChaper(int mapid, int diff)
{
var key1 = Get_Key(mapid);
var key2 = Get_Key(diff);
if (MapData.ContainsKey(key1) && MapData[key1].ContainsKey(key2))
return MapData[key1][key2].isClear();
return false;
}
public void MapData_SetClearChapter(int mapid, int diff)
{
var key1 = Get_Key(mapid);
var key2 = Get_Key(diff);
if (MapData.ContainsKey(key1) && MapData[key1].ContainsKey(key2))
{
MapData[key1][key2].Clear = 1;
MapData[key1][key2].Clear.RandomizeCryptoKey();
}
}
public ObscuredInt MapData_Get_StatLv(int mapid, int diff, eMainStatType stat) public ObscuredInt MapData_Get_StatLv(int mapid, int diff, eMainStatType stat)
{ {
var key1 = Get_Key(mapid); var key1 = Get_Key(mapid);
@ -1040,7 +1058,7 @@ public partial class ServerData
} }
public void Init_Month() public void Init_Month()
{ {
Set_Common(eCommon.Month, ServerInfo.ServerTime.DayOfYear); Set_Common(eCommon.DOY_Month, ServerInfo.ServerTime.DayOfYear);
Init_ShopMonth(); Init_ShopMonth();
} }
public int Get_Common(eCommon common, bool _realvalue = false) public int Get_Common(eCommon common, bool _realvalue = false)
@ -2516,19 +2534,22 @@ public class SD_Equipment_Read
} }
public class SD_MapData public class SD_MapData
{ {
public ObscuredInt Clear; // 클리어 여부 public ObscuredInt Clear;
public Dictionary<string, ObscuredInt> Way = new Dictionary<string, ObscuredInt>();
public List<ObscuredInt> Stat; // 0 힘, 1 민, 2 지 public List<ObscuredInt> Stat; // 0 힘, 1 민, 2 지
public SD_MapData_Read Get() public SD_MapData_Read Get()
{ {
var rtn = new SD_MapData_Read(); var rtn = new SD_MapData_Read();
rtn.Stat = new List<int>(); rtn.Clear = Clear;
for (int i = 0; i < Stat.Count; i++) rtn.Way = DSUtil.Get_T_Dic(Way);
rtn.Stat.Add(Stat[i]); rtn.Stat = DSUtil.Get_T_List(Stat);
return rtn; return rtn;
} }
public bool isClear() { return Clear > 0; }
int Get_Index_byStat(eMainStatType stat) int Get_Index_byStat(eMainStatType stat)
{ {
int index = -1; int index = -1;
@ -2560,14 +2581,16 @@ public class SD_MapData
} }
public class SD_MapData_Read public class SD_MapData_Read
{ {
public int Clear;
public Dictionary<string, int> Way = new Dictionary<string, int>();
public List<int> Stat; // 0 힘, 1 민, 2 지 public List<int> Stat; // 0 힘, 1 민, 2 지
public SD_MapData Get() public SD_MapData Get()
{ {
var rtn = new SD_MapData(); var rtn = new SD_MapData();
rtn.Stat = new List<ObscuredInt>(); rtn.Clear = Clear;
for (int i = 0; i < Stat.Count; i++) rtn.Way = DSUtil.Get_T_Dic(Way);
rtn.Stat.Add(Stat[i]); rtn.Stat = DSUtil.Get_T_List(Stat);
return rtn; return rtn;
} }

View File

@ -62,7 +62,7 @@ public class DataCheckMgr : MyCoroutine
if (sdata.Get_Common(eCommon.DOY_Week) != weekNum) if (sdata.Get_Common(eCommon.DOY_Week) != weekNum)
sdata.Init_Week(weekNum); sdata.Init_Week(weekNum);
// 다음달이 됐을 때, 주간 데이터 초기화 // 다음달이 됐을 때, 주간 데이터 초기화
if (sdata.Get_Common(eCommon.Month) != ServerInfo.ServerTime.Month) if (sdata.Get_Common(eCommon.DOY_Month) != ServerInfo.ServerTime.Month)
sdata.Init_Month(); sdata.Init_Month();
yield return new WaitForSeconds(1f); yield return new WaitForSeconds(1f);

View File

@ -196,7 +196,8 @@ public enum eStat
public enum eFarmerStat { MoveSpeed, DanceCoolTime } public enum eFarmerStat { MoveSpeed, DanceCoolTime }
public enum eCommon public enum eCommon
{ {
Agree, Noti, NightNoti, DOY_Day, DOY_Week, Month, PlayTime, Auto, Title, ADRemove, DungeonOpen1, DungeonOpen2, GuideStep, GuideClear, Agree, Noti, NightNoti, DOY_Day, DOY_Week, DOY_Month, PlayTime, Auto, Title, ADRemove, DungeonOpen1, DungeonOpen2,
GuideStep, GuideClear,
NickChange, X2, CloverShopResetTime, CloverShopID_Weapon, CloverShopID_Ring, CloverShopID_Neck, CloverShopID_Boots, CloverShopID_Fairy, CloverShopID_Magic, CloverShopID_Pet, InAppBuyCount, FieldFirstFree, NickChange, X2, CloverShopResetTime, CloverShopID_Weapon, CloverShopID_Ring, CloverShopID_Neck, CloverShopID_Boots, CloverShopID_Fairy, CloverShopID_Magic, CloverShopID_Pet, InAppBuyCount, FieldFirstFree,
Roullette_Ticket, Roullette_Count, Roullette_ADCount, Roullette_LuckyCount, AttendanceStep, AttendanceDOY, Roullette_Ticket, Roullette_Count, Roullette_ADCount, Roullette_LuckyCount, AttendanceStep, AttendanceDOY,
Max Max