示例#1
0
        private BlockPart makeStory()
        {
            var blockPart = FileInfo.FullName.Read <BlockPart>();

            blockPart.Paragraphs = new List <Paragraph>();

            verifyProperties(blockPart);

            var talkCounter   = 0;
            var tellerCounter = 0;

            foreach (var paragraph in Block.ParagraphTypeList)
            {
                Paragraph child;

                switch (paragraph)
                {
                case ParagraphType.Talk:
                    child = ParagraphJson.SetTalk(Block.TalkList[talkCounter]);
                    talkCounter++;
                    break;

                case ParagraphType.Teller:
                    child = ParagraphJson.SetTeller(Block.TellerList[tellerCounter]);
                    tellerCounter++;
                    break;

                case ParagraphType.Page:
                    child = ParagraphJson.SetPage();
                    break;

                default:
                    throw new Exception($"Not recognized Paragraph [{paragraph}].");
                }

                if (child.HasText)
                {
                    blockPart.Paragraphs.Add(child);
                }
            }

            return(blockPart);
        }
示例#2
0
        private void setText(Paragraph paragraph)
        {
            // ReSharper disable once SwitchStatementMissingSomeCases
            switch (paragraph.Type)
            {
            case ParagraphType.Talk:
                var talk = ParagraphJson.GetTalk(paragraph);
                Block.TalkList.Add(talk);
                break;

            case ParagraphType.Teller:
                var teller = ParagraphJson.GetTeller(paragraph);
                Block.TellerList.Add(teller);
                break;

            case ParagraphType.Page:
                break;

            default:
                throw new NotImplementedException();
            }
        }