Loading README.md +1 −2 Original line number Diff line number Diff line Loading @@ -101,7 +101,6 @@ Text commands: <p:[tiny,short,normal,long,read]> --> Pauses during a period of time <anim:[wobble,wave,rainbow,shake]></anim> --> Reproduces an animation <sp:number></sp> --> Changes reveal speed <snd:soundname> --> Plays a sound from the AudioManager ``` ### SceneManager Loading Tools/DialogueSystem/DialogueUtility.cs +37 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,10 @@ namespace SimpleTools.DialogueSystem { static readonly Regex pauseRegex = new Regex(PAUSE_REGEX_STRING); const string SOUND_REGEX_STRING = "<snd:(?<sound>" + REMAINDER_REGEX + ")>"; static readonly Regex soundRegex = new Regex(SOUND_REGEX_STRING); const string PLAYMUSIC_REGEX_STRING = "<playmsc:(?<playmusic>" + REMAINDER_REGEX + ")>"; static readonly Regex playMusicRegex = new Regex(PLAYMUSIC_REGEX_STRING); const string STOPMUSIC_REGEX_STRING = "<stopmsc:(?<stopmusic>" + REMAINDER_REGEX + ")>"; static readonly Regex stopMusicRegex = new Regex(STOPMUSIC_REGEX_STRING); const string SPEED_REGEX_STRING = "<sp:(?<speed>" + REMAINDER_REGEX + ")>"; static readonly Regex speedRegex = new Regex(SPEED_REGEX_STRING); const string ANIM_START_REGEX_STRING = "<anim:(?<anim>" + REMAINDER_REGEX + ")>"; Loading @@ -34,6 +38,8 @@ namespace SimpleTools.DialogueSystem { processedMessage = HandlePauseTags(processedMessage, result); processedMessage = HandleSoundTags(processedMessage, result); processedMessage = HandlePlayMusicTags(processedMessage, result); processedMessage = HandleStopMusicTags(processedMessage, result); processedMessage = HandleSpeedTags(processedMessage, result); processedMessage = HandleAnimStartTags(processedMessage, result); processedMessage = HandleAnimEndTags(processedMessage, result); Loading Loading @@ -113,6 +119,34 @@ namespace SimpleTools.DialogueSystem { processedMessage = Regex.Replace(processedMessage, SOUND_REGEX_STRING, ""); return processedMessage; } static string HandlePlayMusicTags(string processedMessage, List<DialogueCommand> result) { MatchCollection playMatches = playMusicRegex.Matches(processedMessage); foreach (Match match in playMatches) { string val = match.Groups["playmusic"].Value; string functionName = val; result.Add(new DialogueCommand { position = VisibleCharactersUpToIndex(processedMessage, match.Index), type = DialogueCommandType.PlayMusic, stringValue = functionName }); } processedMessage = Regex.Replace(processedMessage, PLAYMUSIC_REGEX_STRING, ""); return processedMessage; } static string HandleStopMusicTags(string processedMessage, List<DialogueCommand> result) { MatchCollection stopMatches = stopMusicRegex.Matches(processedMessage); foreach (Match match in stopMatches) { string val = match.Groups["stopmusic"].Value; string functionName = val; result.Add(new DialogueCommand { position = VisibleCharactersUpToIndex(processedMessage, match.Index), type = DialogueCommandType.StopMusic, stringValue = functionName }); } processedMessage = Regex.Replace(processedMessage, STOPMUSIC_REGEX_STRING, ""); return processedMessage; } static TextAnimationType GetTextAnimationType(string stringVal) { TextAnimationType result; Loading Loading @@ -157,7 +191,9 @@ namespace SimpleTools.DialogueSystem { TextSpeedChange, AnimStart, AnimEnd, Sound Sound, PlayMusic, StopMusic } public enum TextAnimationType { Loading Tools/DialogueSystem/DialogueVertexAnimator.cs +13 −1 Original line number Diff line number Diff line using System; using System.Collections; using System.Collections.Generic; using System.Globalization; using TMPro; using UnityEngine; Loading Loading @@ -137,6 +138,17 @@ namespace SimpleTools.DialogueSystem { case DialogueCommandType.Sound: AudioManager.AudioManager.instance.PlayOneShot(command.stringValue); break; case DialogueCommandType.PlayMusic: string[] split0 = command.stringValue.Split(','); AudioManager.AudioManager.instance.FadeIn(split0[0], float.Parse(split0[1], CultureInfo.InvariantCulture)); break; case DialogueCommandType.StopMusic: string[] split1 = command.stringValue.Split(','); for (int j = 0; j < split1.Length; j++) { Debug.Log(split1[j]); } AudioManager.AudioManager.instance.FadeOut(split1[0], float.Parse(split1[1], CultureInfo.InvariantCulture)); break; } commands.RemoveAt(i); i--; Loading Loading @@ -194,7 +206,7 @@ namespace SimpleTools.DialogueSystem { TextAnimInfo info = textAnimInfo[i]; if (charIndex >= info.startIndex && charIndex < info.endIndex) { if (info.type == TextAnimationType.rainbow) { color = Color.HSVToRGB(Mathf.Repeat((time + destinationVertice.x * RAINBOW_LENGTH_ADJUSTMENT), 1f), .6f, 1); color = Color.HSVToRGB(Mathf.Repeat((time + destinationVertice.x * RAINBOW_LENGTH_ADJUSTMENT), 1f), .75f, 1); } } } Loading Loading
README.md +1 −2 Original line number Diff line number Diff line Loading @@ -101,7 +101,6 @@ Text commands: <p:[tiny,short,normal,long,read]> --> Pauses during a period of time <anim:[wobble,wave,rainbow,shake]></anim> --> Reproduces an animation <sp:number></sp> --> Changes reveal speed <snd:soundname> --> Plays a sound from the AudioManager ``` ### SceneManager Loading
Tools/DialogueSystem/DialogueUtility.cs +37 −1 Original line number Diff line number Diff line Loading @@ -13,6 +13,10 @@ namespace SimpleTools.DialogueSystem { static readonly Regex pauseRegex = new Regex(PAUSE_REGEX_STRING); const string SOUND_REGEX_STRING = "<snd:(?<sound>" + REMAINDER_REGEX + ")>"; static readonly Regex soundRegex = new Regex(SOUND_REGEX_STRING); const string PLAYMUSIC_REGEX_STRING = "<playmsc:(?<playmusic>" + REMAINDER_REGEX + ")>"; static readonly Regex playMusicRegex = new Regex(PLAYMUSIC_REGEX_STRING); const string STOPMUSIC_REGEX_STRING = "<stopmsc:(?<stopmusic>" + REMAINDER_REGEX + ")>"; static readonly Regex stopMusicRegex = new Regex(STOPMUSIC_REGEX_STRING); const string SPEED_REGEX_STRING = "<sp:(?<speed>" + REMAINDER_REGEX + ")>"; static readonly Regex speedRegex = new Regex(SPEED_REGEX_STRING); const string ANIM_START_REGEX_STRING = "<anim:(?<anim>" + REMAINDER_REGEX + ")>"; Loading @@ -34,6 +38,8 @@ namespace SimpleTools.DialogueSystem { processedMessage = HandlePauseTags(processedMessage, result); processedMessage = HandleSoundTags(processedMessage, result); processedMessage = HandlePlayMusicTags(processedMessage, result); processedMessage = HandleStopMusicTags(processedMessage, result); processedMessage = HandleSpeedTags(processedMessage, result); processedMessage = HandleAnimStartTags(processedMessage, result); processedMessage = HandleAnimEndTags(processedMessage, result); Loading Loading @@ -113,6 +119,34 @@ namespace SimpleTools.DialogueSystem { processedMessage = Regex.Replace(processedMessage, SOUND_REGEX_STRING, ""); return processedMessage; } static string HandlePlayMusicTags(string processedMessage, List<DialogueCommand> result) { MatchCollection playMatches = playMusicRegex.Matches(processedMessage); foreach (Match match in playMatches) { string val = match.Groups["playmusic"].Value; string functionName = val; result.Add(new DialogueCommand { position = VisibleCharactersUpToIndex(processedMessage, match.Index), type = DialogueCommandType.PlayMusic, stringValue = functionName }); } processedMessage = Regex.Replace(processedMessage, PLAYMUSIC_REGEX_STRING, ""); return processedMessage; } static string HandleStopMusicTags(string processedMessage, List<DialogueCommand> result) { MatchCollection stopMatches = stopMusicRegex.Matches(processedMessage); foreach (Match match in stopMatches) { string val = match.Groups["stopmusic"].Value; string functionName = val; result.Add(new DialogueCommand { position = VisibleCharactersUpToIndex(processedMessage, match.Index), type = DialogueCommandType.StopMusic, stringValue = functionName }); } processedMessage = Regex.Replace(processedMessage, STOPMUSIC_REGEX_STRING, ""); return processedMessage; } static TextAnimationType GetTextAnimationType(string stringVal) { TextAnimationType result; Loading Loading @@ -157,7 +191,9 @@ namespace SimpleTools.DialogueSystem { TextSpeedChange, AnimStart, AnimEnd, Sound Sound, PlayMusic, StopMusic } public enum TextAnimationType { Loading
Tools/DialogueSystem/DialogueVertexAnimator.cs +13 −1 Original line number Diff line number Diff line using System; using System.Collections; using System.Collections.Generic; using System.Globalization; using TMPro; using UnityEngine; Loading Loading @@ -137,6 +138,17 @@ namespace SimpleTools.DialogueSystem { case DialogueCommandType.Sound: AudioManager.AudioManager.instance.PlayOneShot(command.stringValue); break; case DialogueCommandType.PlayMusic: string[] split0 = command.stringValue.Split(','); AudioManager.AudioManager.instance.FadeIn(split0[0], float.Parse(split0[1], CultureInfo.InvariantCulture)); break; case DialogueCommandType.StopMusic: string[] split1 = command.stringValue.Split(','); for (int j = 0; j < split1.Length; j++) { Debug.Log(split1[j]); } AudioManager.AudioManager.instance.FadeOut(split1[0], float.Parse(split1[1], CultureInfo.InvariantCulture)); break; } commands.RemoveAt(i); i--; Loading Loading @@ -194,7 +206,7 @@ namespace SimpleTools.DialogueSystem { TextAnimInfo info = textAnimInfo[i]; if (charIndex >= info.startIndex && charIndex < info.endIndex) { if (info.type == TextAnimationType.rainbow) { color = Color.HSVToRGB(Mathf.Repeat((time + destinationVertice.x * RAINBOW_LENGTH_ADJUSTMENT), 1f), .6f, 1); color = Color.HSVToRGB(Mathf.Repeat((time + destinationVertice.x * RAINBOW_LENGTH_ADJUSTMENT), 1f), .75f, 1); } } } Loading