public void Draw(SpriteBatch batch) { if (currentDialogueSet != null && currentDialogueSet.preDelay <= 0) { string speakerName = currentDialogueSet.GetSpeaker(); //Draw the speaker panel RecreateDrawString(batch, (Position + NameplateOffset) * pixelScale, font, speakerName, stringDrawDepth, true); if (!currentDialogueSet.choosingBranch) { if (currentText.Length > 0) { RecreateDrawString(batch, (Position + TextOffset) * pixelScale, font, currentText, stringDrawDepth, false); } } else { for (int i = 0; i < currentDialogueSet.dialogueSet.information.branchOptions.Length; i++) { var branchOption = currentDialogueSet.dialogueSet.information.branchOptions[i]; Vector2 drawPos = Position; if (currentlySelectedDialogueBranch == i) { drawPos += new Vector2(16, 0); } DrawOutlinedString(batch, drawPos + new Vector2(32, (font.LineSpacing + 2) * (i + 1)) * pixelScale + TextOffset, branchOption.name, stringDrawDepth); } } DrawDialogueSet?.Invoke(batch); } }