private async void checkWinAndLose() { if (winCondition()) { //TODO: advance campaign victoryImage.enabled = true; await Task.Delay(TimeSpan.FromMilliseconds(6000)); victoryImage.enabled = false; //This will be encoded in the campaign CutsceneCharacter blair = CutsceneCharacter.blair; CutsceneScript script = new CutsceneScript(new List <CutsceneScriptLine> { new CutsceneScriptLine(CutsceneAction.SetBackground, background: CutsceneBackground.None), new CutsceneScriptLine(CutsceneAction.SetCharacter, character: blair, side: CutsceneSide.Left), new CutsceneScriptLine(CutsceneAction.SayDialogue, character: blair, dialogue: "That sure was a intense battle huh?"), new CutsceneScriptLine(CutsceneAction.SayDialogue, character: blair, dialogue: "Oh no! it looks like the evil lord zxqv is getting away. Does this qualify as a plot hook?"), }); Cutscene endCutscene = Instantiate(cutscene); endCutscene.setup(script, cutscene); } else if (loseCondition()) { defeatImage.enabled = true; } }
// Use this for initialization void Start() { //Just for testing because we don't have any way to set the campaign yet: Character[] characters = new[] { new Character("Alice", true), new Character("The evil lord zxqv", false) }; List <Coord> alicePickTiles = new List <Coord> { new Coord(0, 0), new Coord(0, 1), new Coord(1, 0) }; List <Coord> evilGuyPickTiles = new List <Coord> { new Coord(3, 7), new Coord(7, 4) }; Dictionary <Character, List <Coord> > validPickTiles = new Dictionary <Character, List <Coord> >(); validPickTiles[characters[0]] = alicePickTiles; validPickTiles[characters[1]] = evilGuyPickTiles; Level level = new Level("DemoMap", characters, null, validPickTiles); Campaign testCampaign = new Campaign("test", 0, new[] { level }); Persistance.campaign = testCampaign; //This will be encoded in the campaign. Somewhere. CutsceneCharacter blair = CutsceneCharacter.blair; CutsceneCharacter juniper = CutsceneCharacter.juniper; CutsceneScript script = new CutsceneScript(new List <CutsceneScriptLine> { new CutsceneScriptLine(CutsceneAction.SetBackground, background: CutsceneBackground.Academy), new CutsceneScriptLine(CutsceneAction.SetCharacter, character: blair, side: CutsceneSide.Left), new CutsceneScriptLine(CutsceneAction.SayDialogue, character: blair, dialogue: "My name is Blair!"), new CutsceneScriptLine(CutsceneAction.SetCharacter, character: juniper, side: CutsceneSide.Right), new CutsceneScriptLine(CutsceneAction.SayDialogue, character: juniper, dialogue: "and I'm Juniper."), new CutsceneScriptLine(CutsceneAction.SayDialogue, character: blair, dialogue: "There's a third major character, Bruno. He would've been here, but he got tied up with paperwork"), new CutsceneScriptLine(CutsceneAction.SayDialogue, character: juniper, dialogue: "Which is to say we ran out of budget"), new CutsceneScriptLine(CutsceneAction.SayDialogue, character: juniper, dialogue: "Anyways, I hope you enjoy this slick as h*ck demo"), new CutsceneScriptLine(CutsceneAction.TransitionOut, side: CutsceneSide.Right), new CutsceneScriptLine(CutsceneAction.TransitionOut, side: CutsceneSide.Left) }); cutscene.setup(script); //Actual constructor code. This should still be here after the demo :p playerCharacter = 0; battlefield = new Battlefield(); currentCharacter = -1; battleStage = BattleLoopStage.Initial; turnPlayerText.enabled = false; turnChangeBackground.enabled = false; victoryImage.enabled = false; defeatImage.enabled = false; getLevel(); deserializeMap(); }
public CutsceneScriptLine( CutsceneAction action, CutsceneBackground background = CutsceneBackground.None, CutsceneSide side = CutsceneSide.Left, CutsceneCharacter character = null, CharacterExpression expression = CharacterExpression.Default, string dialogue = "") { this.action = action; this.background = background; this.side = side; this.character = character; this.expression = expression; this.dialogue = dialogue; }