moveCharacter

This commit is contained in:
2022-01-03 19:55:03 -07:00
parent 89b6c25823
commit 591c8cc081
2 changed files with 9 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ interface Director<Set, StagePosition, StageFacing, ScreenPosition, Actor, Sound
function showScene(scene:Scene<Set, StagePosition, StageFacing, ScreenPosition, Actor, Prop>, appearance:Appearance, cc:Continuation):Void;
function showCharacter(character:Character<StagePosition, StageFacing, Actor>, appearance:Appearance, cc:Continuation):Void;
function hideCharacter(character:Character<StagePosition, StageFacing, Actor>, cc:Continuation):Void;
function moveCharacter(character:Character<StagePosition, StageFacing, Actor>, fromPos:StagePosition, fromFacing:StageFacing, toPos:StagePosition, toFacing:StageFacing, cc:Continuation):Void;
function playSound(sound:Sound, volumeMod:Float, waitForEnd:Bool, cc:Continuation):Void;
function playSong(song:Song, volumeMod:Float, loop:Bool, waitForEnd:Bool, cc:Continuation):Void;
function stopSong():Void;

View File

@@ -230,6 +230,14 @@
(.remove .characters (_currentScene) actorName)
(director.hideCharacter c cc)))
(hollywooMethod moveCharacter false [actorName :StagePosition newPosition :StageFacing newFacing :Continuation cc]
(let [c (dictGet .characters (_currentScene) actorName)
oldPosition c.stagePosition
oldFacing c.stageFacing]
(set c.stagePosition newPosition)
(set c.stageFacing newFacing)
(director.moveCharacter c oldPosition oldFacing newPosition newFacing cc)))
// TODO moveCharacter remove them, add them to another scene
// TODO moveCharacterAndFollow remove them, add them to another scene, set that the scene