speech types
This commit is contained in:
@@ -13,5 +13,5 @@ interface Director<Set, StagePosition, StageFacing, ScreenPosition, Actor> {
|
||||
function showScene(scene:Scene<Set, StagePosition, StageFacing, ScreenPosition, Actor>, appearance:Appearance, cc:Continuation):Void;
|
||||
function showCharacter(character:Character<StagePosition, StageFacing, Actor>, appearance:Appearance, cc:Continuation):Void;
|
||||
function waitForInputOrDelay(delaySeconds:Float, cc:Continuation):Void;
|
||||
function showDialog(character:Character<StagePosition, StageFacing, Actor>, dialog:String, cc:Continuation):Void;
|
||||
function showDialog(type:SpeechType<StagePosition, StageFacing, Actor>, wryly:String, dialog:String, cc:Continuation):Void;
|
||||
}
|
||||
|
@@ -75,5 +75,10 @@
|
||||
// TODO moveCharacter remove them, add them to another scene
|
||||
// TODO moveCharacterAndFollow remove them, add them to another scene, set that the scene
|
||||
|
||||
(method doDialog [actorName text cc]
|
||||
(director.showDialog (dictGet .characters (_currentScene) actorName) text cc))
|
||||
(method normalSpeech [actorName wryly text cc]
|
||||
(director.showDialog (OnScreen (dictGet .characters (_currentScene) actorName)) wryly text cc))
|
||||
|
||||
(method onPhoneSpeech [actorName wryly text cc]
|
||||
(director.showDialog (ifLet [charOnScreen (dictGet .characters (_currentScene) actorName)]
|
||||
(OnScreen charOnScreen)
|
||||
(FromPhone (dictGet actors actorName))) wryly text cc))
|
@@ -19,6 +19,14 @@ typedef Character<StagePosition, StageFacing, Actor> = {
|
||||
actor:Actor
|
||||
};
|
||||
|
||||
enum SpeechType<StagePosition, StageFacing, Actor> {
|
||||
OffScreen(actor:Actor);
|
||||
TextMessage(actor:Actor);
|
||||
FromPhone(actor:Actor);
|
||||
OnScreen(character:Character<StagePosition, StageFacing, Actor>);
|
||||
Custom(type:String, actor:Actor, args:Dynamic);
|
||||
}
|
||||
|
||||
typedef Scene<Set, StagePosition, StageFacing, ScreenPosition, Actor> = {
|
||||
set:Set,
|
||||
characters:Map<String, Character<StagePosition, StageFacing, Actor>>,
|
||||
|
Reference in New Issue
Block a user