コード例 #1
0
    void BuildNarratives()
    {
        StoryBook nextBook = new StoryBook("Test Room");

        {
            //All objects in a room get separate chapters
            //if an object can have more than 1 type of conversation in this room, it gets multiple chapters on separate dialogues
            StoryChapter nextChapter = NewChapter(1); //dialogue ID is passed in here
            {
                //Define all the pages this chapter (dialogue) will flip through along with its read time
                nextChapter.pages.Add(NewPage("Dialogue 1 Page 1 of new narrative, 2 seconds", 2.0f));
                nextChapter.pages.Add(NewPage("Dialogue 1 Page 2 of new narrative, 1 seconds", 1.0f));
            }
            //add the chapter to the book
            nextBook.chapters.Add(nextChapter);

            nextChapter = NewChapter(2);
            {
                //Define all the pages this chapter (dialogue) will flip through along with its read time
                nextChapter.pages.Add(NewPage("Dialogue 2 Page 1 of new narrative, 1 seconds", 1.0f));
                nextChapter.pages.Add(NewPage("Dialogue 2 Page 2 of new narrative, 2 seconds", 2.0f));
                nextChapter.pages.Add(NewPage("Dialogue 2 Page 3 of new narrative, 1 seconds", 1.0f));
            }
            //add the chapter to the book
            nextBook.chapters.Add(nextChapter);
        }
        //add the book to the narrative
        allNarratives.Add(nextBook);

        BuildNarrative_OrphanageScene();

        BuildNarrative_OrphanageScene_Examples();
    }
コード例 #2
0
        public async Task <IActionResult> GetStory(int storyId, int chapterNo = 1, CancellationToken ctx = default)
        {
            const string storyProviderName = "FanFiction.Net";
            const int    fetchOperationTimeoutMilliSeconds = 4500;
            const string providerUrl = "https://www.fanfiction.net";

            var endpointFragment = $"/s/{storyId}/{chapterNo}";

            var storyProvider = new StoryProvider()
            {
                BaseUri     = new Uri(providerUrl),
                UriFragment = new Uri(endpointFragment, UriKind.Relative),
                FetchRequestTimeoutMilliSeconds = fetchOperationTimeoutMilliSeconds,
                Name = storyProviderName
            };

            try
            {
                var htmlDoc = await storyProvider.LoadFromWebAsync(ctx);

                if (storyProvider.LastStatusCodeReceived != HttpStatusCode.OK)
                {
                    throw new StoryProviderException(RequestFailReason.UnexpectedResponseStatusCode, storyProvider);
                }

                var nodes = htmlDoc.DocumentNode.SelectNodes("//div").Where(n => n.HasClass("panel_normal"));

                if (nodes.Any())
                {
                    throw new StoryProviderException(RequestFailReason.UnexpectedResponseContent, storyProvider);
                }

                var chapterData = new StoryChapter
                {
                    ChapterSeq  = chapterNo,
                    HtmlContent = htmlDoc.GetElementbyId("storytextp").OuterHtml
                };

                return(Request.Headers["Accept"].FirstOrDefault()?.Split(',').FirstOrDefault() == "text/html"
                    ? Ok(chapterData.HtmlContent)
                    : Ok(chapterData));
            }
            catch (Exception ex)
            {
                switch (ex)
                {
                case OperationCanceledException _:
                case StoryProviderException _:
                    return(BadRequest(ex));

                default:
                    throw;
                }
            }
        }
