Split yarn, handle inactive options
This commit is contained in:
parent
808958f7cc
commit
fd6b9ee8dd
@ -10,35 +10,3 @@ You: What happened to the updates from mission control?
|
|||||||
You: Let's have another look around...
|
You: Let's have another look around...
|
||||||
<<room quarters>>
|
<<room quarters>>
|
||||||
===
|
===
|
||||||
title: Room:quarters
|
|
||||||
---
|
|
||||||
<<declare $roll = 0>>
|
|
||||||
// You: It's the crew quarters.
|
|
||||||
// You: Well, it will be. Set-up hasn't started yet.
|
|
||||||
// You: That was meant to be one of my first jobs after defrost...
|
|
||||||
// You: ...but it doesn't exactly seem like a priority now.
|
|
||||||
You: Maybe there's something useful here?
|
|
||||||
-> Search the lockers [perception]
|
|
||||||
<<set $roll to dice(6)>>
|
|
||||||
<<if $roll > 2>>
|
|
||||||
You: Aha! A small piece of paper with the **hangar access code**.
|
|
||||||
<<room hangar>>
|
|
||||||
<<else>>
|
|
||||||
You: Just some dust bunnies. Guess they stowed away from Earth.
|
|
||||||
<<endif>>
|
|
||||||
-> Set up a sleeping mat [ingenuity]
|
|
||||||
<<set $roll to dice(6)>>
|
|
||||||
<<if $roll > 2>>
|
|
||||||
You: Nice, at least I have somewhere to crash now.
|
|
||||||
<<else>>
|
|
||||||
You: Hmm, I was never good at this camping stuff. Maybe I can find somewhere else to rest.
|
|
||||||
<<endif>>
|
|
||||||
===
|
|
||||||
title: Room:hangar
|
|
||||||
---
|
|
||||||
You: The **hangar** seems eerily deserted
|
|
||||||
===
|
|
||||||
title: Room not open
|
|
||||||
---
|
|
||||||
You: Hmm, that part of the ship is still inaccessible. I wonder how to get in?
|
|
||||||
===
|
|
||||||
|
34
res/text/rooms.yarn
Normal file
34
res/text/rooms.yarn
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
title: Room:quarters
|
||||||
|
---
|
||||||
|
<<declare $roll = 0>>
|
||||||
|
<<declare $hangarKeyFound = false>>
|
||||||
|
// You: It's the crew quarters.
|
||||||
|
// You: Well, it will be. Set-up hasn't started yet.
|
||||||
|
// You: That was meant to be one of my first jobs after defrost...
|
||||||
|
// You: ...but it doesn't exactly seem like a priority now.
|
||||||
|
You: Maybe there's something useful here?
|
||||||
|
-> Search the lockers [perception] <<if not $hangarKeyFound>>
|
||||||
|
<<set $roll to dice(6)>>
|
||||||
|
<<if $roll > 2>>
|
||||||
|
You: Aha! A small piece of paper with the **hangar access code**.
|
||||||
|
<<room hangar>>
|
||||||
|
<<set $hangarKeyFound to true>>
|
||||||
|
<<else>>
|
||||||
|
You: Just some dust bunnies. Guess they stowed away from Earth.
|
||||||
|
<<endif>>
|
||||||
|
-> Set up a sleeping mat [ingenuity]
|
||||||
|
<<set $roll to dice(6)>>
|
||||||
|
<<if $roll > 2>>
|
||||||
|
You: Nice, at least I have somewhere to crash now.
|
||||||
|
<<else>>
|
||||||
|
You: Hmm, I was never good at this camping stuff. Maybe I can find somewhere else to rest.
|
||||||
|
<<endif>>
|
||||||
|
===
|
||||||
|
title: Room:hangar
|
||||||
|
---
|
||||||
|
You: The **hangar** seems eerily deserted
|
||||||
|
===
|
||||||
|
title: Room not open
|
||||||
|
---
|
||||||
|
You: Hmm, that part of the ship is still inaccessible. I wonder how to get in?
|
||||||
|
===
|
14
src/Game.hx
14
src/Game.hx
@ -1,5 +1,6 @@
|
|||||||
import h2d.Layers;
|
import h2d.Layers;
|
||||||
import h2d.Console;
|
import h2d.Console;
|
||||||
|
import h3d.Vector4;
|
||||||
|
|
||||||
import scene.TitleScene;
|
import scene.TitleScene;
|
||||||
import scene.WorldMapScene;
|
import scene.WorldMapScene;
|
||||||
@ -87,9 +88,11 @@ class Game extends hxd.App {
|
|||||||
|
|
||||||
var yarnText = [
|
var yarnText = [
|
||||||
hxd.Res.text.intro.entry.getText(),
|
hxd.Res.text.intro.entry.getText(),
|
||||||
|
hxd.Res.text.rooms.entry.getText(),
|
||||||
];
|
];
|
||||||
var yarnFileNames = [
|
var yarnFileNames = [
|
||||||
hxd.Res.text.intro.entry.name,
|
hxd.Res.text.intro.entry.name,
|
||||||
|
hxd.Res.text.rooms.entry.name,
|
||||||
];
|
];
|
||||||
dialogueManager.load(yarnText, yarnFileNames);
|
dialogueManager.load(yarnText, yarnFileNames);
|
||||||
|
|
||||||
@ -135,8 +138,10 @@ class Game extends hxd.App {
|
|||||||
|
|
||||||
function renderOptions(event:OptionsShown) {
|
function renderOptions(event:OptionsShown) {
|
||||||
for (option in event.options) {
|
for (option in event.options) {
|
||||||
addOption(option.text, function() {
|
addOption(option.text, option.enabled, function() {
|
||||||
globalEventBus.publishEvent(new OptionSelected(option.index));
|
if (option.enabled) {
|
||||||
|
globalEventBus.publishEvent(new OptionSelected(option.index));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -150,10 +155,13 @@ class Game extends hxd.App {
|
|||||||
return g;
|
return g;
|
||||||
}
|
}
|
||||||
|
|
||||||
function addOption(o: String, callback: () -> Void) {
|
function addOption(o: String, enabled : Bool, callback: () -> Void) {
|
||||||
var spr = newPanel(Const.W, 60);
|
var spr = newPanel(Const.W, 60);
|
||||||
curDialogue.addChild(spr);
|
curDialogue.addChild(spr);
|
||||||
var tf = new h2d.Text(font, spr);
|
var tf = new h2d.Text(font, spr);
|
||||||
|
if (!enabled) {
|
||||||
|
tf.color = new Vector4(0.5, 0.5, 0.5, 1);
|
||||||
|
}
|
||||||
tf.text = o;
|
tf.text = o;
|
||||||
tf.x = 10;
|
tf.x = 10;
|
||||||
tf.y = 10;
|
tf.y = 10;
|
||||||
|
@ -42,7 +42,6 @@ class WorldMapScene extends h2d.Flow implements GameScene implements h2d.domkit.
|
|||||||
area.x = obj.x;
|
area.x = obj.x;
|
||||||
area.y = obj.y;
|
area.y = obj.y;
|
||||||
area.onClick = function(_) {
|
area.onClick = function(_) {
|
||||||
trace("Room:" + obj.name);
|
|
||||||
var room = rooms.get(obj.name);
|
var room = rooms.get(obj.name);
|
||||||
if (room.isOpen) {
|
if (room.isOpen) {
|
||||||
Game.current.globalEventBus.publishEvent(new StartDialogueNode("Room:" + obj.name));
|
Game.current.globalEventBus.publishEvent(new StartDialogueNode("Room:" + obj.name));
|
||||||
|
Loading…
Reference in New Issue
Block a user