Exemple #1
0
    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);
    }
Exemple #2
0
    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);
        }
    }
Exemple #3
0
    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;
    }
Exemple #4
0
 public bool AddDungeonData(DungeonBaseData newDungeonBaseData)
 {
     try
     {
         dungeonList.Add(newDungeonBaseData);
         return(true);
     }
     catch (Exception e)
     {
         Console.WriteLine("DungeonDatabase::AddBaseData.Add 에러 " + e.Message);
         return(false);
     }
 }
Exemple #5
0
    /// <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);
        }
    }
Exemple #6
0
    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);
            }
        }
    }
Exemple #7
0
    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();
    }