public CutsceneQueue(Cutscene cutscene, CutsceneQueueContext context) { _queue = new Queue <ICutsceneAction>(); foreach (var action in cutscene) { _queue.Enqueue(action); } _context = context; }
public void RunCutscene(Cutscene cutscene, Action completion) { cutsceneCanvas.SetActive(true); var context = new CutsceneQueueContext(this, () => { cutsceneCanvas.SetActive(false); completion(); }); _cutsceneQueue = new CutsceneQueue(cutscene, context); _cutsceneQueue.Run(); }
public void AnimateTextInPagedDialog(string text, Action completion) { IEnumerable <DialogPage> dialogPages = GetDialogPages(text); var cutscene = new Cutscene(); foreach (var page in dialogPages) { cutscene.Add(new DialogPageAction(page, this)); } var context = new CutsceneQueueContext(this, completion); _pagedDialogCutsceneQueue = new CutsceneQueue(cutscene, context); _pagedDialogCutsceneQueue.Run(); }