コード例 #3
0
        public Task <IActionResult> Update(string entryId, EntryStoryUpdateModel model) => RunEntryAsync(entryId, Permission.Write, async entry =>
        {
            string userId        = HttpContext.User.FindUserId();
            Story story          = null;
            StoryChapter chapter = null;

            if (model.StoryId != null)
            {
                story = await shareStatus.OwnedByOrExplicitlySharedWithUser(db, db.Stories, userId)
                        .Where(s => s.Id == model.StoryId)
                        .Include(s => s.Chapters)
                        .FirstOrDefaultAsync();

                if (story == null)
                {
                    model.StoryId   = null;
                    model.ChapterId = null;
                }
                else if (story.UserId != entry.UserId)
                {
                    return(BadRequest());
                }
            }

            if (model.ChapterId != null)
            {
                chapter = story.Chapters.FirstOrDefault(c => c.Id == model.ChapterId);
                if (chapter == null)
                {
                    story = null;
                }
            }

            if (story == null)
            {
                entry.Story   = null;
                entry.Chapter = null;
            }
            else if (chapter == null)
            {
                entry.Story   = story;
                entry.Chapter = null;
            }
            else
            {
                entry.Story   = null;
                entry.Chapter = chapter;
            }

            db.Entries.Update(entry);
            await db.SaveChangesAsync();

            return(NoContent());
        });
コード例 #4
0
        /// <summary>
        /// The main function for the state
        /// </summary>
        void IGame_State_Base.Main()
        {
            //Create the Dialogue Box
            dialogueBox = new Dialogue_UI(engCoreRef);

            //Load the story file and store it
            storyData = engCoreRef.Content.Load <StoryChapter>("Story_Data/Example_Story_Data");

            //Set the initial display using the first line of the story
            dialogueBox.UpdateText(storyData.ChapterText[lineIndex]);
            dialogueBox.UpdateCharacterArt(storyData.ChapterText[lineIndex][2]);
        }
コード例 #5
0
ファイル: SeedData.cs プロジェクト: SheepReaper/IHeartFiction
        public static void SeedDatabase(AppDbContext context)
        {
            var chapters = new StoryChapter[]
            {
                new StoryChapter()
                {
                    ChapterSeq  = 1,
                    HtmlContent = "<h1>BOO!</h1>",
                    StoryGuid   = Guid.NewGuid()
                }
            };

            context.Chapters.AddRange(chapters);
            context.SaveChanges();
        }
コード例 #6
0
ファイル: PopDialogue.cs プロジェクト: gamkedo-la/globuton
    // Use this for initialization
    protected virtual void Start()
    {
        if (displayPages == null)
        {
            displayPages = new StoryChapter();
        }
        if (linkNarrative && dialogueID != -1)
        {
            //Debug.Log("LinkNarrative now.");
            displayPages = new StoryChapter();
            GameObject       narrativeObject = GameObject.FindGameObjectWithTag("Narrative");
            NarrativeStorage sceneStorage    = narrativeObject.GetComponent <NarrativeStorage>();
            //load the text from the story manager
            PullNarrativePages(sceneStorage);
        }

        transform.GetChild(0).gameObject.SetActive(false);
    }
コード例 #7
0
        private IReadOnlyCollection <StoryChapter> MapModelToEntity(StoryModel model, Story entity)
        {
            entity.Id    = model.Id;
            entity.Title = model.Title;
            entity.Text  = model.Text;

            for (int i = 0; i < model.Chapters.Count; i++)
            {
                var chapterModel = model.Chapters[i];

                var chapterEntity = entity.Chapters.FirstOrDefault(c => c.Id == chapterModel.Id);
                if (chapterEntity == null)
                {
                    entity.Chapters.Add(chapterEntity = new StoryChapter()
                    {
                        Created = DateTime.Now
                    });
                }

                chapterEntity.Id    = chapterModel.Id;
                chapterEntity.Title = chapterModel.Title;
                chapterEntity.Text  = chapterModel.Text;
                chapterEntity.Order = i + 1;
            }

            List <StoryChapter> toRemove = new List <StoryChapter>();

            foreach (var chapterEntity in entity.Chapters)
            {
                if (!model.Chapters.Any(c => c.Id == chapterEntity.Id))
                {
                    toRemove.Add(chapterEntity);
                }
            }

            foreach (var chapterEntity in toRemove)
            {
                entity.Chapters.Remove(chapterEntity);
            }

            return(toRemove);
        }
