Esempio n. 1
0
    private void SetData(VisitingRuleRes res)
    {
        VisitChapterDir = new Dictionary <PlayerPB, List <VisitChapterVo> >();
        VisitChapterDir[PlayerPB.TangYiChen] = new List <VisitChapterVo>();
        VisitChapterDir[PlayerPB.QinYuZhe]   = new List <VisitChapterVo>();
        VisitChapterDir[PlayerPB.YanJi]      = new List <VisitChapterVo>();
        VisitChapterDir[PlayerPB.ChiYu]      = new List <VisitChapterVo>();

        //LevelPB pb = null;
        for (int i = 0; i < res.LevelRules.Count; i++)
        {
            VisitLevelVo   level          = new VisitLevelVo(res.LevelRules[i], _plotRule, _infoRule);
            VisitChapterVo visitChapterVo = VisitChapterDir[level.NpcId].Find((m) => { return(m.ChapterId == level.ChapterGroup); });
            if (visitChapterVo == null)
            {
                visitChapterVo = new VisitChapterVo("123", level.ChapterGroup, true);//I provisionally do it;
                VisitChapterDir[level.NpcId].Add(visitChapterVo);
            }
            visitChapterVo.LevelList.Add(level);
            level.VisitChapter = visitChapterVo;

            foreach (var v in res.LevelFirstPassRules)
            {
                if (v.LevelId != level.LevelId)
                {
                    continue;
                }
                level.levelFirstPassPB = v;
                break;
            }
        }
    }
Esempio n. 2
0
 public void InitRule(VisitingRuleRes res)
 {
     _weatherRules                = new List <WeatherPB>();
     _weatherBlessRules           = new List <WeatherBlessPB>();
     _levelRules                  = new List <VisitingLevelRulePB>();
     _levelFirstPassRules         = new List <LevelFirstPassPB>();
     _challengeCardNumRule        = new List <ChallengeCardNumRulePB>();
     _weatherBlessCostPBs         = new List <WeatherBlessCostPB>();
     _visitingResetConsumptionPBs = new List <VisitingResetConsumptionPB>();
     CommentRule                  = res.CommentRules;
     _infoRule = res.InfoRules;
     _plotRule = res.PlotRules;
     _weatherRules.AddRange(res.WeatherRules);
     _weatherBlessRules.AddRange(res.WeatherBlessRules);
     _levelRules.AddRange(res.LevelRules);
     _levelFirstPassRules.AddRange(res.LevelFirstPassRules);
     _challengeCardNumRule.AddRange(res.CardNumRules);
     _weatherBlessCostPBs.AddRange(res.WeatherBlessCostRules);
     _visitingResetConsumptionPBs.AddRange(res.VisitingResetConsumptionRules);
     SetData(res);
 }
Esempio n. 3
0
    static Dictionary <string, List <string> > FindVisitStoryAudio()
    {
        DirectoryInfo dir = new DirectoryInfo(Application.persistentDataPath + "/DataCache/visiting_c");

        if (dir.Exists == false)
        {
            Debug.LogError("visiting_c文件夹不存在!");
            return(null);
        }

        FileInfo[] files      = dir.GetFiles("*");
        FileInfo   targetFile = null;

        foreach (FileInfo file in files)
        {
            if (file.Name.ToLower().StartsWith("rules"))
            {
                targetFile = file;
                break;
            }
        }

        if (targetFile == null)
        {
            Debug.LogError("visiting_c/rules文件不存在!");
            return(null);
        }

        Dictionary <string, List <string> > fileDict = new Dictionary <string, List <string> >();

        EditorUtility.DisplayProgressBar("查找VisitStory音频", "", 0);

        byte[]       dataFile = FileUtil.GetBytesFile(targetFile.DirectoryName, targetFile.Name);
        MemoryStream m        = new MemoryStream(dataFile);
        MessageParser <VisitingRuleRes>
        parser = new MessageParser <VisitingRuleRes>(() => new VisitingRuleRes());
        VisitingRuleRes res   = parser.ParseFrom(m);
        int             count = 0;

        foreach (var rule in res.LevelRules)
        {
            count++;
            if (rule.Type == LevelTypePB.Story)
            {
                string playerId = ((int)rule.Player) + "";
                if (fileDict.ContainsKey(playerId) == false)
                {
                    fileDict.Add(playerId, new List <string>());
                }

                fileDict[playerId].AddRange(GetStoryAudio(rule.LevelMark));

                EditorUtility.DisplayProgressBar("查找VisitStory音频", "playerId:" + playerId + "(" + count + ")", 1);
            }
        }

        string str = JsonConvert.SerializeObject(fileDict, Formatting.Indented);

        FileUtil.SaveFileText(GetPackageDir(), "VisitStoryAudio.json", str);

        EditorUtility.ClearProgressBar();

        return(fileDict);
    }
Esempio n. 4
0
    private void OnVisitingRuleHandler(VisitingRuleRes res)
    {
        _visitModel.InitRule(res);

        NetWorkManager.Instance.Send <MyVisitingRes>(CMD.VISITINGC_MYVISITINGS, null, OnMyVisitingHandler);
    }