107 lines
3.5 KiB
C#
107 lines
3.5 KiB
C#
using CodeStage.AntiCheat.ObscuredTypes;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using Random = UnityEngine.Random;
|
|
|
|
public class MapData : MonoBehaviourSingletonTemplate<MapData>
|
|
{
|
|
public Material material_skybox;
|
|
public GameObject[] gos_map; // 미궁에서 사용 (여러 맵 중 하나 오픈)
|
|
public ChapterPortal m_ChapterPortal;
|
|
[SerializeField] public List<MapZoneData> m_MapZoneData;
|
|
|
|
void Start()
|
|
{
|
|
RenderSettings.skybox = material_skybox;
|
|
RenderSettings.ambientMode = UnityEngine.Rendering.AmbientMode.Trilight;
|
|
RenderSettings.ambientSkyColor = Color.gray;
|
|
RenderSettings.ambientEquatorColor = new Color32(180, 148, 123, 255);
|
|
RenderSettings.ambientGroundColor = new Color32(79, 79, 115, 255);
|
|
RenderSettings.fog = false;
|
|
RenderSettings.reflectionIntensity = 0f;
|
|
|
|
if (m_ChapterPortal)
|
|
{
|
|
var mapData = MyValue.MyChoiceMapData;
|
|
var isclear = ServerInfo.Ins.m_ServerData.MapData_isClearChaper(mapData.n_MapID, mapData.n_Difficult);
|
|
m_ChapterPortal.Set_NextChapter(isclear);
|
|
}
|
|
}
|
|
|
|
public MapZoneData Get_MapZoneData(int index) { return m_MapZoneData[index]; }
|
|
public void Set_MazeMap(int index)
|
|
{
|
|
DSUtil.InActivateGameObjects(gos_map, index);
|
|
Set_MazeNextPortal(index, false);
|
|
}
|
|
public void Set_MazeNextPortal(int index, bool active)
|
|
{
|
|
var mzd = Get_MapZoneData(index);
|
|
if (!DSUtil.CheckNull(mzd.go_mazeNextPortal))
|
|
mzd.go_mazeNextPortal.SetActive(active);
|
|
}
|
|
}
|
|
|
|
[Serializable]
|
|
public class MapZoneData
|
|
{
|
|
public GameObject go_portal;
|
|
public float CamRot_Portal;
|
|
public GameObject go_reincarnation;
|
|
public float CamRot_Reincarnation;
|
|
public GameObject go_mazeNextPortal;
|
|
public Transform tf_Farmer;
|
|
public Transform[] tf_Obj;
|
|
}
|
|
|
|
public class ChoiceMapData
|
|
{
|
|
ObscuredInt _Difficult;
|
|
public int n_Difficult
|
|
{
|
|
get { return _Difficult; }
|
|
set { _Difficult = value; _Difficult.RandomizeCryptoKey(); }
|
|
}
|
|
ObscuredInt _MapID;
|
|
public int n_MapID
|
|
{
|
|
get { return _MapID; }
|
|
set { _MapID = value; _MapID.RandomizeCryptoKey(); }
|
|
}
|
|
ObscuredInt _PortalIndex;
|
|
public int n_PortalIndex
|
|
{
|
|
get { return _PortalIndex; }
|
|
set { _PortalIndex = value; _PortalIndex.RandomizeCryptoKey(); }
|
|
}
|
|
ObscuredInt _DungeonLv;
|
|
public int n_DungeonLv
|
|
{
|
|
get { return _DungeonLv; }
|
|
set { _DungeonLv = value; _DungeonLv.RandomizeCryptoKey(); }
|
|
}
|
|
protected ObscuredDouble _NightmareBeforeDmg;
|
|
public double d_NightmareBeforeDmg
|
|
{
|
|
get { return _NightmareBeforeDmg; }
|
|
set { _NightmareBeforeDmg = value; _NightmareBeforeDmg.RandomizeCryptoKey(); }
|
|
}
|
|
|
|
public BattleMapConfigTableData Get_MapData() { return table_battlemapconfig.Ins.Get_Data(n_MapID); }
|
|
public DungeonMapConfigTableData Get_DungeonMapData_orNull()
|
|
{
|
|
var mapData = Get_MapData();
|
|
return mapData.e_Dungeon == eDungeon.None ? null :
|
|
table_dungeonmapconfig.Ins.Get_Data_orNull(mapData.e_Dungeon, n_DungeonLv);
|
|
}
|
|
public int Get_DungeonIndex()
|
|
{
|
|
var dgData = Get_DungeonMapData_orNull();
|
|
return DSUtil.CheckNull(dgData) ? 0 : MyEnumToInt.Ins.Get_Int(dgData.e_DungeonType) - 1;
|
|
}
|
|
public void Set_MazeMapIndex()
|
|
{
|
|
n_PortalIndex = Random.Range(0, table_GlobalValue.Ins.Get_Int("MazeMapCount"));
|
|
}
|
|
} |