void RPC_S2C_GenDunEntrance(uLink.BitStream stream, uLink.NetworkMessageInfo info) { Vector3 entrancePos = stream.Read <Vector3>(); int id = stream.Read <int>(); DungeonBaseData dbd = RandomDungeonDataBase.GetDataFromId(id); RandomDungenMgr.Instance.GenDunEntrance(entrancePos, dbd); }
void RPC_S2C_GenDunEntranceList(uLink.BitStream stream, uLink.NetworkMessageInfo info) { List <Vector3> entrancePosList = stream.Read <Vector3[]>().ToList(); List <int> idList = stream.Read <int[]>().ToList(); for (int i = 0; i < entrancePosList.Count; i++) { DungeonBaseData dbd = RandomDungeonDataBase.GetDataFromId(idList[i]); RandomDungenMgr.Instance.GenDunEntrance(entrancePosList[i], dbd); } }
public void LoadDataFromId(int id) { DungeonBaseData dbd = RandomDungeonDataBase.GetDataFromId(id); DungeonFlow df = Resources.Load(dbd.dungeonFlowPath) as DungeonFlow; if (df == null) { Debug.LogError("flow null: " + dbd.dungeonFlowPath); dbd.dungeonFlowPath = dungeonFlowPath; } dungeonData = dbd; }
public bool AddDungeonData(DungeonBaseData newDungeonBaseData) { try { dungeonList.Add(newDungeonBaseData); return(true); } catch (Exception e) { Console.WriteLine("DungeonDatabase::AddBaseData.Add 에러 " + e.Message); return(false); } }
/// <summary> 던전 정보 초기화 </summary> IEnumerator InitDungeonBaseData() { JsonData json = null; // 던전 데이터 불러온다. yield return(StartCoroutine(AssetLoader.LoadJsonData("data/dungeonlist", "DungeonList", x => json = x))); dungeonBaseDataDic = new Dictionary <string, DungeonBaseData>(); for (int i = 0; i < json.Count; i++) { DungeonBaseData dungeon = new DungeonBaseData(json[i]); dungeonBaseDataDic.Add(dungeon.dungeonID, dungeon); } }
void InstantiateEntrance(Vector3 genPos, int level = -1) { if (level == -1) { level = RandomDunGenUtil.GetEntranceLevel(genPos); } DungeonBaseData bd = RandomDungeonDataBase.GetDataFromLevel(level); if (bd != null) { if (PeGameMgr.IsSingle) { GenDunEntrance(genPos, bd); } else { PlayerNetwork.mainPlayer.RequestGenDunEntrance(genPos, bd.id); } } }
public void GenDunEntrance(Vector3 genPos, DungeonBaseData basedata) { if (!allEntrance.ContainsKey(genPos)) { UnityEngine.Object entranceObj = GetEntrancePrefabPath(basedata.Type); DunEntranceObj entrance = new DunEntranceObj(entranceObj, genPos); entrance.Level = basedata.level; entrance.DungeonId = basedata.id; allEntrance[genPos] = entrance; if (basedata.level >= 100) { } else { IntVector2 indexArea = new IntVector2(Mathf.RoundToInt(genPos.x) >> AREA_RADIUS, Mathf.RoundToInt(genPos.z) >> AREA_RADIUS); entranceArea[indexArea] = entrance; } SceneMan.AddSceneObj(entrance); return; } }
public static void LoadData() { // int id=0; // for(int level=0;level<LEVEL_MAX;level++){ // DungeonBaseData dbd = new DungeonBaseData (); // dbd.id=id++; // dbd.level=level; // dbd.landMonsterId = new List<IdWeight> (); // dbd.landMonsterId.Add(new IdWeight (104,50)); // dbd.landMonsterId.Add(new IdWeight (106,50)); // dbd.waterMonsterId = new List<IdWeight> (); //// dbd.waterMonsterId.Add(new IdWeight (21,50)); // dbd.waterMonsterId.Add(new IdWeight (16,100)); // dbd.monsterAmount =0.1f+level*0.05f; // dbd.monsterBuff =1; // dbd.itemId = new List<IdWeight> (); // dbd.itemId.Add(new IdWeight (76,50)); // dbd.itemId.Add(new IdWeight (80,50)); // dbd.itemAmount = 0.1f+level*0.05f; // dbd.rareItemId=new List<IdWeight> (); // dbd.rareItemId.Add(new IdWeight (71,50)); // dbd.rareItemId.Add(new IdWeight (74,50)); // dungeonData.Add(dbd.id,dbd); // if(!levelId.ContainsKey(level)) // levelId[level]= new List<int> (); // levelId[level].Add(dbd.id); // } SqliteDataReader reader = LocalDatabase.Instance.ReadFullTable("Rdungeon_monster_item"); while (reader.Read()) { DungeonBaseData dbd = new DungeonBaseData(); dbd.id = Convert.ToInt32(reader.GetString(reader.GetOrdinal("id"))); dbd.level = Convert.ToInt32(reader.GetString(reader.GetOrdinal("level"))); dbd.landMonsterId = RandomDunGenUtil.GetIdWeightList(reader.GetString(reader.GetOrdinal("landmonsterid"))); dbd.waterMonsterId = RandomDunGenUtil.GetIdWeightList(reader.GetString(reader.GetOrdinal("watermonsterid"))); dbd.monsterAmount = Convert.ToSingle(reader.GetString(reader.GetOrdinal("monsteramount"))); dbd.monsterBuff = Convert.ToInt32(reader.GetString(reader.GetOrdinal("monsterbuff"))); dbd.bossId = RandomDunGenUtil.GetIdWeightList(reader.GetString(reader.GetOrdinal("bossid"))); dbd.bossWaterId = RandomDunGenUtil.GetIdWeightList(reader.GetString(reader.GetOrdinal("bosswaterid"))); dbd.bossMonsterBuff = Convert.ToInt32(reader.GetString(reader.GetOrdinal("bossbuff"))); dbd.minBossId = RandomDunGenUtil.GetIdWeightList(reader.GetString(reader.GetOrdinal("minbossid"))); dbd.minBossWaterId = RandomDunGenUtil.GetIdWeightList(reader.GetString(reader.GetOrdinal("minbosswaterid"))); dbd.minBossMonsterBuff = Convert.ToInt32(reader.GetString(reader.GetOrdinal("minbossbuff"))); dbd.itemId = RandomDunGenUtil.GetIdWeightList(reader.GetString(reader.GetOrdinal("itemid"))); dbd.itemAmount = Convert.ToSingle(reader.GetString(reader.GetOrdinal("itemamount"))); dbd.rareItemId = RandomDunGenUtil.GetIdWeightList(reader.GetString(reader.GetOrdinal("rareitemid"))); dbd.rareItemChance = Convert.ToSingle(reader.GetString(reader.GetOrdinal("rareitemchance"))); dbd.specifiedItems = ItemIdCount.ParseStringToList(reader.GetString(reader.GetOrdinal("specifieditems"))); dbd.dungeonFlowPath = reader.GetString(reader.GetOrdinal("dungeonflowpath")); dbd.type = Convert.ToInt32(reader.GetString(reader.GetOrdinal("type"))); dbd.rareItemTags = RandomDunGenUtil.GetIdWeightList(reader.GetString(reader.GetOrdinal("rareItemtags"))); dungeonData.Add(dbd.id, dbd); if (!levelId.ContainsKey(dbd.level)) { levelId[dbd.level] = new List <int> (); } levelId[dbd.level].Add(dbd.id); } DungeonBaseData.InitIsoTagList(); }