Пример #1
0
    public List <AppointmentRuleVo> GetAppointmentRules(AppointmentRuleRes res)
    {
        if (_appointmentRuleVos == null)
        {
            _appointmentRuleVos = new List <AppointmentRuleVo>();
            foreach (var v in res.AppointmentRules)
            {
                _appointmentRuleVos.Add(new AppointmentRuleVo(v));
            }

            return(_appointmentRuleVos);
        }

        return(_appointmentRuleVos);
    }
Пример #2
0
    static Dictionary <string, List <string> > FindLoveStoryAudio()
    {
        DirectoryInfo dir = new DirectoryInfo(Application.persistentDataPath + "/DataCache/appointment_c");

        if (dir.Exists == false)
        {
            Debug.LogError("appointment_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("appointment_c/rules文件不存在!");
            return(null);
        }

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

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

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

        foreach (var rule in res.AppointmentRules)
        {
            count++;
            string cardId = rule.ActiveCards[0].ToString();
            fileDict.Add(cardId, new List <string>());
            foreach (var pb in rule.GateInfos)
            {
                fileDict[cardId].AddRange(GetStoryAudio(pb.SceneId));
            }

            EditorUtility.DisplayProgressBar("查找LoveStory音频",
                                             "cardId:" + cardId + "(" + count + "/" + res.AppointmentRules.Count + ")",
                                             (float)count / res.AppointmentRules.Count);
        }

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

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

        EditorUtility.ClearProgressBar();

        return(fileDict);
    }