Loading...
Loading...
Use when upgrading an existing @drincs/pixi-vn project to a newer version, or when a runtime/type error matches a known breaking change. Covers every breaking change between versions with before/after code.
npx skill4agent add drincs-productions/pixi-vn pixi-vn-migrationnqtrpixi-vn-ink@drincs/pixi-vn## pixi-vn@drincs/pixi-vnpackage.jsonPIXIVN_VERSIONGameState.pixivn_versionpixi-vn-getting-startedtickerstransitionsshowWithDissolveshowWithFademoveInmoveOutzoomInzoomOutpushInpushOutremoveWithDissolveremoveWithFadeeffectsshakeEffectimport { moveIn, shakeEffect, zoomIn } from "@drincs/pixi-vn"; // [!code --]
import { effects, transitions } from "@drincs/pixi-vn"; // [!code ++]
await zoomIn("alice", "alice"); // [!code --]
await transitions.zoomIn("alice", "alice"); // [!code ++]
await moveIn("alice", "alice"); // [!code --]
await transitions.moveIn("alice", "alice"); // [!code ++]
shakeEffect("alice"); // [!code --]
effects.shakeEffect("alice"); // [!code ++]@drincs/pixi-vn/canvascanvas.tickerstickerstickers@drincs/pixi-vncanvassoundcanvas.tickerstickersimport { canvas } from "@drincs/pixi-vn"; // [!code --]
import { tickers } from "@drincs/pixi-vn"; // [!code ++]
canvas.tickers.add("alien", new RotateTicker({ speed: 0.2 })); // [!code --]
tickers.add("alien", new RotateTicker({ speed: 0.2 })); // [!code ++]
canvas.tickers.pause({ canvasAlias: "alien" }); // [!code --]
tickers.pause({ canvasAlias: "alien" }); // [!code ++]
await canvas.tickers.forceCompletion(id); // [!code --]
await tickers.forceCompletion(id); // [!code ++]addSequencefindremoveremoveAllresumeisPausedunlinkComponenttransfercompleteOnStepEndonCompletecurrentTickerscurrentTickersStepsCanvasTickersInterfaceTickersInterfaceimport type { CanvasTickersInterface } from "@drincs/pixi-vn"; // [!code --]
import type { TickersInterface } from "@drincs/pixi-vn"; // [!code ++]TickerBasetickerDecoratorRegisteredTickersTicker*@drincs/pixi-vnCanvasManagerStatic_currentTickers_currentTickersSequence_currentTickersTimeouts_tickersToCompleteOnStepEndcurrentTickersWithoutCreatedByStepscurrentTickersSequencegenerateTickerIdaddTickerTimeoutInforemoveTickerTimeout*TickersManagerStaticCanvasManagerStatic._currentTickers; // [!code --]
TickersManagerStatic._currentTickers; // [!code ++]
CanvasManagerStatic.currentTickersSequence; // [!code --]
TickersManagerStatic.currentTickersSequence(); // [!code ++]tickers.currentTickerstickers.currentTickersSteps@deprecatedRepeatPause(duration)RepeatTypePauseTypecanvas.addTickersSequenceTickercanvas.addTickersSequence("alien", [
new RotateTicker({ speed: 0.1, clockwise: true }, 2),
Pause(1), // [!code --]
new RotateTicker({ speed: 0.2, clockwise: false }, 2),
Repeat, // [!code --]
]);pixi-vn-canvastickers.mdforceCompleteBeforeNextshowWithDissolvemoveInzoomInCommonTickerPropscompleteOnContinueawait showWithDissolve("alice", "alice", {
forceCompleteBeforeNext: true, // [!code --]
completeOnContinue: true, // [!code ++]
});AssetMemory.imageAssetMemory.aliasurlGame.restoreGameState(data, navigate)navigatedataGame.onNavigateGame.init({ navigate })Game.restoreGameState(data, navigateTo); // [!code --]
Game.restoreGameState(data); // [!code ++]Game.onError(...)Game.addOnErrorGame.removeOnErrorGame.onError((type, error, { notify, uiTransition }) => { ... }); // [!code --]
Game.addOnError((error, { notify, uiTransition }) => { ... }); // [!code ++]pixi-vn-canvastickers.mdpixi-vn-getting-startedGamecanvassoundstoragenarrationcanvascanvas.tickers.layers.htmlLayerssound.channels.unsavedstorage.temp.flagsnarration.labels.queries.input.choicespixi-vn-canvaspixi-vn-soundpixi-vn-storagepixi-vn-getting-started@deprecatedsound.channelsAudioChannelInterface[].valuessound.channels.map((c) => c.alias); // [!code --]
sound.channels.values.map((c) => c.alias); // [!code ++]narration.choicesStoredIndexedChoiceInterface[] | undefined.listnarration.choices = [...].listconst choices = narration.choices; // [!code --]
const choices = narration.choices.list; // [!code ++]canvascanvas.tickerstickerstickers.*canvas.transferTickers("old", "new"); // [!code --]
canvas.tickers.transfer("old", "new"); // [!code ++]canvas.currentTickers; // [!code --]
canvas.tickers.currentTickers; // [!code ++]canvas.currentTickersSteps; // [!code --]
canvas.tickers.currentTickersSteps; // [!code ++]canvas.findTicker("t1"); // [!code --]
canvas.tickers.find("t1"); // [!code ++]canvas.addTicker("alien", new RotateTicker({ speed: 0.2 })); // [!code --]
canvas.tickers.add("alien", new RotateTicker({ speed: 0.2 })); // [!code ++]canvas.addTickersSequence("alien", steps); // [!code --]
canvas.tickers.addSequence("alien", steps); // [!code ++]canvas.unlinkComponentFromTicker("alien", RotateTicker); // [!code --]
canvas.tickers.unlinkComponent("alien", RotateTicker); // [!code ++]canvas.removeAllTickers(); // [!code --]
canvas.tickers.removeAll(); // [!code ++]canvas.removeTicker("t1"); // [!code --]
canvas.tickers.remove("t1"); // [!code ++]canvas.pauseTicker({ canvasAlias: "alien" }); // [!code --]
canvas.tickers.pause({ canvasAlias: "alien" }); // [!code ++]canvas.resumeTicker({ canvasAlias: "alien" }); // [!code --]
canvas.tickers.resume({ canvasAlias: "alien" }); // [!code ++]canvas.isTickerPaused("alien"); // [!code --]
canvas.tickers.isPaused("alien"); // [!code ++]canvas.completeTickerOnStepEnd({ id: "t1" }); // [!code --]
canvas.tickers.completeOnStepEnd({ id: "t1" }); // [!code ++]canvas.forceCompletionOfTicker("t1"); // [!code --]
canvas.tickers.forceCompletion("t1"); // [!code ++]canvas.onTickerComplete("t1", options); // [!code --]
canvas.tickers.onComplete("t1", options); // [!code ++]canvascanvas.layerscanvas.gameLayer; // [!code --]
canvas.layers.gameLayer; // [!code ++]canvas.addLayer("ui", uiLayer); // [!code --]
canvas.layers.add("ui", uiLayer); // [!code ++]canvas.getLayer("ui"); // [!code --]
canvas.layers.get("ui"); // [!code ++]canvas.removeLayer("ui"); // [!code --]
canvas.layers.remove("ui"); // [!code ++]canvascanvas.htmlLayerscanvas.addHtmlLayer("ui", root); // [!code --]
canvas.htmlLayers.add("ui", root); // [!code ++]canvas.getHtmlLayer("ui"); // [!code --]
canvas.htmlLayers.get("ui"); // [!code ++]canvas.removeHtmlLayer("ui"); // [!code --]
canvas.htmlLayers.remove("ui"); // [!code ++]soundsound.unsavedsound.playTransient("ui-click"); // [!code --]
sound.unsaved.playTransient("ui-click"); // [!code ++]sound.pauseUnsavedAll(); // [!code --]
sound.unsaved.pauseAll(); // [!code ++]sound.resumeUnsavedAll(); // [!code --]
sound.unsaved.resumeAll(); // [!code ++]sound.stopTransientAll(); // [!code --]
sound.unsaved.stopTransientAll(); // [!code ++]soundsound.channels.valuessound.addChannel("music"); // [!code --]
sound.channels.add("music"); // [!code ++]sound.findChannel("music"); // [!code --]
sound.channels.find("music"); // [!code ++]storagestorage.tempstorage.temp.deadlinesstorage.setTempVariable("key", "value"); // [!code --]
storage.temp.set("key", "value"); // [!code ++]storage.removeTempVariable("key"); // [!code --]
storage.temp.remove("key"); // [!code ++]storagestorage.flagsstorage.setFlag("introSeen", true); // [!code --]
storage.flags.set("introSeen", true); // [!code ++]storage.getFlag("introSeen"); // [!code --]
storage.flags.get("introSeen"); // [!code ++]narrationnarration.labelsnarration.openedLabels; // [!code --]
narration.labels.opened; // [!code ++]narration.currentLabel; // [!code --]
narration.labels.current; // [!code ++]narration.closeCurrentLabel(); // [!code --]
narration.labels.closeCurrent(); // [!code ++]narration.closeAllLabels(); // [!code --]
narration.labels.closeAll(); // [!code ++]narrationnarration.queriesnarration.isLabelAlreadyCompleted(label); // [!code --]
narration.queries.isLabelAlreadyCompleted(label); // [!code ++]narration.alreadyCurrentStepMadeChoices; // [!code --]
narration.queries.alreadyCurrentStepMadeChoices; // [!code ++]narration.isCurrentStepAlreadyOpened; // [!code --]
narration.queries.isCurrentStepAlreadyOpened; // [!code ++]narration.getTimesLabelOpened(label); // [!code --]
narration.queries.timesLabelOpened(label); // [!code ++]narration.getTimesChoiceMade(index); // [!code --]
narration.queries.timesChoiceMade(index); // [!code ++]narrationnarration.inputnarration.inputValue; // [!code --]
narration.input.value; // [!code ++]narration.isRequiredInput; // [!code --]
narration.input.isRequired; // [!code ++]narration.inputType; // [!code --]
narration.input.type; // [!code ++]narration.requestInput({ type: "number" }); // [!code --]
narration.input.request({ type: "number" }); // [!code ++]narration.removeInputRequest(); // [!code --]
narration.input.removeRequest(); // [!code ++]narrationnarration.choices.listnarration.selectChoice(choices[0], {}); // [!code --]
narration.choices.select(choices[0], {}); // [!code ++]@pixi/soundpixi-vn-soundmediavolumeParamconst bgmMedia = sound.find("bgm_cheerful");
if (bgmMedia) bgmMedia.volume = 90; // [!code --]
if (bgmMedia) bgmMedia.volume.value = 90; // [!code ++]sound.edit(alias, options)canvas.addHtmlLayeruserSelect: "none"const htmlLayer = canvas.addHtmlLayer("ui", root, { userSelect: "auto" }); // [!code ++]Game.onNavigatepixi-vn-getting-startedGame.onNavigate((path) => navigateTo(path)); // [!code ++]
Game.restoreGameState(data, navigateTo); // [!code --]
Game.restoreGameState(data); // [!code ++]storage.setStorageHandler({ onSetVariable, onRemoveVariable, onClearOldTempVariable })pixi-vn-storageGame.startaddOnErrorsoundchannelsmediaassetspixi-vn-soundsound.add("bird", "resources/bird.mp3"); // [!code --]
sound.play("bird", { loop: true }); // [!code ++] (sound.play replaces add()+play())
let s = sound.add("bird", { url: "resources/bird.mp3", loop: true }); // [!code --]
s.play(); // [!code --]
s.pause(); // [!code --]
sound.play("bird", { loop: true }); // [!code ++]
sound.pause("bird"); // [!code ++]Game.start(label, props)pixi-vn-getting-startedGame.clear()narration.call(...)Game.clear(); // [!code --]
narration.call("start", gameProps); // [!code --]
Game.start("start", gameProps); // [!code ++]:character:alice:friendshippixi-vn-storageGame.addOnErrorGame.onErrortypepixi-vn-getting-startedGame.onError((type, error, { notify, uiTransition }) => { ... }); // [!code --]
Game.addOnError((error, { toast, uiTransition }) => { ... }); // [!code ++]pixi.jspixi.jspixi.jspixi-vn-getting-startedindex.htmlstyles.cssstepHistory.back()stepHistory.back()StepLabelPropsGame.init()pixi-vn-historypixi-vn-getting-startedstepHistory.back((_path) => {
/* navigate in the url path */
}); // [!code --]
const gameProps = {};
stepHistory.back(gameProps); // [!code ++]Game.init(body, {
height: 1080,
width: 1920,
backgroundColor: "#303030",
navigate: (_path) => {
/* navigate in the url path */
}, // [!code ++]
}).then(() => {
/* ... */
});stepHistory.goBacknarration.goNextPIXIcanvas.canvasWidthcanvas.canvasHeightcanvas.onEndOfTickerFadeAlphaTickerMoveTickerRotateTickerZoomTickernarration.canContinuestepHistorynarration.callLabeljumpLabelcalljumpnarration.choiceMenuOptionsstorage.startingStoragesetVariablegetVariableremoveVariablestorage.defaultsetgetremovecanvas.animatecanvas.animatemotionpixi-vn-canvasFadeAlphaTickerMoveTickerRotateTickerZoomTickershowWithDissolvemoveIncanvas.animateGamestepHistorynarrationclearAllGameDatas(); // [!code --]
Game.clear(); // [!code ++]
canvas.initialize(body, options).then(...); // [!code --]
Game.init(body, options).then(...); // [!code ++]
getSaveData(); // [!code --]
Game.exportGameState(); // [!code ++]
getSaveJson(); // [!code --]
JSON.stringify(Game.exportGameState()); // [!code ++]
loadSaveData(data, navigate); // [!code --]
Game.restoreGameState(data, navigate); // [!code ++]
jsonToSaveData(json); // [!code --]
JSON.parse(json); // [!code ++]
narration.canGoBack; // [!code --]
stepHistory.canGoBack; // [!code ++]
narration.back(); // [!code --]
stepHistory.back(); // [!code ++]
narration.narrativeHistory; // [!code --]
stepHistory.narrativeHistory; // [!code ++]pixi-vn-getting-startedGamepixi-vn-historystepHistorypixi-vn-savesexportGameStaterestoreGameStateGameGame.exportGameStaterestoreGameStatestepHistory