public static void Update(GameTime myTime) { if (active) { if (status == ChatboxStatus.Writing) { currentChatbox = chatboxes[currentChatboxIndex]; if (currentChatbox.GetMessageLine(currentLine) != null) { messageCharacters = currentChatbox.GetMessageLine(currentLine).ToCharArray(); speakerName = currentChatbox.GetSpeaker(); timeSinceLastCharacter += (float)myTime.ElapsedGameTime.TotalMilliseconds; if (timeSinceLastCharacter > currentTypingSpeed) { timeSinceLastCharacter -= currentTypingSpeed; if (currentCharacterOfLine < messageCharacters.Length) { currentWritten[currentLine] += messageCharacters[currentCharacterOfLine]; currentCharacterOfLine++; } else { currentCharacterOfLine = 0; currentLine++; if (currentLine < maxLines) { if (currentChatbox.GetMessageLine(currentLine) != null) { messageCharacters = currentChatbox.GetMessageLine(currentLine).ToCharArray(); } } else { //We have reached the end of the lines, time to click next currentLine = 0; status = ChatboxStatus.WaitingInput; } } } } else//If the line is null { currentLine = 0; status = ChatboxStatus.WaitingInput; } } else if (status == ChatboxStatus.WaitingInput) { //Wait for the input //Blink cursor? } } }
public static void Instawrite() { currentChatbox = chatboxes[currentChatboxIndex]; currentWritten = new string[maxLines]; for (int l = 0; l < maxLines; l++) { if (currentChatbox.GetMessageLine(l) != null) { speakerName = currentChatbox.GetSpeaker(); currentWritten[l] = currentChatbox.GetMessageLine(l); } } currentLine = 0; status = ChatboxStatus.WaitingInput; }