コード例 #8
0
ファイル: PopDialogue.cs プロジェクト: gamkedo-la/globuton
 public void PullNarrativePages(NarrativeStorage roomNarrative)
 {
     displayPages = new StoryChapter();
     //Is this dialogue linked to the narrative?
     if (linkNarrative && roomNarrative != null)
     {
         //Debug.Log("narrative not null");
         if (dialogueID != -1)
         {
             //Debug.Log("Find dialogue id: " + dialogueID.ToString());
             //dialogueID is set, find the narrative chapter with the same dialogueID from
             StoryChapter findChapter = roomNarrative.FindChapter(dialogueID);
             if (findChapter != null)
             {
                 //Debug.Log("Found Chapter");
                 displayPages = findChapter.GetClone();
             }
         }
     }
 }
コード例 #9
0
        public Task <IActionResult> Get(string entryId) => RunEntryAsync(entryId, Permission.Read, entry =>
        {
            StoryChapter chapter = null;
            Story story          = null;
            if (entry.Chapter != null)
            {
                chapter = entry.Chapter;
                story   = entry.Chapter.Story;
            }
            else if (entry.Story != null)
            {
                story = entry.Story;
            }

            var model = new EntryStoryModel()
            {
                StoryId      = story?.Id,
                StoryTitle   = story?.Title,
                ChapterId    = chapter?.Id,
                ChapterTitle = chapter?.Title
            };

            return(Task.FromResult <IActionResult>(Ok(model)));
        });
