コード例 #1
0
        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);
            }
        }