This works really well! I got it implemented into my existing system way easier than I thought I would.
One conflict I'm having is that I have a dialogue system that displays text letter-by-letter. Since the text is drawn this way, it will display the BBCode inputs letter-by-letter until the full code is complete.
Do you know of any way to make this apply the BBCode before the final letters are made?
I did some thinking and developed a little trick to solve my problem. I'll post it here for the curious folks.
Basically I made it so that the normal letter-by-letter display would stop when it saw an open bracket and start again when it saw a closed bracket.
I had another variable (Text_Temp) keep track of the current letter in isolation by using mid(Text_Source.Text, Index, 1). The index variable increases by one every check, which is what determines how many letters I will display (the basic typewriter event). So if I have the sentence "Hello" in Text_Source.Text, when my index reaches three Text_Temp = "l" only.
Then I made a switch variable (Text_Switch). When Text_Temp = "[" then it bypasses the normal text display. When Text_Temp = "]" it resumes.
Here's a picture. Hope this helps anyone who has the same issue.
Thanks again for this plugin, Rex! You're a real lifesaver!