コード例 #10
0
    void BuildNarrative_OrphanageScene_Examples()
    {
        //Example narrative for SCC choice conversation
        StoryBook nextBook = new StoryBook("Orphanage Scene_Examples");

        {
            //Softly Crying Cubie conversation w/ choice
            {
                StoryChapter nextChapter = NewChapter(1005); //Softly Crying Cubie
                {
                    nextChapter.pages.Add(NewPage("Boo hoo. Boo hoo hoo.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1006); //Boxii response
                {
                    nextChapter.pages.Add(NewPage("What's the matter?", 2.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1007); //Softly crying cubie response to ^
                {
                    nextChapter.pages.Add(NewPage("Oh, don't mind me, Boxii. I just can't sleep.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1008); //Boxii choice start text
                {
                    nextChapter.pages.Add(NewPage("Is it because you had that dream where you were...", 3.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1009);                                                                                         //Boxii choices text
                {
                    nextChapter.pages.Add(NewPage("...trying in vain to escape the clutches of horrible, grotesque monsters?", 3.5f));  //1
                    nextChapter.pages.Add(NewPage("...falling and falling until the ground opened up and swallowed you whole?", 3.5f)); //2
                    nextChapter.pages.Add(NewPage("...walking around all day with a piece of food stuck between your teeth?", 3.5f));   //3
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1016);                                                                                     //Boxii choices text1
                {
                    nextChapter.pages.Add(NewPage("Trying in vain to escape the clutches of horrible, grotesque monsters?", 3.5f)); //1
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1017);                                                                                      //Boxii choices text2
                {
                    nextChapter.pages.Add(NewPage("Falling and falling until the ground opened up and swallowed you whole?", 3.5f)); //2
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1018);                                                                                    //Boxii choices text3
                {
                    nextChapter.pages.Add(NewPage("Walking around all day with a piece of food stuck between your teeth?", 3.5f)); //3
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1010); //SCC choice responses 1
                {
                    nextChapter.pages.Add(NewPage("No.", 1.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1011); //SCC choice responses 2
                {
                    nextChapter.pages.Add(NewPage("No.", 1.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1012); //SCC choice responses 3
                {
                    nextChapter.pages.Add(NewPage("No.", 1.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1014); //SCC exhausted responses
                {
                    nextChapter.pages.Add(NewPage("Actually, I'm just sad that you haven't returned with our food.", 3.0f));
                    nextChapter.pages.Add(NewPage("Now, if you don't mind, I'm going to cry myself to sleep.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1015); //Boxii exhausted response to ^
                {
                    nextChapter.pages.Add(NewPage("Don't worry. My nightly runs to the dump never fail!", 2.5f));
                }
                nextBook.chapters.Add(nextChapter);
            }

            //Snoring Cubie conversation w/ choice
            {
                StoryChapter nextChapter = NewChapter(2001); //Snoring Cubie
                {
                    nextChapter.pages.Add(NewPage("ZZZ-Zzzz-ZZzzz-hngGGggh-Mmppfft-zZZzzzZZ...", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2002); //Boxii response
                {
                    nextChapter.pages.Add(NewPage("Uh, I’m going to need you to repeat that.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2003); //Snoring Cubie response to ^
                {
                    nextChapter.pages.Add(NewPage("ZZZ-Zzzz-had-zZZzz-enough-zZZzzzZZ...", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2004);                                                                                  //Boxii choices text
                {
                    nextChapter.pages.Add(NewPage("Did you sneak some of the Sphere's food again?", 4.0f));                      //1
                    nextChapter.pages.Add(NewPage("Is someone picking on you again?", 4.0f));                                    //2
                    nextChapter.pages.Add(NewPage("I've had about enough of the rancid air coming from the food chute.", 4.5f)); //3
                    nextChapter.pages.Add(NewPage("You're not already tired of my questions, are you?", 4.0f));                  //4
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2005);                                                             //Boxii choices text1
                {
                    nextChapter.pages.Add(NewPage("Did you sneak some of the Sphere's food again?", 3.5f)); //1
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2006);                                               //Boxii choices text2
                {
                    nextChapter.pages.Add(NewPage("Is someone picking on you again?", 3.5f)); //2
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2007);                                                                                  //Boxii choices text3
                {
                    nextChapter.pages.Add(NewPage("I've had about enough of the rancid air coming from the food chute.", 4.5f)); //3
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2008);                                                                 //Boxii choices text4
                {
                    nextChapter.pages.Add(NewPage("You're not already tired of my questions, are you?", 3.5f)); //3
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2009); //Snoring Cubie choice responses 1
                {
                    nextChapter.pages.Add(NewPage("ZZZ-itchy-un-zZZz-controllable-zZZzzzZZ...", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2010); //Snoring Cubie choice responses 2
                {
                    nextChapter.pages.Add(NewPage("ZZZ-Zzzz-ZZzzz-time-out-zZZzzzZZ...", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2011); //Snoring Cubie choice responses 3
                {
                    nextChapter.pages.Add(NewPage("ZZZ-Zzzz-trroOOvff-Mmppfft-ZZzzz-zZZzzzZZ...", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2012); //Snoring Cubie choice responses 4
                {
                    nextChapter.pages.Add(NewPage("ZZZ-Zzzz-ZZzzz-nngGGggh-SSHhnno-zZZzzzZZ...", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2013); //Boxii replies to Snoring Cubie 1
                {
                    nextChapter.pages.Add(NewPage("I tried to warn you.", 2.0f));
                    nextChapter.pages.Add(NewPage("You never know what they may add to the food here.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2014); //Boxii replies to Snoring Cubie 2
                {
                    nextChapter.pages.Add(NewPage("Those Galena brothers are never up to any good.", 4.0f));
                    nextChapter.pages.Add(NewPage("I'll bet one of them got a timeout.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2015); //Boxii replies to Snoring Cubie 3
                {
                    nextChapter.pages.Add(NewPage("My nose would've fallen off by now if I had to sleep here.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(2016); //Boxii replies to Snoring Cubie 4
                {
                    nextChapter.pages.Add(NewPage("Whoa, take it easy.", 2.5f));
                    nextChapter.pages.Add(NewPage("I'm just rying to get to the bottom of this.", 3.5f));
                }
                nextBook.chapters.Add(nextChapter);
            }

            //Timeout Cubie conversation w/ choice
            {
                StoryChapter nextChapter = NewChapter(3001); //Timeout Cubie intro1
                {
                    nextChapter.pages.Add(NewPage("Psst...", 1.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3002); //Timeout Cubie intro2
                {
                    nextChapter.pages.Add(NewPage("PSST...", 1.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3003); //Boxii intro response1
                {
                    nextChapter.pages.Add(NewPage("Someone there?", 2.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3004); //Timeout Cubie response1
                {
                    nextChapter.pages.Add(NewPage("Down here, ya slab!", 2.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3005); //Boxii intro response2
                {
                    nextChapter.pages.Add(NewPage("There's no need for name-calling.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3006); //Timeout Cubie response2
                {
                    nextChapter.pages.Add(NewPage("Quiet!", 1.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3007); //Timeout Cubie response3
                {
                    nextChapter.pages.Add(NewPage("Now listen up...", 2.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3008); //Timeout Cubie response4
                {
                    nextChapter.pages.Add(NewPage("I've got a proposition for ya.", 2.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3009);                                                          //Boxii choices text
                {
                    nextChapter.pages.Add(NewPage("What do you propose?", 100.0f));                      //1
                    nextChapter.pages.Add(NewPage("Is there something in it for me?", 100.0f));          //2
                    nextChapter.pages.Add(NewPage("How'd you wind up in there anyway?", 100.0f));        //3
                    nextChapter.pages.Add(NewPage("I don't know if I'm proposition material.", 100.0f)); //4
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3010);                                   //Boxii choices text1
                {
                    nextChapter.pages.Add(NewPage("What do you propose?", 2.5f)); //1
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3011);                                               //Boxii choices text2
                {
                    nextChapter.pages.Add(NewPage("Is there something in it for me?", 3.0f)); //2
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3012);                                                 //Boxii choices text3
                {
                    nextChapter.pages.Add(NewPage("How'd you wind up in there anyway?", 3.0f)); //3
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3013);                                                        //Boxii choices text4
                {
                    nextChapter.pages.Add(NewPage("I don't know if I'm proposition material.", 3.0f)); //3
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3014); //Timeout Cubie choice responses 1
                {
                    nextChapter.pages.Add(NewPage("I need some property of mine returned to me.", 3.0f));
                    nextChapter.pages.Add(NewPage("It got misplaced right before I was thrown in here.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3015); //Timeout Cubie choice responses 2
                {
                    nextChapter.pages.Add(NewPage("You do this one thing for me and I’ll get you access to the storage room.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3016); //Timeout Cubie choice responses 3
                {
                    nextChapter.pages.Add(NewPage("We was makin’ the exchange and--", 2.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3017); //Timeout Cubie choice responses 4
                {
                    nextChapter.pages.Add(NewPage("You made it past the Great Eye, didn’t ya?", 3.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3018); //Boxii replies to Timeout Cubie 1
                {
                    nextChapter.pages.Add(NewPage("What exactly am I looking for?", 2.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3019); //Boxii replies to Timeout Cubie 2
                {
                    nextChapter.pages.Add(NewPage("What’s in that dusty old room?", 2.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3020); //Boxii replies to Timeout Cubie 3
                {
                    nextChapter.pages.Add(NewPage("We?", 1.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3021); //Boxii replies to Timeout Cubie 4
                {
                    nextChapter.pages.Add(NewPage("That was purely blind luck.", 2.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3022); //Timeout Cubie replies to Boxii 1
                {
                    nextChapter.pages.Add(NewPage("It ain’t exactly legal, if you catch my drift.", 3.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3023); //Timeout Cubie replies to Boxii 2
                {
                    nextChapter.pages.Add(NewPage("I heard Ms. Mahble ain’t just usin’ this orphanage to provide cheap cubie labor.", 4.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3024); //Timeout Cubie replies to Boxii 3
                {
                    nextChapter.pages.Add(NewPage("I didn't say nothin'.", 1.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3025); //Boxii replies to Timeout Cubie--> "It ain't exactly..."
                {
                    nextChapter.pages.Add(NewPage("So...", 1.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(3026); //Timeout Cubie replies to Boxii^
                {
                    nextChapter.pages.Add(NewPage("Let’s just say they’ll get me through this hard time.", 3.5f));
                }
                nextBook.chapters.Add(nextChapter);
            }

            //Softly Crying Cubie conversation w/ choice example 2
            {
                StoryChapter nextChapter = NewChapter(1101); //Softly Crying Cubie
                {
                    nextChapter.pages.Add(NewPage("Boo hoo. Boo hoo hoo.", 3.0f));
                    nextChapter.pages.Add(NewPage("", 2.0f));
                    nextChapter.pages.Add(NewPage("Oh, don't mind me. I just can't sleep.", 3.0f));
                    nextChapter.pages.Add(NewPage("", 3.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1102); //Boxii response
                {
                    nextChapter.pages.Add(NewPage("", 3.0f));
                    nextChapter.pages.Add(NewPage("What's the matter?", 2.0f));
                    nextChapter.pages.Add(NewPage("", 3.0f));
                    nextChapter.pages.Add(NewPage("Is it because you had that dream where you were...", 3.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1103);                                                                                         //Boxii choices text
                {
                    nextChapter.pages.Add(NewPage("...trying in vain to escape the clutches of horrible, grotesque monsters?", 3.5f));  //1
                    nextChapter.pages.Add(NewPage("...falling and falling until the ground opened up and swallowed you whole?", 3.5f)); //2
                    nextChapter.pages.Add(NewPage("...walking around all day with a piece of food stuck between your teeth?", 3.5f));   //3
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1104);                                                                                        //Boxii choices text1
                {
                    nextChapter.pages.Add(NewPage("...trying in vain to escape the clutches of horrible, grotesque monsters?", 3.5f)); //1
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1105);                                                                                         //Boxii choices text2
                {
                    nextChapter.pages.Add(NewPage("...falling and falling until the ground opened up and swallowed you whole?", 3.5f)); //2
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1106);                                                                                       //Boxii choices text3
                {
                    nextChapter.pages.Add(NewPage("...walking around all day with a piece of food stuck between your teeth?", 3.5f)); //3
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1107); //SCC choice responses 1
                {
                    nextChapter.pages.Add(NewPage("No.", 1.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1108); //SCC exhausted responses
                {
                    nextChapter.pages.Add(NewPage("Actually, I'm just sad that you haven't returned with our food.", 3.0f));
                    nextChapter.pages.Add(NewPage("Now, if you don't mind, I'm going to cry myself to sleep.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(1109); //Boxii exhausted response to ^
                {
                    nextChapter.pages.Add(NewPage("Don't worry. My nightly runs to the dump never fail!", 2.5f));
                }
                nextBook.chapters.Add(nextChapter);
            }
        }
        //add the book to the narrative
        allNarratives.Add(nextBook);
    }
コード例 #11
0
    void BuildNarrative_OrphanageScene()
    {
        StoryBook nextBook = new StoryBook("Orphanage Scene");

        {
            //Snoring Cubie conversation
            {
                StoryChapter nextChapter = NewChapter(100); //Snoring Cubie
                {
                    nextChapter.pages.Add(NewPage("zzzzzZZZZZ... ", 2.0f));
                    nextChapter.pages.Add(NewPage("Stay away... no... salad", 2.0f));
                    nextChapter.pages.Add(NewPage("Can't help it... allergic...", 2.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(101);                 //Boxii response
                {
                    nextChapter.pages.Add(NewPage("He must be dreaming about dinner earlier.", 3.0f));
                    nextChapter.pages.Add(NewPage("Maybe not.", 2.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //***OBJECT POP-UPS***
            //**DORMITORY**
            //*Loud Speakers
            {
                StoryChapter nextChapter = NewChapter(200);                 //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("Ms. Mahble delivers daily words of encouragement through these.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(201);                 //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("Things like, “A good cubie is a silent cubie.”", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Food
            {
                StoryChapter nextChapter = NewChapter(202); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("Eating too much of this could cause blindness...", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(203); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("Or so I've heard.", 2.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(223); //Boxii Comment 3
                {
                    nextChapter.pages.Add(NewPage("Ugh...I hope it’s safe to carry.", 2.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Tissue Box
            {
                StoryChapter nextChapter = NewChapter(204); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("The box reads, ‘At Osnosis, we pride ourselves on a 99.98% absorption rate of most nasal afflictions.’", 5.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(205); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("This could be handy. I'll just borrow it for a bit.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Food Trays
            {
                StoryChapter nextChapter = NewChapter(206); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("If Ms. Mahble can’t see her reflection in these, you’re going to get a timeout.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Food Chute
            {
                StoryChapter nextChapter = NewChapter(207); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("This duct runs through most of the orphanage.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Food Chute Opening
            {
                StoryChapter nextChapter = NewChapter(209); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("This dispenses three square meals a day.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(210); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("Cold air is coming out of the opening.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Box-in-a-Box toy
            {
                StoryChapter nextChapter = NewChapter(211); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("It sort of stopped working after it 'surprised' a curious cubie.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(212); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("Ms. Mahble leaves it here as a reminder of what can happen to curious cubies.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Cubie Cubbies
            {
                StoryChapter nextChapter = NewChapter(221);                 //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("We sleep in these.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Serving Utensil
            {
                StoryChapter nextChapter = NewChapter(222); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("This week was my turn to shovel this slop onto trays for meal time.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //**Hallways**
            //*Orphanage Main Doors
            {
                StoryChapter nextChapter = NewChapter(213); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("Locked. After twelve years you’d think I’d have learned by now.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(214); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("Eh...maybe tomorrow.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*The Great Eye
            {
                StoryChapter nextChapter = NewChapter(219); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("The One Eye sees and knows all!", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(220); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("The Eye will see me if I get any closer.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Super Secret Code
            {
                StoryChapter nextChapter = NewChapter(225); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("Wow...", 2.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(226); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("Doesn’t get much more secure than this.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //**Kitchen**
            //*Food Chute Mixer
            {
                StoryChapter nextChapter = NewChapter(215); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("Watch in amazement as your favorite seasonings get sucked up into the mixer.", 4.5f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(216); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("All of the spices in Globuton couldn't save this food.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Empty Pepper Shaker
            {
                StoryChapter nextChapter = NewChapter(217); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("Someone REALLY likes pepper.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Pepper Flakes
            {
                StoryChapter nextChapter = NewChapter(218); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage(".", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Keypad
            {
                StoryChapter nextChapter = NewChapter(224); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("I need the super secret code to unlock the door.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Trash can
            {
                StoryChapter nextChapter = NewChapter(227); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("I hope I don’t have to dig too long...", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Toy Blocks
            {
                StoryChapter nextChapter = NewChapter(228); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("Now who would go and throw away a perfectly good set of blocks?", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(231); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("It would be a crime to just leave them here.", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //**Storage Room**
            //*Pepper Shaker
            {
                StoryChapter nextChapter = NewChapter(232); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("The label reads, “Rich in vitamins, minerals, and anti-oxidants...”", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(233); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("”Warning! Excessive use may induce violent sneezing and other allergic reactions.”", 5.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(234); //Boxii Comment 3
                {
                    nextChapter.pages.Add(NewPage("The warnings continue, but I’m sure I’ll be fine.", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
            //*Crates
            {
                StoryChapter nextChapter = NewChapter(235); //Boxii Comment 1
                {
                    nextChapter.pages.Add(NewPage("", 4.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(236); //Boxii Comment 2
                {
                    nextChapter.pages.Add(NewPage("", 5.0f));
                }
                nextBook.chapters.Add(nextChapter);

                nextChapter = NewChapter(237); //Boxii Comment 3
                {
                    nextChapter.pages.Add(NewPage("", 3.0f));
                }
                nextBook.chapters.Add(nextChapter);
            }
        }
        //add the book to the narrative
        allNarratives.Add(nextBook);
    }