Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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));
                    }
                }
            }
        }