コード例 #1
0
    public void Load(byte[] bytes)
    {
        DungeonInfoMap = new SortedDictionary <DungeonInfoKey, DungeonInfo>();
        BinaryHelper helper = new BinaryHelper(bytes);

        int dungeonCount = helper.ReadInt();

        for (int index = 0; index < dungeonCount; ++index)
        {
            DungeonInfo dungeonInfo = new DungeonInfo();
            dungeonInfo.DungeonId    = helper.ReadInt();
            dungeonInfo.DungeonGrade = helper.ReadInt();
            dungeonInfo.DungeonName  = helper.ReadString();
            int sceneCount = helper.ReadInt();
            dungeonInfo.SceneIdList = new List <int>(sceneCount);
            for (int sceneIndex = 0; sceneIndex < sceneCount; sceneIndex++)
            {
                dungeonInfo.SceneIdList.Add(helper.ReadInt());
            }
            dungeonInfo.LevelMin   = helper.ReadInt();
            dungeonInfo.LevelMax   = helper.ReadInt();
            dungeonInfo.QuestId    = helper.ReadInt();
            dungeonInfo.NeedEnergy = helper.ReadInt();
            dungeonInfo.TeamVolume = helper.ReadInt();

            DungeonInfoKey newKey = new DungeonInfoKey();
            newKey.DungeonID    = dungeonInfo.DungeonId;
            newKey.DungeonGrade = dungeonInfo.DungeonGrade;
            DungeonInfoMap.Add(newKey, dungeonInfo);
        }
    }
コード例 #2
0
    public DungeonInfo Lookup(int dungeonId, int grade)
    {
        DungeonInfoKey key = new DungeonInfoKey();

        key.DungeonID    = dungeonId;
        key.DungeonGrade = grade;
        DungeonInfo info = null;

        if (DungeonInfoMap.TryGetValue(key, out info))
        {
            return(info);
        }
        return(null);
    }