private void Construct() { string assetPath = "Assets" + "/" + "Subtitles" + "/" + prefabName + ".prefab"; subtitlesLabelPrefab = AssetDatabase.LoadAssetAtPath(assetPath, typeof(SubtitlesLabel)) as SubtitlesLabel; phraseColors = new Dictionary <PhraseCategory, Color>() { { PhraseCategory.Info, new Color(0.9549953f, 1f, 0.1462264f) }, { PhraseCategory.Bad, new Color(0.745283f, 0.054341f, 0) }, { PhraseCategory.Success, new Color(0, 0.7264151f, 0.04891533f) } }; string[] goods = new string[] { "уминца", "молодец", "здорово", "отллично", "замечательно", "у тебя получилось" }; string[] bads = new string[] { "нет", "попробуй еще раз", "не унывай", "неверно", "неправильно" }; phraseCategories = new Dictionary <PhraseCategory, string[]>(); phraseCategories.Add(PhraseCategory.Success, goods); phraseCategories.Add(PhraseCategory.Bad, bads); }
/// <summary> /// Показать субтитры c задержкой. /// Общие фразы - ShowSubtitles("молодец.wav") /// Для конкретной игры ShowSubtitles("вступление 1.wav", Canvas, new string[] { "меню фонематика", "игра животные"}); /// </summary> /// <param name="audioFileName">Имя аудиофайла + имя игры</param> /// <param name="labelParent">Контейнер для label</param> /// <param name="breadCrumbs">Путь из каталогов меню\игра\подкаталог</param> /// <returns></returns> public void ShowSubtitles(string audioFileName, Transform labelParent = null, string[] breadCrumbs = null) { Clear(); if (subtitlesLabelPrefab != null) { audioFileName = audioFileName.Replace(".wav", string.Empty); string file = FindSubtitleFile(audioFileName, breadCrumbs); if (file != null) { string subtitles = ReadFile(file); if (!string.IsNullOrEmpty(subtitles)) { SubtitlesLabel label = GameObject.Instantiate(subtitlesLabelPrefab); currentSubtitles = label; if (labelParent != null) { label.transform.SetParent(labelParent); } if (label != null) { Color color = ResolveColor(audioFileName); int fontSize = CalcFontSize(); label.Construct(subtitles, color, fontSize); } StartCoroutine(LongDelete(subtitles.Length)); } } } }