@drincs/pixi-vn 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{TickerBase-RQDWNI4K.d.ts → TickerBase-3rLpDpmb.d.ts} +27 -13
- package/dist/{TickerBase-B5CQCJs8.d.mts → TickerBase-DKYzbzro.d.mts} +27 -13
- package/dist/classes/CanvasEvent.d.mts +7 -1
- package/dist/classes/CanvasEvent.d.ts +7 -1
- package/dist/classes/CanvasEvent.js +7 -0
- package/dist/classes/CanvasEvent.js.map +1 -1
- package/dist/classes/CanvasEvent.mjs +7 -0
- package/dist/classes/CanvasEvent.mjs.map +1 -1
- package/dist/classes/CharacterBaseModel.d.mts +2 -26
- package/dist/classes/CharacterBaseModel.d.ts +2 -26
- package/dist/classes/CharacterBaseModel.js +544 -241
- package/dist/classes/CharacterBaseModel.js.map +1 -1
- package/dist/classes/CharacterBaseModel.mjs +540 -241
- package/dist/classes/CharacterBaseModel.mjs.map +1 -1
- package/dist/classes/ChoiceMenuOption.d.mts +27 -17
- package/dist/classes/ChoiceMenuOption.d.ts +27 -17
- package/dist/classes/ChoiceMenuOption.js +548 -243
- package/dist/classes/ChoiceMenuOption.js.map +1 -1
- package/dist/classes/ChoiceMenuOption.mjs +544 -243
- package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
- package/dist/classes/CloseLabel.d.mts +1 -1
- package/dist/classes/CloseLabel.d.ts +1 -1
- package/dist/classes/CloseLabel.js +1 -1
- package/dist/classes/CloseLabel.js.map +1 -1
- package/dist/classes/CloseLabel.mjs +1 -1
- package/dist/classes/CloseLabel.mjs.map +1 -1
- package/dist/classes/DialogueBaseModel.d.mts +3 -2
- package/dist/classes/DialogueBaseModel.d.ts +3 -2
- package/dist/classes/DialogueBaseModel.js +5 -5
- package/dist/classes/DialogueBaseModel.js.map +1 -1
- package/dist/classes/DialogueBaseModel.mjs +5 -5
- package/dist/classes/DialogueBaseModel.mjs.map +1 -1
- package/dist/classes/Label.d.mts +1 -1
- package/dist/classes/Label.d.ts +1 -1
- package/dist/classes/Label.js +1 -1
- package/dist/classes/Label.js.map +1 -1
- package/dist/classes/Label.mjs +1 -1
- package/dist/classes/Label.mjs.map +1 -1
- package/dist/classes/StoredClassModel.d.mts +2 -2
- package/dist/classes/StoredClassModel.d.ts +2 -2
- package/dist/classes/StoredClassModel.js +544 -241
- package/dist/classes/StoredClassModel.js.map +1 -1
- package/dist/classes/StoredClassModel.mjs +540 -241
- package/dist/classes/StoredClassModel.mjs.map +1 -1
- package/dist/classes/canvas/CanvasBase.d.mts +5 -1
- package/dist/classes/canvas/CanvasBase.d.ts +5 -1
- package/dist/classes/canvas/CanvasBase.js +7 -0
- package/dist/classes/canvas/CanvasBase.js.map +1 -1
- package/dist/classes/canvas/CanvasBase.mjs +7 -0
- package/dist/classes/canvas/CanvasBase.mjs.map +1 -1
- package/dist/classes/canvas/CanvasContainer.d.mts +4 -1
- package/dist/classes/canvas/CanvasContainer.d.ts +4 -1
- package/dist/classes/canvas/CanvasContainer.js +57 -37
- package/dist/classes/canvas/CanvasContainer.js.map +1 -1
- package/dist/classes/canvas/CanvasContainer.mjs +57 -38
- package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
- package/dist/classes/canvas/CanvasImage.d.mts +4 -2
- package/dist/classes/canvas/CanvasImage.d.ts +4 -2
- package/dist/classes/canvas/CanvasImage.js +33 -20
- package/dist/classes/canvas/CanvasImage.js.map +1 -1
- package/dist/classes/canvas/CanvasImage.mjs +30 -20
- package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
- package/dist/classes/canvas/CanvasSprite.d.mts +6 -3
- package/dist/classes/canvas/CanvasSprite.d.ts +6 -3
- package/dist/classes/canvas/CanvasSprite.js +25 -17
- package/dist/classes/canvas/CanvasSprite.js.map +1 -1
- package/dist/classes/canvas/CanvasSprite.mjs +25 -18
- package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
- package/dist/classes/canvas/CanvasText.d.mts +6 -3
- package/dist/classes/canvas/CanvasText.d.ts +6 -3
- package/dist/classes/canvas/CanvasText.js +25 -17
- package/dist/classes/canvas/CanvasText.js.map +1 -1
- package/dist/classes/canvas/CanvasText.mjs +25 -18
- package/dist/classes/canvas/CanvasText.mjs.map +1 -1
- package/dist/classes/canvas/index.js +184 -158
- package/dist/classes/canvas/index.js.map +1 -1
- package/dist/classes/canvas/index.mjs +184 -158
- package/dist/classes/canvas/index.mjs.map +1 -1
- package/dist/classes/index.d.mts +6 -4
- package/dist/classes/index.d.ts +6 -4
- package/dist/classes/index.js +560 -248
- package/dist/classes/index.js.map +1 -1
- package/dist/classes/index.mjs +556 -248
- package/dist/classes/index.mjs.map +1 -1
- package/dist/classes/ticker/FadeAlphaTicker.d.mts +27 -0
- package/dist/classes/ticker/FadeAlphaTicker.d.ts +27 -0
- package/dist/classes/ticker/{TickerFadeAlpha.js → FadeAlphaTicker.js} +549 -248
- package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -0
- package/dist/classes/ticker/{TickerRotate.mjs → FadeAlphaTicker.mjs} +571 -274
- package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -0
- package/dist/classes/ticker/MoveTicker.d.mts +25 -0
- package/dist/classes/ticker/MoveTicker.d.ts +25 -0
- package/dist/classes/ticker/{TickerMove.js → MoveTicker.js} +544 -241
- package/dist/classes/ticker/MoveTicker.js.map +1 -0
- package/dist/classes/ticker/{TickerFadeAlpha.mjs → MoveTicker.mjs} +568 -269
- package/dist/classes/ticker/MoveTicker.mjs.map +1 -0
- package/dist/classes/ticker/RotateTicker.d.mts +27 -0
- package/dist/classes/ticker/RotateTicker.d.ts +27 -0
- package/dist/classes/ticker/{TickerRotate.js → RotateTicker.js} +544 -241
- package/dist/classes/ticker/RotateTicker.js.map +1 -0
- package/dist/classes/ticker/{TickerMove.mjs → RotateTicker.mjs} +558 -259
- package/dist/classes/ticker/RotateTicker.mjs.map +1 -0
- package/dist/classes/ticker/TickerBase.d.mts +2 -1
- package/dist/classes/ticker/TickerBase.d.ts +2 -1
- package/dist/classes/ticker/TickerBase.js +12 -6
- package/dist/classes/ticker/TickerBase.js.map +1 -1
- package/dist/classes/ticker/TickerBase.mjs +12 -6
- package/dist/classes/ticker/TickerBase.mjs.map +1 -1
- package/dist/classes/ticker/ZoomTicker.d.mts +31 -0
- package/dist/classes/ticker/ZoomTicker.d.ts +31 -0
- package/dist/classes/ticker/ZoomTicker.js +1647 -0
- package/dist/classes/ticker/ZoomTicker.js.map +1 -0
- package/dist/classes/ticker/ZoomTicker.mjs +1639 -0
- package/dist/classes/ticker/ZoomTicker.mjs.map +1 -0
- package/dist/classes/ticker/index.d.mts +11 -8
- package/dist/classes/ticker/index.d.ts +11 -8
- package/dist/classes/ticker/index.js +567 -266
- package/dist/classes/ticker/index.js.map +1 -1
- package/dist/classes/ticker/index.mjs +564 -267
- package/dist/classes/ticker/index.mjs.map +1 -1
- package/dist/constants.d.mts +12 -2
- package/dist/constants.d.ts +12 -2
- package/dist/constants.js +10 -1
- package/dist/constants.js.map +1 -1
- package/dist/constants.mjs +9 -2
- package/dist/constants.mjs.map +1 -1
- package/dist/decorators/CanvasElementDecorator.d.mts +3 -3
- package/dist/decorators/CanvasElementDecorator.d.ts +3 -3
- package/dist/decorators/CanvasElementDecorator.js +63 -43
- package/dist/decorators/CanvasElementDecorator.js.map +1 -1
- package/dist/decorators/CanvasElementDecorator.mjs +62 -42
- package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
- package/dist/decorators/CharacterDecorator.d.mts +1 -0
- package/dist/decorators/CharacterDecorator.d.ts +1 -0
- package/dist/decorators/CharacterDecorator.js +1 -1
- package/dist/decorators/CharacterDecorator.js.map +1 -1
- package/dist/decorators/CharacterDecorator.mjs +1 -1
- package/dist/decorators/CharacterDecorator.mjs.map +1 -1
- package/dist/decorators/EventDecorator.d.mts +7 -7
- package/dist/decorators/EventDecorator.d.ts +7 -7
- package/dist/decorators/EventDecorator.js +12 -11
- package/dist/decorators/EventDecorator.js.map +1 -1
- package/dist/decorators/EventDecorator.mjs +11 -10
- package/dist/decorators/EventDecorator.mjs.map +1 -1
- package/dist/decorators/LabelDecorator.d.mts +4 -3
- package/dist/decorators/LabelDecorator.d.ts +4 -3
- package/dist/decorators/LabelDecorator.js +546 -243
- package/dist/decorators/LabelDecorator.js.map +1 -1
- package/dist/decorators/LabelDecorator.mjs +542 -243
- package/dist/decorators/LabelDecorator.mjs.map +1 -1
- package/dist/decorators/TickerDecorator.d.mts +9 -6
- package/dist/decorators/TickerDecorator.d.ts +9 -6
- package/dist/decorators/TickerDecorator.js +7 -6
- package/dist/decorators/TickerDecorator.js.map +1 -1
- package/dist/decorators/TickerDecorator.mjs +7 -6
- package/dist/decorators/TickerDecorator.mjs.map +1 -1
- package/dist/decorators/index.d.mts +4 -3
- package/dist/decorators/index.d.ts +4 -3
- package/dist/decorators/index.js +550 -245
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/index.mjs +546 -245
- package/dist/decorators/index.mjs.map +1 -1
- package/dist/functions/CanvasUtility.js +56 -37
- package/dist/functions/CanvasUtility.js.map +1 -1
- package/dist/functions/CanvasUtility.mjs +56 -37
- package/dist/functions/CanvasUtility.mjs.map +1 -1
- package/dist/functions/DialogueUtility.d.mts +7 -5
- package/dist/functions/DialogueUtility.d.ts +7 -5
- package/dist/functions/DialogueUtility.js +729 -397
- package/dist/functions/DialogueUtility.js.map +1 -1
- package/dist/functions/DialogueUtility.mjs +729 -397
- package/dist/functions/DialogueUtility.mjs.map +1 -1
- package/dist/functions/FlagsUtility.js +544 -241
- package/dist/functions/FlagsUtility.js.map +1 -1
- package/dist/functions/FlagsUtility.mjs +540 -241
- package/dist/functions/FlagsUtility.mjs.map +1 -1
- package/dist/functions/GameUtility.js +544 -241
- package/dist/functions/GameUtility.js.map +1 -1
- package/dist/functions/GameUtility.mjs +540 -241
- package/dist/functions/GameUtility.mjs.map +1 -1
- package/dist/functions/ImageUtility.d.mts +81 -8
- package/dist/functions/ImageUtility.d.ts +81 -8
- package/dist/functions/ImageUtility.js +911 -387
- package/dist/functions/ImageUtility.js.map +1 -1
- package/dist/functions/ImageUtility.mjs +899 -387
- package/dist/functions/ImageUtility.mjs.map +1 -1
- package/dist/functions/SavesUtility.d.mts +9 -5
- package/dist/functions/SavesUtility.d.ts +9 -5
- package/dist/functions/SavesUtility.js +611 -252
- package/dist/functions/SavesUtility.js.map +1 -1
- package/dist/functions/SavesUtility.mjs +611 -252
- package/dist/functions/SavesUtility.mjs.map +1 -1
- package/dist/functions/TickerUtility.d.mts +1 -1
- package/dist/functions/TickerUtility.d.ts +1 -1
- package/dist/functions/TickerUtility.js +32 -18
- package/dist/functions/TickerUtility.js.map +1 -1
- package/dist/functions/TickerUtility.mjs +32 -18
- package/dist/functions/TickerUtility.mjs.map +1 -1
- package/dist/functions/index.d.mts +18 -8
- package/dist/functions/index.d.ts +18 -8
- package/dist/functions/index.js +832 -279
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/index.mjs +825 -280
- package/dist/functions/index.mjs.map +1 -1
- package/dist/index.d.mts +25 -16
- package/dist/index.d.ts +25 -16
- package/dist/index.js +1547 -290
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1538 -290
- package/dist/index.mjs.map +1 -1
- package/dist/interface/CharacterBaseModelProps.d.mts +27 -0
- package/dist/interface/CharacterBaseModelProps.d.ts +27 -0
- package/dist/interface/CharacterBaseModelProps.js +4 -0
- package/dist/interface/CharacterBaseModelProps.mjs +3 -0
- package/dist/interface/DialogueHistory.d.mts +3 -7
- package/dist/interface/DialogueHistory.d.ts +3 -7
- package/dist/interface/IHistoryStep.d.mts +12 -8
- package/dist/interface/IHistoryStep.d.ts +12 -8
- package/dist/interface/ISaveData.d.mts +8 -4
- package/dist/interface/ISaveData.d.ts +8 -4
- package/dist/interface/ITicker.d.mts +2 -1
- package/dist/interface/ITicker.d.ts +2 -1
- package/dist/interface/ITickersSteps.d.mts +14 -5
- package/dist/interface/ITickersSteps.d.ts +14 -5
- package/dist/interface/TickerHistory.d.mts +29 -0
- package/dist/interface/TickerHistory.d.ts +29 -0
- package/dist/{types/ticker/TickerMoveProps.js → interface/TickerHistory.js} +1 -1
- package/dist/interface/TickerHistory.mjs +3 -0
- package/dist/interface/TickerProgrationType.d.mts +13 -1
- package/dist/interface/TickerProgrationType.d.ts +13 -1
- package/dist/interface/TickerTimeoutHistory.d.mts +7 -0
- package/dist/interface/TickerTimeoutHistory.d.ts +7 -0
- package/dist/interface/TickerTimeoutHistory.js +4 -0
- package/dist/interface/TickerTimeoutHistory.mjs +3 -0
- package/dist/interface/canvas/ICanvasBaseMemory.d.mts +1 -1
- package/dist/interface/canvas/ICanvasBaseMemory.d.ts +1 -1
- package/dist/interface/canvas/ICanvasImageMemory.d.mts +1 -1
- package/dist/interface/canvas/ICanvasImageMemory.d.ts +1 -1
- package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +0 -1
- package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +0 -1
- package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +0 -1
- package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +0 -1
- package/dist/interface/export/ExportedCanvas.d.mts +11 -3
- package/dist/interface/export/ExportedCanvas.d.ts +11 -3
- package/dist/interface/export/ExportedStep.d.mts +7 -3
- package/dist/interface/export/ExportedStep.d.ts +7 -3
- package/dist/interface/export/index.d.mts +8 -4
- package/dist/interface/export/index.d.ts +8 -4
- package/dist/interface/index.d.mts +14 -11
- package/dist/interface/index.d.ts +14 -11
- package/dist/labels/BaseCanvasElementTestLabel.d.mts +9 -0
- package/dist/labels/BaseCanvasElementTestLabel.d.ts +9 -0
- package/dist/labels/BaseCanvasElementTestLabel.js +1888 -0
- package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -0
- package/dist/labels/BaseCanvasElementTestLabel.mjs +1882 -0
- package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -0
- package/dist/labels/CanvasEventsTestLabel.d.mts +27 -0
- package/dist/labels/CanvasEventsTestLabel.d.ts +27 -0
- package/dist/labels/CanvasEventsTestLabel.js +2822 -0
- package/dist/labels/CanvasEventsTestLabel.js.map +1 -0
- package/dist/labels/CanvasEventsTestLabel.mjs +2816 -0
- package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -0
- package/dist/labels/CustomTickerCanvasElementTestLabel.d.mts +20 -0
- package/dist/labels/CustomTickerCanvasElementTestLabel.d.ts +20 -0
- package/dist/labels/CustomTickerCanvasElementTestLabel.js +2792 -0
- package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -0
- package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +2786 -0
- package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -0
- package/dist/labels/ImagesAnimationsTestLabel.d.mts +9 -0
- package/dist/labels/ImagesAnimationsTestLabel.d.ts +9 -0
- package/dist/labels/ImagesAnimationsTestLabel.js +3378 -0
- package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -0
- package/dist/labels/ImagesAnimationsTestLabel.mjs +3372 -0
- package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -0
- package/dist/labels/MarkdownTest.d.mts +9 -0
- package/dist/labels/MarkdownTest.d.ts +9 -0
- package/dist/labels/MarkdownTest.js +2756 -0
- package/dist/labels/MarkdownTest.js.map +1 -0
- package/dist/labels/MarkdownTest.mjs +2750 -0
- package/dist/labels/MarkdownTest.mjs.map +1 -0
- package/dist/labels/StartLabel.d.mts +10 -0
- package/dist/labels/StartLabel.d.ts +10 -0
- package/dist/labels/StartLabel.js +3736 -0
- package/dist/labels/StartLabel.js.map +1 -0
- package/dist/labels/StartLabel.mjs +3729 -0
- package/dist/labels/StartLabel.mjs.map +1 -0
- package/dist/labels/TestConstant.d.mts +17 -0
- package/dist/labels/TestConstant.d.ts +17 -0
- package/dist/labels/TestConstant.js +1872 -0
- package/dist/labels/TestConstant.js.map +1 -0
- package/dist/labels/TestConstant.mjs +1856 -0
- package/dist/labels/TestConstant.mjs.map +1 -0
- package/dist/labels/TickerTestLabel.d.mts +9 -0
- package/dist/labels/TickerTestLabel.d.ts +9 -0
- package/dist/labels/TickerTestLabel.js +2675 -0
- package/dist/labels/TickerTestLabel.js.map +1 -0
- package/dist/labels/TickerTestLabel.mjs +2669 -0
- package/dist/labels/TickerTestLabel.mjs.map +1 -0
- package/dist/labels/index.d.mts +10 -0
- package/dist/labels/index.d.ts +10 -0
- package/dist/labels/index.js +3736 -0
- package/dist/labels/index.js.map +1 -0
- package/dist/labels/index.mjs +3729 -0
- package/dist/labels/index.mjs.map +1 -0
- package/dist/managers/StepManager.d.mts +21 -15
- package/dist/managers/StepManager.d.ts +21 -15
- package/dist/managers/StepManager.js +610 -251
- package/dist/managers/StepManager.js.map +1 -1
- package/dist/managers/StepManager.mjs +610 -251
- package/dist/managers/StepManager.mjs.map +1 -1
- package/dist/managers/WindowManager.d.mts +38 -24
- package/dist/managers/WindowManager.d.ts +38 -24
- package/dist/managers/WindowManager.js +356 -170
- package/dist/managers/WindowManager.js.map +1 -1
- package/dist/managers/WindowManager.mjs +352 -170
- package/dist/managers/WindowManager.mjs.map +1 -1
- package/dist/managers/index.d.mts +15 -14
- package/dist/managers/index.d.ts +15 -14
- package/dist/managers/index.js +612 -251
- package/dist/managers/index.js.map +1 -1
- package/dist/managers/index.mjs +612 -251
- package/dist/managers/index.mjs.map +1 -1
- package/dist/types/CanvasEventNamesType.d.mts +1 -1
- package/dist/types/CanvasEventNamesType.d.ts +1 -1
- package/dist/types/ChoiceMenuOptionsType.d.mts +2 -2
- package/dist/types/ChoiceMenuOptionsType.d.ts +2 -2
- package/dist/types/HistoryChoiceMenuOption.d.mts +22 -0
- package/dist/types/HistoryChoiceMenuOption.d.ts +22 -0
- package/dist/types/HistoryChoiceMenuOption.js +4 -0
- package/dist/types/HistoryChoiceMenuOption.mjs +3 -0
- package/dist/types/PauseType.d.mts +8 -4
- package/dist/types/PauseType.d.ts +8 -4
- package/dist/types/PauseType.js +0 -11
- package/dist/types/PauseType.js.map +1 -1
- package/dist/types/PauseType.mjs +0 -9
- package/dist/types/PauseType.mjs.map +1 -1
- package/dist/types/RepeatType.d.mts +1 -2
- package/dist/types/RepeatType.d.ts +1 -2
- package/dist/types/RepeatType.js +0 -4
- package/dist/types/RepeatType.js.map +1 -1
- package/dist/types/RepeatType.mjs +0 -3
- package/dist/types/RepeatType.mjs.map +1 -1
- package/dist/types/index.d.mts +5 -4
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.js +0 -15
- package/dist/types/index.js.map +1 -1
- package/dist/types/index.mjs +1 -13
- package/dist/types/index.mjs.map +1 -1
- package/dist/types/ticker/{TickerFadeAlphaProps.d.mts → FadeAlphaTickerProps.d.mts} +9 -5
- package/dist/types/ticker/{TickerFadeAlphaProps.d.ts → FadeAlphaTickerProps.d.ts} +9 -5
- package/dist/types/ticker/FadeAlphaTickerProps.js +4 -0
- package/dist/types/ticker/FadeAlphaTickerProps.js.map +1 -0
- package/dist/types/ticker/FadeAlphaTickerProps.mjs +3 -0
- package/dist/types/ticker/FadeAlphaTickerProps.mjs.map +1 -0
- package/dist/types/ticker/{TickerMoveProps.d.mts → MoveTickerProps.d.mts} +14 -5
- package/dist/types/ticker/{TickerMoveProps.d.ts → MoveTickerProps.d.ts} +14 -5
- package/dist/types/ticker/{TickerRotateProps.js → MoveTickerProps.js} +1 -1
- package/dist/types/ticker/MoveTickerProps.js.map +1 -0
- package/dist/types/ticker/MoveTickerProps.mjs +3 -0
- package/dist/types/ticker/MoveTickerProps.mjs.map +1 -0
- package/dist/types/ticker/{TickerRotateProps.d.mts → RotateTickerProps.d.mts} +10 -4
- package/dist/types/ticker/{TickerRotateProps.d.ts → RotateTickerProps.d.ts} +10 -4
- package/dist/types/ticker/RotateTickerProps.js +4 -0
- package/dist/types/ticker/RotateTickerProps.js.map +1 -0
- package/dist/types/ticker/RotateTickerProps.mjs +3 -0
- package/dist/types/ticker/RotateTickerProps.mjs.map +1 -0
- package/dist/types/ticker/TagToRemoveAfterType.d.mts +4 -0
- package/dist/types/ticker/TagToRemoveAfterType.d.ts +4 -0
- package/dist/types/ticker/TagToRemoveAfterType.js +8 -0
- package/dist/types/ticker/TagToRemoveAfterType.js.map +1 -0
- package/dist/types/ticker/TagToRemoveAfterType.mjs +6 -0
- package/dist/types/ticker/TagToRemoveAfterType.mjs.map +1 -0
- package/dist/types/ticker/ZoomTickerProps.d.mts +45 -0
- package/dist/types/ticker/ZoomTickerProps.d.ts +45 -0
- package/dist/types/ticker/ZoomTickerProps.js +4 -0
- package/dist/types/ticker/ZoomTickerProps.js.map +1 -0
- package/dist/types/ticker/ZoomTickerProps.mjs +3 -0
- package/dist/types/ticker/ZoomTickerProps.mjs.map +1 -0
- package/dist/types/ticker/index.d.mts +4 -2
- package/dist/types/ticker/index.d.ts +4 -2
- package/package.json +7 -7
- package/dist/classes/ticker/TickerFadeAlpha.d.mts +0 -31
- package/dist/classes/ticker/TickerFadeAlpha.d.ts +0 -31
- package/dist/classes/ticker/TickerFadeAlpha.js.map +0 -1
- package/dist/classes/ticker/TickerFadeAlpha.mjs.map +0 -1
- package/dist/classes/ticker/TickerMove.d.mts +0 -29
- package/dist/classes/ticker/TickerMove.d.ts +0 -29
- package/dist/classes/ticker/TickerMove.js.map +0 -1
- package/dist/classes/ticker/TickerMove.mjs.map +0 -1
- package/dist/classes/ticker/TickerRotate.d.mts +0 -30
- package/dist/classes/ticker/TickerRotate.d.ts +0 -30
- package/dist/classes/ticker/TickerRotate.js.map +0 -1
- package/dist/classes/ticker/TickerRotate.mjs.map +0 -1
- package/dist/functions/ErrorUtility.d.mts +0 -24
- package/dist/functions/ErrorUtility.d.ts +0 -24
- package/dist/functions/ErrorUtility.js +0 -261
- package/dist/functions/ErrorUtility.js.map +0 -1
- package/dist/functions/ErrorUtility.mjs +0 -258
- package/dist/functions/ErrorUtility.mjs.map +0 -1
- package/dist/interface/IClassWithArgsHistory.d.mts +0 -25
- package/dist/interface/IClassWithArgsHistory.d.ts +0 -25
- package/dist/interface/IClassWithArgsHistory.js +0 -4
- package/dist/interface/IClassWithArgsHistory.mjs +0 -3
- package/dist/types/ticker/TickerFadeAlphaProps.js +0 -4
- package/dist/types/ticker/TickerFadeAlphaProps.mjs +0 -3
- package/dist/types/ticker/TickerMoveProps.mjs +0 -3
- package/dist/types/ticker/TickerRotateProps.mjs +0 -3
- /package/dist/interface/{IClassWithArgsHistory.js.map → CharacterBaseModelProps.js.map} +0 -0
- /package/dist/interface/{IClassWithArgsHistory.mjs.map → CharacterBaseModelProps.mjs.map} +0 -0
- /package/dist/{types/ticker/TickerFadeAlphaProps.js.map → interface/TickerHistory.js.map} +0 -0
- /package/dist/{types/ticker/TickerFadeAlphaProps.mjs.map → interface/TickerHistory.mjs.map} +0 -0
- /package/dist/{types/ticker/TickerMoveProps.js.map → interface/TickerTimeoutHistory.js.map} +0 -0
- /package/dist/{types/ticker/TickerMoveProps.mjs.map → interface/TickerTimeoutHistory.mjs.map} +0 -0
- /package/dist/types/{ticker/TickerRotateProps.js.map → HistoryChoiceMenuOption.js.map} +0 -0
- /package/dist/types/{ticker/TickerRotateProps.mjs.map → HistoryChoiceMenuOption.mjs.map} +0 -0
|
@@ -52,17 +52,23 @@ function exportCanvasElement(element) {
|
|
|
52
52
|
return element.memory;
|
|
53
53
|
}
|
|
54
54
|
function importCanvasElement(memory) {
|
|
55
|
-
let element =
|
|
55
|
+
let element = getCanvasElementInstanceById(memory.pixivnId);
|
|
56
56
|
if (element) {
|
|
57
57
|
element.memory = memory;
|
|
58
58
|
} else {
|
|
59
|
-
throw new Error("[Pixi'VN] The element " + memory.
|
|
59
|
+
throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
|
|
60
60
|
}
|
|
61
61
|
return element;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// src/classes/canvas/CanvasContainer.ts
|
|
65
|
+
var CANVAS_CONTAINER_ID = "CanvasContainer";
|
|
65
66
|
var CanvasContainer = class extends Container {
|
|
67
|
+
constructor(options) {
|
|
68
|
+
super(options);
|
|
69
|
+
this.pixivnId = CANVAS_CONTAINER_ID;
|
|
70
|
+
this.pixivnId = this.constructor.prototype.pixivnId;
|
|
71
|
+
}
|
|
66
72
|
get memory() {
|
|
67
73
|
let memory = getMemoryContainer(this);
|
|
68
74
|
this.children.forEach((child) => {
|
|
@@ -78,8 +84,12 @@ var CanvasContainer = class extends Container {
|
|
|
78
84
|
}
|
|
79
85
|
};
|
|
80
86
|
function getMemoryContainer(element) {
|
|
87
|
+
let className = "CanvasContainer";
|
|
88
|
+
if (element.hasOwnProperty("pixivnId")) {
|
|
89
|
+
className = element.pixivnId;
|
|
90
|
+
}
|
|
81
91
|
return {
|
|
82
|
-
|
|
92
|
+
pixivnId: className,
|
|
83
93
|
elements: [],
|
|
84
94
|
width: element.width,
|
|
85
95
|
height: element.height,
|
|
@@ -195,40 +205,43 @@ function getTextStyle(style) {
|
|
|
195
205
|
|
|
196
206
|
// src/decorators/EventDecorator.ts
|
|
197
207
|
var registeredEvents = {};
|
|
198
|
-
function
|
|
208
|
+
function getEventTypeById(eventId) {
|
|
199
209
|
try {
|
|
200
|
-
let eventType = registeredEvents[
|
|
210
|
+
let eventType = registeredEvents[eventId];
|
|
201
211
|
if (!eventType) {
|
|
202
|
-
console.error(`[Pixi'VN] Event ${
|
|
212
|
+
console.error(`[Pixi'VN] Event ${eventId} not found`);
|
|
203
213
|
return;
|
|
204
214
|
}
|
|
205
215
|
new eventType();
|
|
206
216
|
return eventType;
|
|
207
217
|
} catch (e) {
|
|
208
|
-
console.error(`[Pixi'VN] Error while getting Event ${
|
|
218
|
+
console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
|
|
209
219
|
return;
|
|
210
220
|
}
|
|
211
221
|
}
|
|
212
|
-
function
|
|
222
|
+
function getEventInstanceById(eventId) {
|
|
213
223
|
try {
|
|
214
|
-
let eventType = registeredEvents[
|
|
224
|
+
let eventType = registeredEvents[eventId];
|
|
215
225
|
if (!eventType) {
|
|
216
|
-
console.error(`[Pixi'VN] Event ${
|
|
226
|
+
console.error(`[Pixi'VN] Event ${eventId} not found`);
|
|
217
227
|
return;
|
|
218
228
|
}
|
|
219
229
|
let event = new eventType();
|
|
220
230
|
return event;
|
|
221
231
|
} catch (e) {
|
|
222
|
-
console.error(`[Pixi'VN] Error while getting Event ${
|
|
232
|
+
console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
|
|
223
233
|
return;
|
|
224
234
|
}
|
|
225
235
|
}
|
|
226
236
|
|
|
227
237
|
// src/classes/canvas/CanvasSprite.ts
|
|
238
|
+
var CANVAS_SPRITE_ID = "CanvasSprite";
|
|
228
239
|
var CanvasSprite = class _CanvasSprite extends Sprite {
|
|
229
|
-
constructor() {
|
|
230
|
-
super(
|
|
240
|
+
constructor(options) {
|
|
241
|
+
super(options);
|
|
242
|
+
this.pixivnId = CANVAS_SPRITE_ID;
|
|
231
243
|
this._onEvents = {};
|
|
244
|
+
this.pixivnId = this.constructor.prototype.pixivnId;
|
|
232
245
|
}
|
|
233
246
|
get memory() {
|
|
234
247
|
return getMemorySprite(this);
|
|
@@ -269,9 +282,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
|
|
|
269
282
|
* ```
|
|
270
283
|
*/
|
|
271
284
|
onEvent(event, eventClass) {
|
|
272
|
-
let
|
|
273
|
-
let instance =
|
|
274
|
-
this._onEvents[event] =
|
|
285
|
+
let id = eventClass.prototype.id;
|
|
286
|
+
let instance = getEventInstanceById(id);
|
|
287
|
+
this._onEvents[event] = id;
|
|
275
288
|
if (instance) {
|
|
276
289
|
super.on(event, () => {
|
|
277
290
|
instance.fn(event, this);
|
|
@@ -300,7 +313,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
|
|
|
300
313
|
function getMemorySprite(element) {
|
|
301
314
|
let temp = getMemoryContainer(element);
|
|
302
315
|
return __spreadProps(__spreadValues({}, temp), {
|
|
303
|
-
|
|
316
|
+
pixivnId: element.pixivnId,
|
|
304
317
|
textureImage: getTextureMemory(element.texture),
|
|
305
318
|
anchor: { x: element.anchor.x, y: element.anchor.y },
|
|
306
319
|
roundPixels: element.roundPixels,
|
|
@@ -323,8 +336,8 @@ function setMemorySprite(element, memory) {
|
|
|
323
336
|
}
|
|
324
337
|
memory.roundPixels && (element.roundPixels = memory.roundPixels);
|
|
325
338
|
for (let event in memory.onEvents) {
|
|
326
|
-
let
|
|
327
|
-
let instance =
|
|
339
|
+
let id = memory.onEvents[event];
|
|
340
|
+
let instance = getEventTypeById(id);
|
|
328
341
|
if (instance) {
|
|
329
342
|
element.onEvent(event, instance);
|
|
330
343
|
}
|
|
@@ -332,9 +345,11 @@ function setMemorySprite(element, memory) {
|
|
|
332
345
|
}
|
|
333
346
|
|
|
334
347
|
// src/classes/canvas/CanvasImage.ts
|
|
348
|
+
var CANVAS_IMAGE_ID = "CanvasImage";
|
|
335
349
|
var CanvasImage = class _CanvasImage extends CanvasSprite {
|
|
336
350
|
constructor(options, imageLink) {
|
|
337
351
|
super(options);
|
|
352
|
+
this.pixivnId = CANVAS_IMAGE_ID;
|
|
338
353
|
this.imageLink = "";
|
|
339
354
|
if (imageLink) {
|
|
340
355
|
this.imageLink = imageLink;
|
|
@@ -342,12 +357,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
|
|
|
342
357
|
}
|
|
343
358
|
get memory() {
|
|
344
359
|
return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
|
|
345
|
-
|
|
346
|
-
|
|
360
|
+
pixivnId: this.pixivnId,
|
|
361
|
+
imageLink: this.imageLink
|
|
347
362
|
});
|
|
348
363
|
}
|
|
349
364
|
set memory(memory) {
|
|
350
365
|
setMemorySprite(this, memory);
|
|
366
|
+
this.imageLink = memory.imageLink;
|
|
351
367
|
}
|
|
352
368
|
static from(source, skipCache) {
|
|
353
369
|
let sprite = Sprite.from(source, skipCache);
|
|
@@ -375,10 +391,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
|
|
|
375
391
|
});
|
|
376
392
|
}
|
|
377
393
|
};
|
|
394
|
+
var CANVAS_TEXT_ID = "CanvasText";
|
|
378
395
|
var CanvasText = class extends Text {
|
|
379
|
-
constructor() {
|
|
380
|
-
super(
|
|
396
|
+
constructor(options) {
|
|
397
|
+
super(options);
|
|
398
|
+
this.pixivnId = CANVAS_TEXT_ID;
|
|
381
399
|
this._onEvents = {};
|
|
400
|
+
this.pixivnId = this.constructor.prototype.pixivnId;
|
|
382
401
|
}
|
|
383
402
|
get memory() {
|
|
384
403
|
return getMemoryText(this);
|
|
@@ -419,9 +438,9 @@ var CanvasText = class extends Text {
|
|
|
419
438
|
* ```
|
|
420
439
|
*/
|
|
421
440
|
onEvent(event, eventClass) {
|
|
422
|
-
let
|
|
423
|
-
let instance =
|
|
424
|
-
this._onEvents[event] =
|
|
441
|
+
let id = eventClass.prototype.id;
|
|
442
|
+
let instance = getEventInstanceById(id);
|
|
443
|
+
this._onEvents[event] = id;
|
|
425
444
|
if (instance) {
|
|
426
445
|
super.on(event, () => {
|
|
427
446
|
instance.fn(event, this);
|
|
@@ -444,7 +463,7 @@ var CanvasText = class extends Text {
|
|
|
444
463
|
function getMemoryText(element) {
|
|
445
464
|
let temp = getMemoryContainer(element);
|
|
446
465
|
return __spreadProps(__spreadValues({}, temp), {
|
|
447
|
-
|
|
466
|
+
pixivnId: element.pixivnId,
|
|
448
467
|
anchor: { x: element.anchor.x, y: element.anchor.y },
|
|
449
468
|
text: element.text,
|
|
450
469
|
resolution: element.resolution,
|
|
@@ -467,8 +486,8 @@ function setMemoryText(element, memory) {
|
|
|
467
486
|
memory.style && (element.style = memory.style);
|
|
468
487
|
memory.roundPixels && (element.roundPixels = memory.roundPixels);
|
|
469
488
|
for (let event in memory.onEvents) {
|
|
470
|
-
let
|
|
471
|
-
let instance =
|
|
489
|
+
let id = memory.onEvents[event];
|
|
490
|
+
let instance = getEventTypeById(id);
|
|
472
491
|
if (instance) {
|
|
473
492
|
element.onEvent(event, instance);
|
|
474
493
|
}
|
|
@@ -485,49 +504,50 @@ function canvasElementDecorator(name) {
|
|
|
485
504
|
if (registeredCanvasElement[name]) {
|
|
486
505
|
console.warn(`[Pixi'VN] CanvasElement ${name} already registered`);
|
|
487
506
|
}
|
|
507
|
+
target.prototype.pixivnId = name;
|
|
488
508
|
registeredCanvasElement[name] = target;
|
|
489
509
|
};
|
|
490
510
|
}
|
|
491
|
-
function
|
|
511
|
+
function getCanvasElementTypeById(canvasId) {
|
|
492
512
|
try {
|
|
493
|
-
let eventType = registeredCanvasElement[
|
|
513
|
+
let eventType = registeredCanvasElement[canvasId];
|
|
494
514
|
if (!eventType) {
|
|
495
|
-
console.error(`[Pixi'VN] CanvasElement ${
|
|
515
|
+
console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
|
|
496
516
|
return;
|
|
497
517
|
}
|
|
498
518
|
new eventType();
|
|
499
519
|
return eventType;
|
|
500
520
|
} catch (e) {
|
|
501
|
-
console.error(`[Pixi'VN] Error while getting CanvasElement ${
|
|
521
|
+
console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
|
|
502
522
|
return;
|
|
503
523
|
}
|
|
504
524
|
}
|
|
505
|
-
function
|
|
525
|
+
function getCanvasElementInstanceById(canvasId) {
|
|
506
526
|
try {
|
|
507
|
-
let eventType = registeredCanvasElement[
|
|
527
|
+
let eventType = registeredCanvasElement[canvasId];
|
|
508
528
|
if (!eventType) {
|
|
509
|
-
if (
|
|
529
|
+
if (canvasId === CANVAS_CONTAINER_ID) {
|
|
510
530
|
eventType = CanvasContainer;
|
|
511
|
-
} else if (
|
|
531
|
+
} else if (canvasId === CANVAS_IMAGE_ID) {
|
|
512
532
|
eventType = CanvasImage;
|
|
513
|
-
} else if (
|
|
533
|
+
} else if (canvasId === CANVAS_SPRITE_ID) {
|
|
514
534
|
eventType = CanvasSprite;
|
|
515
|
-
} else if (
|
|
535
|
+
} else if (canvasId === CANVAS_TEXT_ID) {
|
|
516
536
|
eventType = CanvasText;
|
|
517
537
|
}
|
|
518
538
|
}
|
|
519
539
|
if (!eventType) {
|
|
520
|
-
console.error(`[Pixi'VN] CanvasElement ${
|
|
540
|
+
console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
|
|
521
541
|
return;
|
|
522
542
|
}
|
|
523
543
|
let canvasElement = new eventType();
|
|
524
544
|
return canvasElement;
|
|
525
545
|
} catch (e) {
|
|
526
|
-
console.error(`[Pixi'VN] Error while getting CanvasElement ${
|
|
546
|
+
console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
|
|
527
547
|
return;
|
|
528
548
|
}
|
|
529
549
|
}
|
|
530
550
|
|
|
531
|
-
export { canvasElementDecorator as default,
|
|
551
|
+
export { canvasElementDecorator as default, getCanvasElementInstanceById, getCanvasElementTypeById, registeredCanvasElement };
|
|
532
552
|
//# sourceMappingURL=out.js.map
|
|
533
553
|
//# sourceMappingURL=CanvasElementDecorator.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/classes/canvas/CanvasBase.ts","../../src/classes/canvas/CanvasContainer.ts","../../src/functions/CanvasUtility.ts","../../src/classes/canvas/CanvasImage.ts","../../src/functions/TextureUtility.ts","../../src/classes/canvas/CanvasSprite.ts","../../src/decorators/EventDecorator.ts","../../src/classes/canvas/CanvasText.ts","../../src/decorators/CanvasElementDecorator.ts"],"names":["Container","Sprite"],"mappings":"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","sourcesContent":["import { Container } from \"pixi.js\";\nimport { canvasElementDecorator } from \"../../decorators\";\nimport { ICanvasBaseMemory } from \"../../interface/canvas\";\n\n/**\n * This class is used to create a canvas element to add into a Pixi Application.\n * You can use GameWindowManager.addCanvasElement() to add this element into the application.\n * This class should be implemented and the memory method should be overridden.\n * You must use the {@link canvasElementDecorator} to register the canvas in the game.\n * In Ren'Py is a displayable.\n * @example\n * ```typescript\n * \\@canvasElementDecorator() // this is equivalent to canvasElementDecorator(\"CanvasExample\")\n * export class CanvasExample extends Container implements CanvasBase<ICanvasExampleMemory> {\n * get memory(): ICanvasExampleMemory {\n * return {\n * className: \"CanvasExample\",\n * // ... other properties\n * }\n * }\n * set memory(value: ICanvasExampleMemory) {\n * // ... set other properties\n * }\n * }\n * ```\n */\nexport default class CanvasBase<T2 extends ICanvasBaseMemory> extends Container {\n /**\n * This method return the memory of the canvas element.\n */\n get memory(): T2 { throw new Error(\"[Pixi'VN] The method CanvasBase.memory must be overridden\") }\n /**\n * This method set the memory of the canvas element.\n */\n set memory(_value: T2) { throw new Error(\"[Pixi'VN] The method CanvasBase.memory must be overridden\") }\n}\n","import { Container, ContainerOptions } from \"pixi.js\";\nimport { exportCanvasElement, importCanvasElement } from \"../../functions/CanvasUtility\";\nimport ICanvasContainerMemory from \"../../interface/canvas/ICanvasContainerMemory\";\nimport CanvasBase from \"./CanvasBase\";\n\n/**\n * This class is a extension of the [PIXI.Container class](https://pixijs.com/8.x/examples/basic/container), it has the same properties and methods, \n * but it has the ability to be saved and loaded by the Pixi'VN library.\n * @example\n * ```typescript\n * const container = new CanvasContainer();\n * GameWindowManager.addCanvasElement(container);\n * const texture = await Assets.load('https://pixijs.com/assets/bunny.png');\n * for (let i = 0; i < 25; i++)\n * {\n * const bunny = new CanvasSprite(texture);\n * bunny.x = (i % 5) * 40;\n * bunny.y = Math.floor(i / 5) * 40;\n * container.addChild(bunny);\n * }\n * ```\n */\nexport default class CanvasContainer extends Container implements CanvasBase<ICanvasContainerMemory> {\n get memory(): ICanvasContainerMemory {\n let memory = getMemoryContainer(this)\n this.children.forEach(child => {\n memory.elements.push(exportCanvasElement(child as CanvasBase<any>))\n })\n return memory\n }\n set memory(value: ICanvasContainerMemory) {\n setMemoryContainer(this, value)\n value.elements.forEach(child => {\n this.addChild(importCanvasElement(child))\n })\n }\n}\n\nexport function getMemoryContainer<T extends Container>(element: T): ICanvasContainerMemory {\n return {\n className: \"CanvasContainer\",\n elements: [],\n\n width: element.width,\n height: element.height,\n\n isRenderGroup: element.isRenderGroup,\n blendMode: element.blendMode,\n tint: element.tint,\n alpha: element.alpha,\n angle: element.angle,\n renderable: element.renderable,\n rotation: element.rotation,\n scale: { x: element.scale.x, y: element.scale.y },\n pivot: { x: element.pivot.x, y: element.pivot.y },\n position: { x: element.position.x, y: element.position.y },\n skew: { x: element.skew.x, y: element.skew.y },\n visible: element.visible,\n culled: element.culled,\n x: element.x,\n y: element.y,\n boundsArea: element.boundsArea,\n\n cursor: element.cursor,\n eventMode: element.eventMode,\n interactive: element.interactive,\n interactiveChildren: element.interactiveChildren,\n hitArea: element.hitArea\n }\n}\n\nexport function setMemoryContainer<T extends Container>(element: T | Container, memory: ContainerOptions) {\n memory.width && (element.width = memory.width)\n memory.height && (element.height = memory.height)\n\n memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup)\n memory.blendMode && (element.blendMode = memory.blendMode)\n memory.tint && (element.tint = memory.tint)\n memory.alpha && (element.alpha = memory.alpha)\n memory.angle && (element.angle = memory.angle)\n memory.renderable && (element.renderable = memory.renderable)\n memory.rotation && (element.rotation = memory.rotation)\n if (memory.scale) {\n if (typeof memory.scale === \"number\") {\n element.scale.set(memory.scale, memory.scale)\n }\n else {\n element.scale.set(memory.scale.x, memory.scale.y)\n }\n }\n if (memory.pivot) {\n if (typeof memory.pivot === \"number\") {\n element.pivot.set(memory.pivot, memory.pivot)\n }\n else {\n element.pivot.set(memory.pivot.x, memory.pivot.y)\n }\n }\n memory.position && (element.position.set(memory.position.x, memory.position.y))\n memory.skew && (element.skew.set(memory.skew.x, memory.skew.y))\n memory.visible && (element.visible = memory.visible)\n memory.culled && (element.culled = memory.culled)\n memory.x && (element.x = memory.x)\n memory.y && (element.y = memory.y)\n memory.boundsArea && (element.boundsArea = memory.boundsArea)\n\n memory.cursor && (element.cursor = memory.cursor)\n memory.eventMode && (element.eventMode = memory.eventMode)\n memory.interactive && (element.interactive = memory.interactive)\n memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren)\n memory.hitArea && (element.hitArea = memory.hitArea)\n}\n","import { Texture } from \"pixi.js\";\nimport { CanvasBase } from \"../classes/canvas\";\nimport { getCanvasElementInstanceByClassName } from \"../decorators/CanvasElementDecorator\";\nimport { ICanvasBaseMemory, ITextureMemory } from \"../interface/canvas\";\n\n/**\n * Get the memory object of the PixiJS texture\n * @param texture PixiJS Texture object\n * @returns Memory object of the texture\n */\nexport function getTextureMemory(texture: Texture): ITextureMemory {\n let sourceTexture = texture.source\n let textureMemory: ITextureMemory = {\n image: sourceTexture.label\n }\n return textureMemory\n}\n\n/**\n * Export a Canvas element to a memory object\n * @param element Canvas element\n * @returns Memory object of the canvas\n */\nexport function exportCanvasElement<T extends CanvasBase<any>>(\n element: T,\n): ICanvasBaseMemory {\n return element.memory\n}\n\n/**\n * Import a Canvas element from a memory object\n * @param memory Memory object of the canvas\n * @returns Canvas element\n */\nexport function importCanvasElement<T extends CanvasBase<any>>(\n memory: ICanvasBaseMemory,\n): T {\n let element = getCanvasElementInstanceByClassName<T>(memory.className)\n if (element) {\n element.memory = memory\n }\n else {\n throw new Error(\"[Pixi'VN] The element \" + memory.className + \" could not be created\")\n }\n\n return element\n}\n","import { Sprite, SpriteOptions, Texture, TextureSourceLike } from \"pixi.js\";\nimport { getTexture } from \"../../functions/TextureUtility\";\nimport ICanvasImageMemory from \"../../interface/canvas/ICanvasImageMemory\";\nimport CanvasSprite, { getMemorySprite, setMemorySprite } from \"./CanvasSprite\";\n\n/**\n * This class is a extension of the CanvasSprite class, it has the same properties and methods,\n * but it has some features that make texture management easier.\n * You need to use CanvasImage.load() to show the image in the canvas.\n * This class is used for functions like addImage, loadImages and showWithDissolveTransition.\n * @example\n * ```typescript\n * let alien = new CanvasImage({\n * anchor: { x: 0.5, y: 0.5 },\n * x: 100,\n * y: 100,\n * }, 'https://pixijs.com/assets/eggHead.png')\n * await alien.load()\n * GameWindowManager.addCanvasElement(\"alien\", alien)\n * ```\n * @example\n * ```typescript\n * let alien = addImage(\"alien\", 'https://pixijs.com/assets/eggHead.png')\n * alien.anchor.set(0.5);\n * alien.x = 100\n * alien.y = 100\n * await alien.load()\n * ```\n */\nexport default class CanvasImage extends CanvasSprite<ICanvasImageMemory> {\n constructor(options?: SpriteOptions | Texture | undefined, imageLink?: string) {\n super(options)\n if (imageLink) {\n this.imageLink = imageLink\n }\n }\n override get memory(): ICanvasImageMemory {\n return {\n ...getMemorySprite(this),\n className: \"CanvasImage\",\n textureImage: { image: this.imageLink },\n }\n }\n override set memory(memory: ICanvasImageMemory) {\n setMemorySprite(this, memory)\n }\n imageLink: string = \"\"\n static override from(source: Texture | TextureSourceLike, skipCache?: boolean) {\n let sprite = Sprite.from(source, skipCache)\n let mySprite = new CanvasImage()\n mySprite.texture = sprite.texture\n return mySprite\n }\n /** \n * Load the image from the link and set the texture of the sprite.\n * @param image The link of the image. If it is not set, it will use the imageLink property.\n * @returns A promise that resolves when the image is loaded.\n */\n async load(image?: string) {\n if (!image) {\n image = this.imageLink\n }\n return getTexture(this.imageLink)\n .then((texture) => {\n if (texture) {\n this.texture = texture\n }\n })\n .catch((e) => {\n console.error(\"[Pixi'VN] Error into CanvasImage.load()\", e)\n })\n }\n}\n","import { Assets, TextStyle, TextStyleOptions, Texture } from 'pixi.js';\n\n/**\n * Get a texture from a url.\n * @param imageUrl is the url of the image.\n * @returns the texture of the image, or a text with the error.\n */\nexport async function getTexture(imageUrl: string): Promise<Texture | void> {\n if (Assets.cache.has(imageUrl)) {\n return Assets.get(imageUrl)\n }\n return Assets.load(imageUrl)\n .then((texture) => {\n if (!texture) {\n console.error(\"[Pixi'VN] Texture not found\", imageUrl)\n return\n }\n // if texture not is a Texture, then it is a TextureResource\n if (!(texture instanceof Texture)) {\n console.error(\"[Pixi'VN] File not is a image\", imageUrl)\n return\n }\n\n return texture\n })\n .catch((e) => {\n console.error(\"[Pixi'VN] Error loading image\", e)\n return\n })\n}\n\nexport function getTextStyle(style: TextStyle): TextStyleOptions {\n let fill = style.fill\n if (fill instanceof Object) {\n // TODO: FillGradient and FillPattern are not supported yet\n console.warn(\"[Pixi'VN] CanvasText.style.fill is a FillGradient or FillPattern, this is not supported yet.\", fill)\n fill = \"#00FF00\"\n }\n return {\n align: style.align,\n breakWords: style.breakWords,\n dropShadow: style.dropShadow,\n fill: fill,\n fontFamily: style.fontFamily,\n fontSize: style.fontSize,\n fontStyle: style.fontStyle,\n fontVariant: style.fontVariant,\n fontWeight: style.fontWeight,\n leading: style.leading,\n letterSpacing: style.letterSpacing,\n lineHeight: style.lineHeight,\n padding: style.padding,\n stroke: style.stroke,\n textBaseline: style.textBaseline,\n trim: style.trim,\n whiteSpace: style.whiteSpace,\n wordWrap: style.wordWrap,\n wordWrapWidth: style.wordWrapWidth,\n }\n}\n","import { ContainerChild, ContainerEvents, EventEmitter, Sprite, SpriteOptions, Texture, TextureSourceLike } from \"pixi.js\";\nimport { getEventInstanceByClassName, getEventTypeByClassName } from \"../../decorators/EventDecorator\";\nimport { getTextureMemory } from \"../../functions/CanvasUtility\";\nimport { getTexture } from \"../../functions/TextureUtility\";\nimport ICanvasBaseMemory from \"../../interface/canvas/ICanvasBaseMemory\";\nimport ICanvasSpriteMemory, { ICanvasSpriteBaseMemory } from \"../../interface/canvas/ICanvasSpriteMemory\";\nimport { CanvasEventNamesType } from \"../../types/CanvasEventNamesType\";\nimport { EventIdType } from \"../../types/EventIdType\";\nimport CanvasEvent from \"../CanvasEvent\";\nimport CanvasBase from \"./CanvasBase\";\nimport { getMemoryContainer, setMemoryContainer } from \"./CanvasContainer\";\n\n/**\n * This class is a extension of the [PIXI.Sprite class](https://pixijs.com/8.x/examples/sprite/basic), it has the same properties and methods,\n * but it has the ability to be saved and loaded by the Pixi'VN library.\n * @example\n * ```typescript\n * const texture = await Assets.load('https://pixijs.com/assets/bunny.png');\n * const sprite = CanvasSprite.from(texture);\n *\n * sprite.anchor.set(0.5);\n * sprite.x = GameWindowManager.screen.width / 2;\n * sprite.y = GameWindowManager.screen.height / 2;\n *\n * sprite.eventMode = 'static';\n * sprite.cursor = 'pointer';\n * sprite.onEvent('pointerdown', EventTest);\n *\n * GameWindowManager.addCanvasElement(\"bunny\", sprite);\n * ```\n */\nexport default class CanvasSprite<Memory extends SpriteOptions & ICanvasBaseMemory = ICanvasSpriteMemory> extends Sprite implements CanvasBase<Memory | ICanvasSpriteMemory> {\n get memory(): Memory | ICanvasSpriteMemory {\n return getMemorySprite(this)\n }\n set memory(value: ICanvasSpriteMemory) {\n setMemorySprite(this, value)\n }\n private _onEvents: { [name: CanvasEventNamesType]: EventIdType } = {}\n get onEvents() {\n return this._onEvents\n }\n /**\n * is same function as on(), but it keeps in memory the children.\n * @param event The event type, e.g., 'click', 'mousedown', 'mouseup', 'pointerdown', etc.\n * @param eventClass The class that extends CanvasEvent.\n * @returns \n * @example\n * ```typescript\n * \\@eventDecorator()\n * export class EventTest extends CanvasEvent<CanvasSprite> {\n * override fn(event: CanvasEventNamesType, sprite: CanvasSprite): void {\n * if (event === 'pointerdown') {\n * sprite.scale.x *= 1.25;\n * sprite.scale.y *= 1.25;\n * }\n * }\n * }\n * ```\n * \n * ```typescript\n * let sprite = addImage(\"alien\", 'https://pixijs.com/assets/eggHead.png')\n * await sprite.load()\n *\n * sprite.eventMode = 'static';\n * sprite.cursor = 'pointer';\n * sprite.onEvent('pointerdown', EventTest);\n *\n * GameWindowManager.addCanvasElement(\"bunny\", sprite);\n * ```\n */\n onEvent<T extends CanvasEventNamesType, T2 extends typeof CanvasEvent<typeof this>>(event: T, eventClass: T2) {\n let className = eventClass.name\n let instance = getEventInstanceByClassName(className)\n this._onEvents[event] = className\n if (instance) {\n super.on(event, () => {\n (instance as CanvasEvent<CanvasBase<any>>).fn(event, this)\n })\n }\n return this\n }\n /**\n * on() does not keep in memory the event class, use onEvent() instead\n * @deprecated\n * @private\n * @param event \n * @param fn \n * @param context \n */\n override on<T extends keyof ContainerEvents<ContainerChild> | keyof { [K: symbol]: any;[K: {} & string]: any; }>(event: T, fn: (...args: EventEmitter.ArgumentMap<ContainerEvents<ContainerChild> & { [K: symbol]: any;[K: {} & string]: any; }>[Extract<T, keyof ContainerEvents<ContainerChild> | keyof { [K: symbol]: any;[K: {} & string]: any; }>]) => void, context?: any): this {\n return super.on(event, fn, context)\n }\n static override from(source: Texture | TextureSourceLike, skipCache?: boolean): CanvasSprite<any> {\n let sprite = Sprite.from(source, skipCache)\n let mySprite = new CanvasSprite()\n mySprite.texture = sprite.texture\n return mySprite\n }\n}\n\nexport function getMemorySprite<T extends CanvasSprite<any>>(element: T | CanvasSprite<any>): ICanvasSpriteMemory {\n let temp = getMemoryContainer(element)\n return {\n ...temp,\n className: \"CanvasSprite\",\n textureImage: getTextureMemory((element as any).texture),\n anchor: { x: element.anchor.x, y: element.anchor.y },\n roundPixels: element.roundPixels,\n onEvents: element.onEvents,\n }\n}\n\nexport function setMemorySprite<Memory extends ICanvasSpriteBaseMemory>(element: CanvasSprite<any>, memory: Memory) {\n setMemoryContainer(element, memory)\n getTexture(memory.textureImage.image).then((texture) => {\n if (texture) {\n element.texture = texture\n }\n })\n if (memory.anchor) {\n if (typeof memory.anchor === \"number\") {\n element.anchor.set(memory.anchor, memory.anchor)\n }\n else {\n element.anchor.set(memory.anchor.x, memory.anchor.y)\n }\n }\n memory.roundPixels && (element.roundPixels = memory.roundPixels)\n for (let event in memory.onEvents) {\n let className = memory.onEvents[event]\n let instance = getEventTypeByClassName(className)\n if (instance) {\n element.onEvent(event, instance)\n }\n }\n}\n","import { CanvasEvent } from \"../classes\"\nimport CanvasBase from \"../classes/canvas/CanvasBase\"\nimport { CanvasEventNamesType } from \"../types/CanvasEventNamesType\"\nimport { EventIdType } from \"../types/EventIdType\"\n\n/**\n * Canvas Event Register\n */\nexport const registeredEvents: { [name: EventIdType]: typeof CanvasEvent<CanvasEventNamesType> } = {}\n/**\n * Is a decorator that register a event in the game.\n * Is a required decorator for use the event in the game.\n * Thanks to this decoration the game has the possibility of updating the events to the latest modification and saving the game.\n * @param name is th identifier of the event, by default is the name of the class\n * @returns \n */\nexport default function eventDecorator(name?: EventIdType) {\n return function (target: typeof CanvasEvent<any>) {\n if (!name) {\n name = target.name\n }\n if (registeredEvents[name]) {\n console.warn(`[Pixi'VN] Event ${name} already exists, it will be overwritten`)\n }\n registeredEvents[name] = target\n }\n}\n\n/**\n * Get an event type by the class name.\n * @param eventName The name of the class.\n * @returns The event type.\n */\nexport function getEventTypeByClassName<T = typeof CanvasEvent<CanvasBase<any>>>(eventName: EventIdType): T | undefined {\n try {\n let eventType = registeredEvents[eventName]\n if (!eventType) {\n console.error(`[Pixi'VN] Event ${eventName} not found`)\n return\n }\n new eventType()\n return eventType as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e)\n return\n }\n}\n\n/**\n * Get an event instance by the class name.\n * @param eventName The name of the class.\n * @returns The event instance.\n */\nexport function getEventInstanceByClassName<T = CanvasEvent<CanvasBase<any>>>(eventName: EventIdType): T | undefined {\n try {\n let eventType = registeredEvents[eventName]\n if (!eventType) {\n console.error(`[Pixi'VN] Event ${eventName} not found`)\n return\n }\n let event = new eventType()\n return event as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e)\n return\n }\n}\n","import { ContainerChild, ContainerEvents, EventEmitter, Text } from \"pixi.js\";\nimport { getEventInstanceByClassName, getEventTypeByClassName } from \"../../decorators/EventDecorator\";\nimport { getTextStyle } from \"../../functions/TextureUtility\";\nimport ICanvasTextMemory from \"../../interface/canvas/ICanvasTextTextMemory\";\nimport { CanvasEventNamesType } from \"../../types/CanvasEventNamesType\";\nimport { EventIdType } from \"../../types/EventIdType\";\nimport CanvasEvent from \"../CanvasEvent\";\nimport CanvasBase from \"./CanvasBase\";\nimport { getMemoryContainer, setMemoryContainer } from \"./CanvasContainer\";\n\n/**\n * This class is a extension of the [PIXI.Text class](https://pixijs.com/8.x/examples/text/pixi-text), it has the same properties and methods,\n * but it has the ability to be saved and loaded by the Pixi'VN library.\n * @example\n * ```typescript\n * const text = new CanvasText();\n * text.text = \"Hello World\"\n * GameWindowManager.addCanvasElement(\"text\", text);\n * ```\n */\nexport default class CanvasText extends Text implements CanvasBase<ICanvasTextMemory> {\n get memory(): ICanvasTextMemory {\n return getMemoryText(this)\n }\n set memory(value: ICanvasTextMemory) {\n setMemoryText(this, value)\n }\n private _onEvents: { [name: CanvasEventNamesType]: EventIdType } = {}\n get onEvents() {\n return this._onEvents\n }\n /**\n * is same function as on(), but it keeps in memory the children.\n * @param event The event type, e.g., 'click', 'mousedown', 'mouseup', 'pointerdown', etc.\n * @param eventClass The class that extends CanvasEvent.\n * @returns \n * @example\n * ```typescript\n * \\@eventDecorator()\n * export class EventTest extends CanvasEvent<CanvasText> {\n * override fn(event: CanvasEventNamesType, text: CanvasText): void {\n * if (event === 'pointerdown') {\n * text.scale.x *= 1.25;\n * text.scale.y *= 1.25;\n * }\n * }\n * }\n * ```\n * \n * ```typescript\n * const text = new CanvasText();\n * text.text = \"Hello World\"\n *\n * text.eventMode = 'static';\n * text.cursor = 'pointer';\n * text.onEvent('pointerdown', EventTest);\n *\n * GameWindowManager.addCanvasElement(\"text\", text);\n * ```\n */\n onEvent<T extends CanvasEventNamesType, T2 extends typeof CanvasEvent<typeof this>>(event: T, eventClass: T2) {\n let className = eventClass.name\n let instance = getEventInstanceByClassName(className)\n this._onEvents[event] = className\n if (instance) {\n super.on(event, () => {\n (instance as CanvasEvent<CanvasBase<any>>).fn(event, this)\n })\n }\n return this\n }\n /**\n * on() does not keep in memory the event class, use onEvent() instead\n * @deprecated\n * @private\n * @param event \n * @param fn \n * @param context \n */\n override on<T extends keyof ContainerEvents<ContainerChild> | keyof { [K: symbol]: any;[K: {} & string]: any; }>(event: T, fn: (...args: EventEmitter.ArgumentMap<ContainerEvents<ContainerChild> & { [K: symbol]: any;[K: {} & string]: any; }>[Extract<T, keyof ContainerEvents<ContainerChild> | keyof { [K: symbol]: any;[K: {} & string]: any; }>]) => void, context?: any): this {\n return super.on(event, fn, context)\n }\n}\n\nexport function getMemoryText<T extends CanvasText>(element: T | CanvasText): ICanvasTextMemory {\n let temp = getMemoryContainer(element)\n return {\n ...temp,\n className: \"CanvasText\",\n anchor: { x: element.anchor.x, y: element.anchor.y },\n text: element.text,\n resolution: element.resolution,\n style: getTextStyle(element.style),\n roundPixels: element.roundPixels,\n onEvents: element.onEvents,\n }\n}\n\nexport function setMemoryText(element: CanvasText, memory: ICanvasTextMemory) {\n setMemoryContainer(element, memory)\n if (memory.anchor) {\n if (typeof memory.anchor === \"number\") {\n element.anchor.set(memory.anchor, memory.anchor)\n }\n else {\n element.anchor.set(memory.anchor.x, memory.anchor.y)\n }\n }\n memory.text && (element.text = memory.text)\n memory.resolution && (element.resolution = memory.resolution)\n memory.style && (element.style = memory.style)\n memory.roundPixels && (element.roundPixels = memory.roundPixels)\n for (let event in memory.onEvents) {\n let className = memory.onEvents[event]\n let instance = getEventTypeByClassName(className)\n if (instance) {\n element.onEvent(event as CanvasEventNamesType, instance)\n }\n }\n}\n","import { CanvasContainer, CanvasImage, CanvasSprite, CanvasText } from \"../classes/canvas\"\nimport CanvasBase from \"../classes/canvas/CanvasBase\"\nimport { CanvasElementTagType } from \"../types/CanvasElementTagType\"\n\nexport const registeredCanvasElement: { [name: CanvasElementTagType]: typeof CanvasBase<any> } = {}\n/**\n * Is a decorator that register a canvas element in the game.\n * @param name Name of the canvas element, by default it will use the class name. If the name is already registered, it will show a warning\n * @returns \n */\nexport default function canvasElementDecorator(name?: CanvasElementTagType) {\n return function (target: typeof CanvasBase<any>) {\n if (!name) {\n name = target.name\n }\n if (registeredCanvasElement[name]) {\n console.warn(`[Pixi'VN] CanvasElement ${name} already registered`)\n }\n registeredCanvasElement[name] = target\n }\n}\n\nexport function getCanvasElementTypeByClassName<T extends typeof CanvasBase<any>>(canvasName: CanvasElementTagType): T | undefined {\n try {\n let eventType = registeredCanvasElement[canvasName]\n if (!eventType) {\n console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`)\n return\n }\n new eventType()\n return eventType as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e)\n return\n }\n}\n\nexport function getCanvasElementInstanceByClassName<T extends CanvasBase<any>>(canvasName: CanvasElementTagType): T | undefined {\n try {\n let eventType = registeredCanvasElement[canvasName]\n if (!eventType) {\n if (canvasName === \"CanvasContainer\") {\n eventType = CanvasContainer\n }\n else if (canvasName === \"CanvasImage\") {\n eventType = CanvasImage\n }\n else if (canvasName === \"CanvasSprite\") {\n eventType = CanvasSprite\n }\n else if (canvasName === \"CanvasText\") {\n eventType = CanvasText\n }\n }\n\n if (!eventType) {\n console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`)\n return\n }\n let canvasElement = new eventType()\n return canvasElement as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e)\n return\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/classes/canvas/CanvasBase.ts","../../src/classes/canvas/CanvasContainer.ts","../../src/functions/CanvasUtility.ts","../../src/classes/canvas/CanvasImage.ts","../../src/functions/TextureUtility.ts","../../src/classes/canvas/CanvasSprite.ts","../../src/decorators/EventDecorator.ts","../../src/classes/canvas/CanvasText.ts","../../src/decorators/CanvasElementDecorator.ts"],"names":["Container","Sprite"],"mappings":"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","sourcesContent":["import { Container } from \"pixi.js\";\nimport { canvasElementDecorator } from \"../../decorators\";\nimport { getCanvasElementInstanceById } from \"../../decorators/CanvasElementDecorator\";\nimport { ICanvasBaseMemory } from \"../../interface/canvas\";\n\n/**\n * This class is used to create a canvas element to add into a Pixi Application.\n * You can use GameWindowManager.addCanvasElement() to add this element into the application.\n * This class should be implemented and the memory method should be overridden.\n * You must use the {@link canvasElementDecorator} to register the canvas in the game.\n * In Ren'Py is a displayable.\n * @example\n * ```typescript\n * \\@canvasElementDecorator() // this is equivalent to canvasElementDecorator(\"CanvasExample\")\n * export class CanvasExample extends Container implements CanvasBase<ICanvasExampleMemory> {\n * get memory(): ICanvasExampleMemory {\n * return {\n * pixivnId: \"CanvasExample\",\n * // ... other properties\n * }\n * }\n * set memory(value: ICanvasExampleMemory) {\n * // ... set other properties\n * }\n * }\n * ```\n */\nexport default class CanvasBase<T2 extends ICanvasBaseMemory> extends Container {\n /**\n * This method return the memory of the canvas element.\n */\n get memory(): T2 { throw new Error(\"[Pixi'VN] The method CanvasBase.memory must be overridden\") }\n /**\n * This method set the memory of the canvas element.\n */\n set memory(_value: T2) { throw new Error(\"[Pixi'VN] The method CanvasBase.memory must be overridden\") }\n /**\n * Get the id of the canvas element. This variable is used in the system to get the canvas element by id, {@link getCanvasElementInstanceById}\n */\n pixivnId: string = \"canvas_element_id_not_set\"\n}\n","import { Container, ContainerOptions } from \"pixi.js\";\nimport { exportCanvasElement, importCanvasElement } from \"../../functions/CanvasUtility\";\nimport ICanvasContainerMemory from \"../../interface/canvas/ICanvasContainerMemory\";\nimport CanvasBase from \"./CanvasBase\";\n\nexport const CANVAS_CONTAINER_ID = \"CanvasContainer\"\n\n/**\n * This class is a extension of the [PIXI.Container class](https://pixijs.com/8.x/examples/basic/container), it has the same properties and methods, \n * but it has the ability to be saved and loaded by the Pixi'VN library.\n * @example\n * ```typescript\n * const container = new CanvasContainer();\n * GameWindowManager.addCanvasElement(container);\n * const texture = await Assets.load('https://pixijs.com/assets/bunny.png');\n * for (let i = 0; i < 25; i++)\n * {\n * const bunny = new CanvasSprite(texture);\n * bunny.x = (i % 5) * 40;\n * bunny.y = Math.floor(i / 5) * 40;\n * container.addChild(bunny);\n * }\n * ```\n */\nexport default class CanvasContainer extends Container implements CanvasBase<ICanvasContainerMemory> {\n constructor(options?: ContainerOptions) {\n super(options)\n this.pixivnId = this.constructor.prototype.pixivnId\n }\n pixivnId: string = CANVAS_CONTAINER_ID\n get memory(): ICanvasContainerMemory {\n let memory = getMemoryContainer(this)\n this.children.forEach(child => {\n memory.elements.push(exportCanvasElement(child as CanvasBase<any>))\n })\n return memory\n }\n set memory(value: ICanvasContainerMemory) {\n setMemoryContainer(this, value)\n value.elements.forEach(child => {\n this.addChild(importCanvasElement(child))\n })\n }\n}\n\nexport function getMemoryContainer<T extends Container>(element: T): ICanvasContainerMemory {\n let className = \"CanvasContainer\"\n if (element.hasOwnProperty(\"pixivnId\")) {\n className = (element as any).pixivnId\n }\n return {\n pixivnId: className,\n elements: [],\n\n width: element.width,\n height: element.height,\n\n isRenderGroup: element.isRenderGroup,\n blendMode: element.blendMode,\n tint: element.tint,\n alpha: element.alpha,\n angle: element.angle,\n renderable: element.renderable,\n rotation: element.rotation,\n scale: { x: element.scale.x, y: element.scale.y },\n pivot: { x: element.pivot.x, y: element.pivot.y },\n position: { x: element.position.x, y: element.position.y },\n skew: { x: element.skew.x, y: element.skew.y },\n visible: element.visible,\n culled: element.culled,\n x: element.x,\n y: element.y,\n boundsArea: element.boundsArea,\n\n cursor: element.cursor,\n eventMode: element.eventMode,\n interactive: element.interactive,\n interactiveChildren: element.interactiveChildren,\n hitArea: element.hitArea\n }\n}\n\nexport function setMemoryContainer<T extends Container>(element: T | Container, memory: ContainerOptions) {\n memory.width && (element.width = memory.width)\n memory.height && (element.height = memory.height)\n\n memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup)\n memory.blendMode && (element.blendMode = memory.blendMode)\n memory.tint && (element.tint = memory.tint)\n memory.alpha && (element.alpha = memory.alpha)\n memory.angle && (element.angle = memory.angle)\n memory.renderable && (element.renderable = memory.renderable)\n memory.rotation && (element.rotation = memory.rotation)\n if (memory.scale) {\n if (typeof memory.scale === \"number\") {\n element.scale.set(memory.scale, memory.scale)\n }\n else {\n element.scale.set(memory.scale.x, memory.scale.y)\n }\n }\n if (memory.pivot) {\n if (typeof memory.pivot === \"number\") {\n element.pivot.set(memory.pivot, memory.pivot)\n }\n else {\n element.pivot.set(memory.pivot.x, memory.pivot.y)\n }\n }\n memory.position && (element.position.set(memory.position.x, memory.position.y))\n memory.skew && (element.skew.set(memory.skew.x, memory.skew.y))\n memory.visible && (element.visible = memory.visible)\n memory.culled && (element.culled = memory.culled)\n memory.x && (element.x = memory.x)\n memory.y && (element.y = memory.y)\n memory.boundsArea && (element.boundsArea = memory.boundsArea)\n\n memory.cursor && (element.cursor = memory.cursor)\n memory.eventMode && (element.eventMode = memory.eventMode)\n memory.interactive && (element.interactive = memory.interactive)\n memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren)\n memory.hitArea && (element.hitArea = memory.hitArea)\n}\n","import { Texture } from \"pixi.js\";\nimport { CanvasBase } from \"../classes/canvas\";\nimport { getCanvasElementInstanceById } from \"../decorators/CanvasElementDecorator\";\nimport { ICanvasBaseMemory, ITextureMemory } from \"../interface/canvas\";\n\n/**\n * Get the memory object of the PixiJS texture\n * @param texture PixiJS Texture object\n * @returns Memory object of the texture\n */\nexport function getTextureMemory(texture: Texture): ITextureMemory {\n let sourceTexture = texture.source\n let textureMemory: ITextureMemory = {\n image: sourceTexture.label\n }\n return textureMemory\n}\n\n/**\n * Export a Canvas element to a memory object\n * @param element Canvas element\n * @returns Memory object of the canvas\n */\nexport function exportCanvasElement<T extends CanvasBase<any>>(\n element: T,\n): ICanvasBaseMemory {\n return element.memory\n}\n\n/**\n * Import a Canvas element from a memory object\n * @param memory Memory object of the canvas\n * @returns Canvas element\n */\nexport function importCanvasElement<T extends CanvasBase<any>>(\n memory: ICanvasBaseMemory,\n): T {\n let element = getCanvasElementInstanceById<T>(memory.pixivnId)\n if (element) {\n element.memory = memory\n }\n else {\n throw new Error(\"[Pixi'VN] The element \" + memory.pixivnId + \" could not be created\")\n }\n\n return element\n}\n","import { Sprite, SpriteOptions, Texture, TextureSourceLike } from \"pixi.js\";\nimport { addImage, loadImage, showWithDissolveTransition } from \"../../functions\";\nimport { getTexture } from \"../../functions/TextureUtility\";\nimport ICanvasImageMemory from \"../../interface/canvas/ICanvasImageMemory\";\nimport CanvasSprite, { getMemorySprite, setMemorySprite } from \"./CanvasSprite\";\n\nexport const CANVAS_IMAGE_ID = \"CanvasImage\"\n\n/**\n * This class is a extension of the CanvasSprite class, it has the same properties and methods,\n * but it has some features that make texture management easier.\n * You need to use CanvasImage.load() to show the image in the canvas.\n * This class is used for functions like {@link addImage}, {@link loadImage} and {@link showWithDissolveTransition}.\n * @example\n * ```typescript\n * let alien = new CanvasImage({\n * anchor: { x: 0.5, y: 0.5 },\n * x: 100,\n * y: 100,\n * }, 'https://pixijs.com/assets/eggHead.png')\n * await alien.load()\n * GameWindowManager.addCanvasElement(\"alien\", alien)\n * ```\n * @example\n * ```typescript\n * let alien = addImage(\"alien\", 'https://pixijs.com/assets/eggHead.png')\n * alien.anchor.set(0.5);\n * alien.x = 100\n * alien.y = 100\n * await alien.load()\n * ```\n */\nexport default class CanvasImage extends CanvasSprite<ICanvasImageMemory> {\n pixivnId: string = CANVAS_IMAGE_ID\n constructor(options?: SpriteOptions | Texture | undefined, imageLink?: string) {\n super(options)\n if (imageLink) {\n this.imageLink = imageLink\n }\n }\n override get memory(): ICanvasImageMemory {\n return {\n ...getMemorySprite(this),\n pixivnId: this.pixivnId,\n imageLink: this.imageLink,\n }\n }\n override set memory(memory: ICanvasImageMemory) {\n setMemorySprite(this, memory)\n this.imageLink = memory.imageLink\n }\n imageLink: string = \"\"\n static override from(source: Texture | TextureSourceLike, skipCache?: boolean) {\n let sprite = Sprite.from(source, skipCache)\n let mySprite = new CanvasImage()\n mySprite.texture = sprite.texture\n return mySprite\n }\n /** \n * Load the image from the link and set the texture of the sprite.\n * @param image The link of the image. If it is not set, it will use the imageLink property.\n * @returns A promise that resolves when the image is loaded.\n */\n async load(image?: string) {\n if (!image) {\n image = this.imageLink\n }\n return getTexture(this.imageLink)\n .then((texture) => {\n if (texture) {\n this.texture = texture\n }\n })\n .catch((e) => {\n console.error(\"[Pixi'VN] Error into CanvasImage.load()\", e)\n })\n }\n}\n","import { Assets, TextStyle, TextStyleOptions, Texture } from 'pixi.js';\n\n/**\n * Get a texture from a url.\n * @param imageUrl is the url of the image.\n * @returns the texture of the image, or a text with the error.\n */\nexport async function getTexture(imageUrl: string): Promise<Texture | void> {\n if (Assets.cache.has(imageUrl)) {\n return Assets.get(imageUrl)\n }\n return Assets.load(imageUrl)\n .then((texture) => {\n if (!texture) {\n console.error(\"[Pixi'VN] Texture not found\", imageUrl)\n return\n }\n // if texture not is a Texture, then it is a TextureResource\n if (!(texture instanceof Texture)) {\n console.error(\"[Pixi'VN] File not is a image\", imageUrl)\n return\n }\n\n return texture\n })\n .catch((e) => {\n console.error(\"[Pixi'VN] Error loading image\", e)\n return\n })\n}\n\nexport function getTextStyle(style: TextStyle): TextStyleOptions {\n let fill = style.fill\n if (fill instanceof Object) {\n // TODO: FillGradient and FillPattern are not supported yet\n console.warn(\"[Pixi'VN] CanvasText.style.fill is a FillGradient or FillPattern, this is not supported yet.\", fill)\n fill = \"#00FF00\"\n }\n return {\n align: style.align,\n breakWords: style.breakWords,\n dropShadow: style.dropShadow,\n fill: fill,\n fontFamily: style.fontFamily,\n fontSize: style.fontSize,\n fontStyle: style.fontStyle,\n fontVariant: style.fontVariant,\n fontWeight: style.fontWeight,\n leading: style.leading,\n letterSpacing: style.letterSpacing,\n lineHeight: style.lineHeight,\n padding: style.padding,\n stroke: style.stroke,\n textBaseline: style.textBaseline,\n trim: style.trim,\n whiteSpace: style.whiteSpace,\n wordWrap: style.wordWrap,\n wordWrapWidth: style.wordWrapWidth,\n }\n}\n","import { ContainerChild, ContainerEvents, EventEmitter, Sprite, SpriteOptions, Texture, TextureSourceLike } from \"pixi.js\";\nimport { getEventInstanceById, getEventTypeById } from \"../../decorators/EventDecorator\";\nimport { getTextureMemory } from \"../../functions/CanvasUtility\";\nimport { getTexture } from \"../../functions/TextureUtility\";\nimport ICanvasBaseMemory from \"../../interface/canvas/ICanvasBaseMemory\";\nimport ICanvasSpriteMemory, { ICanvasSpriteBaseMemory } from \"../../interface/canvas/ICanvasSpriteMemory\";\nimport { CanvasEventNamesType } from \"../../types\";\nimport { EventIdType } from \"../../types/EventIdType\";\nimport CanvasEvent from \"../CanvasEvent\";\nimport CanvasBase from \"./CanvasBase\";\nimport { getMemoryContainer, setMemoryContainer } from \"./CanvasContainer\";\n\nexport const CANVAS_SPRITE_ID = \"CanvasSprite\"\n\n/**\n * This class is a extension of the [PIXI.Sprite class](https://pixijs.com/8.x/examples/sprite/basic), it has the same properties and methods,\n * but it has the ability to be saved and loaded by the Pixi'VN library.\n * @example\n * ```typescript\n * const texture = await Assets.load('https://pixijs.com/assets/bunny.png');\n * const sprite = CanvasSprite.from(texture);\n *\n * sprite.anchor.set(0.5);\n * sprite.x = GameWindowManager.screen.width / 2;\n * sprite.y = GameWindowManager.screen.height / 2;\n *\n * sprite.eventMode = 'static';\n * sprite.cursor = 'pointer';\n * sprite.onEvent('pointerdown', EventTest);\n *\n * GameWindowManager.addCanvasElement(\"bunny\", sprite);\n * ```\n */\nexport default class CanvasSprite<Memory extends SpriteOptions & ICanvasBaseMemory = ICanvasSpriteMemory> extends Sprite implements CanvasBase<Memory | ICanvasSpriteMemory> {\n constructor(options?: SpriteOptions | Texture) {\n super(options)\n this.pixivnId = this.constructor.prototype.pixivnId\n }\n pixivnId: string = CANVAS_SPRITE_ID\n get memory(): Memory | ICanvasSpriteMemory {\n return getMemorySprite(this)\n }\n set memory(value: ICanvasSpriteMemory) {\n setMemorySprite(this, value)\n }\n private _onEvents: { [name: CanvasEventNamesType]: EventIdType } = {}\n get onEvents() {\n return this._onEvents\n }\n /**\n * is same function as on(), but it keeps in memory the children.\n * @param event The event type, e.g., 'click', 'mousedown', 'mouseup', 'pointerdown', etc.\n * @param eventClass The class that extends CanvasEvent.\n * @returns \n * @example\n * ```typescript\n * \\@eventDecorator()\n * export class EventTest extends CanvasEvent<CanvasSprite> {\n * override fn(event: CanvasEventNamesType, sprite: CanvasSprite): void {\n * if (event === 'pointerdown') {\n * sprite.scale.x *= 1.25;\n * sprite.scale.y *= 1.25;\n * }\n * }\n * }\n * ```\n * \n * ```typescript\n * let sprite = addImage(\"alien\", 'https://pixijs.com/assets/eggHead.png')\n * await sprite.load()\n *\n * sprite.eventMode = 'static';\n * sprite.cursor = 'pointer';\n * sprite.onEvent('pointerdown', EventTest);\n *\n * GameWindowManager.addCanvasElement(\"bunny\", sprite);\n * ```\n */\n onEvent<T extends CanvasEventNamesType, T2 extends typeof CanvasEvent<typeof this>>(event: T, eventClass: T2) {\n let id = eventClass.prototype.id\n let instance = getEventInstanceById(id)\n this._onEvents[event] = id\n if (instance) {\n super.on(event, () => {\n (instance as CanvasEvent<CanvasBase<any>>).fn(event, this)\n })\n }\n return this\n }\n /**\n * on() does not keep in memory the event class, use onEvent() instead\n * @deprecated\n * @private\n * @param event \n * @param fn \n * @param context \n */\n override on<T extends keyof ContainerEvents<ContainerChild> | keyof { [K: symbol]: any;[K: {} & string]: any; }>(event: T, fn: (...args: EventEmitter.ArgumentMap<ContainerEvents<ContainerChild> & { [K: symbol]: any;[K: {} & string]: any; }>[Extract<T, keyof ContainerEvents<ContainerChild> | keyof { [K: symbol]: any;[K: {} & string]: any; }>]) => void, context?: any): this {\n return super.on(event, fn, context)\n }\n static override from(source: Texture | TextureSourceLike, skipCache?: boolean): CanvasSprite<any> {\n let sprite = Sprite.from(source, skipCache)\n let mySprite = new CanvasSprite()\n mySprite.texture = sprite.texture\n return mySprite\n }\n}\n\nexport function getMemorySprite<T extends CanvasSprite<any>>(element: T | CanvasSprite<any>): ICanvasSpriteMemory {\n let temp = getMemoryContainer(element)\n return {\n ...temp,\n pixivnId: element.pixivnId,\n textureImage: getTextureMemory((element as any).texture),\n anchor: { x: element.anchor.x, y: element.anchor.y },\n roundPixels: element.roundPixels,\n onEvents: element.onEvents,\n }\n}\n\nexport function setMemorySprite<Memory extends ICanvasSpriteBaseMemory>(element: CanvasSprite<any>, memory: Memory) {\n setMemoryContainer(element, memory)\n getTexture(memory.textureImage.image).then((texture) => {\n if (texture) {\n element.texture = texture\n }\n })\n if (memory.anchor) {\n if (typeof memory.anchor === \"number\") {\n element.anchor.set(memory.anchor, memory.anchor)\n }\n else {\n element.anchor.set(memory.anchor.x, memory.anchor.y)\n }\n }\n memory.roundPixels && (element.roundPixels = memory.roundPixels)\n for (let event in memory.onEvents) {\n let id = memory.onEvents[event]\n let instance = getEventTypeById(id)\n if (instance) {\n element.onEvent(event, instance)\n }\n }\n}\n","import { CanvasEvent } from \"../classes\"\nimport CanvasBase from \"../classes/canvas/CanvasBase\"\nimport { CanvasEventNamesType } from \"../types\"\nimport { EventIdType } from \"../types/EventIdType\"\n\n/**\n * Canvas Event Register\n */\nexport const registeredEvents: { [name: EventIdType]: typeof CanvasEvent<CanvasEventNamesType> } = {}\n/**\n * Is a decorator that register a event in the game.\n * Is a required decorator for use the event in the game.\n * Thanks to this decoration the game has the possibility of updating the events to the latest modification and saving the game.\n * @param name is th identifier of the event, by default is the name of the class\n * @returns \n */\nexport default function eventDecorator(name?: EventIdType) {\n return function (target: typeof CanvasEvent<any>) {\n if (!name) {\n name = target.name\n }\n if (registeredEvents[name]) {\n console.info(`[Pixi'VN] Event ${name} already exists, it will be overwritten`)\n }\n target.prototype.id = name\n registeredEvents[name] = target\n }\n}\n\n/**\n * Get an event by the id.\n * @param eventId The id of the event.\n * @returns The event type.\n */\nexport function getEventTypeById<T = typeof CanvasEvent<CanvasBase<any>>>(eventId: EventIdType): T | undefined {\n try {\n let eventType = registeredEvents[eventId]\n if (!eventType) {\n console.error(`[Pixi'VN] Event ${eventId} not found`)\n return\n }\n new eventType()\n return eventType as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e)\n return\n }\n}\n\n/**\n * Get an event instance by the id.\n * @param eventId The id of the event.\n * @returns The event instance.\n */\nexport function getEventInstanceById<T = CanvasEvent<CanvasBase<any>>>(eventId: EventIdType): T | undefined {\n try {\n let eventType = registeredEvents[eventId]\n if (!eventType) {\n console.error(`[Pixi'VN] Event ${eventId} not found`)\n return\n }\n let event = new eventType()\n return event as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e)\n return\n }\n}\n","import { ContainerChild, ContainerEvents, EventEmitter, Text, TextOptions } from \"pixi.js\";\nimport { getEventInstanceById, getEventTypeById } from \"../../decorators/EventDecorator\";\nimport { getTextStyle } from \"../../functions/TextureUtility\";\nimport ICanvasTextMemory from \"../../interface/canvas/ICanvasTextTextMemory\";\nimport { CanvasEventNamesType } from \"../../types\";\nimport { EventIdType } from \"../../types/EventIdType\";\nimport CanvasEvent from \"../CanvasEvent\";\nimport CanvasBase from \"./CanvasBase\";\nimport { getMemoryContainer, setMemoryContainer } from \"./CanvasContainer\";\n\nexport const CANVAS_TEXT_ID = \"CanvasText\"\n\n/**\n * This class is a extension of the [PIXI.Text class](https://pixijs.com/8.x/examples/text/pixi-text), it has the same properties and methods,\n * but it has the ability to be saved and loaded by the Pixi'VN library.\n * @example\n * ```typescript\n * const text = new CanvasText();\n * text.text = \"Hello World\"\n * GameWindowManager.addCanvasElement(\"text\", text);\n * ```\n */\nexport default class CanvasText extends Text implements CanvasBase<ICanvasTextMemory> {\n constructor(options?: TextOptions) {\n super(options)\n this.pixivnId = this.constructor.prototype.pixivnId\n }\n pixivnId: string = CANVAS_TEXT_ID\n get memory(): ICanvasTextMemory {\n return getMemoryText(this)\n }\n set memory(value: ICanvasTextMemory) {\n setMemoryText(this, value)\n }\n private _onEvents: { [name: CanvasEventNamesType]: EventIdType } = {}\n get onEvents() {\n return this._onEvents\n }\n /**\n * is same function as on(), but it keeps in memory the children.\n * @param event The event type, e.g., 'click', 'mousedown', 'mouseup', 'pointerdown', etc.\n * @param eventClass The class that extends CanvasEvent.\n * @returns \n * @example\n * ```typescript\n * \\@eventDecorator()\n * export class EventTest extends CanvasEvent<CanvasText> {\n * override fn(event: CanvasEventNamesType, text: CanvasText): void {\n * if (event === 'pointerdown') {\n * text.scale.x *= 1.25;\n * text.scale.y *= 1.25;\n * }\n * }\n * }\n * ```\n * \n * ```typescript\n * const text = new CanvasText();\n * text.text = \"Hello World\"\n *\n * text.eventMode = 'static';\n * text.cursor = 'pointer';\n * text.onEvent('pointerdown', EventTest);\n *\n * GameWindowManager.addCanvasElement(\"text\", text);\n * ```\n */\n onEvent<T extends CanvasEventNamesType, T2 extends typeof CanvasEvent<typeof this>>(event: T, eventClass: T2) {\n let id = eventClass.prototype.id\n let instance = getEventInstanceById(id)\n this._onEvents[event] = id\n if (instance) {\n super.on(event, () => {\n (instance as CanvasEvent<CanvasBase<any>>).fn(event, this)\n })\n }\n return this\n }\n /**\n * on() does not keep in memory the event class, use onEvent() instead\n * @deprecated\n * @private\n * @param event \n * @param fn \n * @param context \n */\n override on<T extends keyof ContainerEvents<ContainerChild> | keyof { [K: symbol]: any;[K: {} & string]: any; }>(event: T, fn: (...args: EventEmitter.ArgumentMap<ContainerEvents<ContainerChild> & { [K: symbol]: any;[K: {} & string]: any; }>[Extract<T, keyof ContainerEvents<ContainerChild> | keyof { [K: symbol]: any;[K: {} & string]: any; }>]) => void, context?: any): this {\n return super.on(event, fn, context)\n }\n}\n\nexport function getMemoryText<T extends CanvasText>(element: T | CanvasText): ICanvasTextMemory {\n let temp = getMemoryContainer(element)\n return {\n ...temp,\n pixivnId: element.pixivnId,\n anchor: { x: element.anchor.x, y: element.anchor.y },\n text: element.text,\n resolution: element.resolution,\n style: getTextStyle(element.style),\n roundPixels: element.roundPixels,\n onEvents: element.onEvents,\n }\n}\n\nexport function setMemoryText(element: CanvasText, memory: ICanvasTextMemory) {\n setMemoryContainer(element, memory)\n if (memory.anchor) {\n if (typeof memory.anchor === \"number\") {\n element.anchor.set(memory.anchor, memory.anchor)\n }\n else {\n element.anchor.set(memory.anchor.x, memory.anchor.y)\n }\n }\n memory.text && (element.text = memory.text)\n memory.resolution && (element.resolution = memory.resolution)\n memory.style && (element.style = memory.style)\n memory.roundPixels && (element.roundPixels = memory.roundPixels)\n for (let event in memory.onEvents) {\n let id = memory.onEvents[event]\n let instance = getEventTypeById(id)\n if (instance) {\n element.onEvent(event as CanvasEventNamesType, instance)\n }\n }\n}\n","import { CanvasContainer, CanvasImage, CanvasSprite, CanvasText } from \"../classes/canvas\"\nimport CanvasBase from \"../classes/canvas/CanvasBase\"\nimport { CANVAS_CONTAINER_ID } from \"../classes/canvas/CanvasContainer\"\nimport { CANVAS_IMAGE_ID } from \"../classes/canvas/CanvasImage\"\nimport { CANVAS_SPRITE_ID } from \"../classes/canvas/CanvasSprite\"\nimport { CANVAS_TEXT_ID } from \"../classes/canvas/CanvasText\"\nimport { CanvasElementTagType } from \"../types/CanvasElementTagType\"\n\nexport const registeredCanvasElement: { [name: CanvasElementTagType]: typeof CanvasBase<any> } = {}\n/**\n * Is a decorator that register a canvas element in the game.\n * @param name Name of the canvas element, by default it will use the class name. If the name is already registered, it will show a warning\n * @returns \n */\nexport default function canvasElementDecorator(name?: CanvasElementTagType) {\n return function (target: typeof CanvasBase<any>) {\n if (!name) {\n name = target.name\n }\n if (registeredCanvasElement[name]) {\n console.warn(`[Pixi'VN] CanvasElement ${name} already registered`)\n }\n target.prototype.pixivnId = name\n registeredCanvasElement[name] = target\n }\n}\n\nexport function getCanvasElementTypeById<T extends typeof CanvasBase<any>>(canvasId: CanvasElementTagType): T | undefined {\n try {\n let eventType = registeredCanvasElement[canvasId]\n if (!eventType) {\n console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`)\n return\n }\n new eventType()\n return eventType as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e)\n return\n }\n}\n\nexport function getCanvasElementInstanceById<T extends CanvasBase<any>>(canvasId: CanvasElementTagType): T | undefined {\n try {\n let eventType = registeredCanvasElement[canvasId]\n if (!eventType) {\n if (canvasId === CANVAS_CONTAINER_ID) {\n eventType = CanvasContainer\n }\n else if (canvasId === CANVAS_IMAGE_ID) {\n eventType = CanvasImage\n }\n else if (canvasId === CANVAS_SPRITE_ID) {\n eventType = CanvasSprite\n }\n else if (canvasId === CANVAS_TEXT_ID) {\n eventType = CanvasText\n }\n }\n\n if (!eventType) {\n console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`)\n return\n }\n let canvasElement = new eventType()\n return canvasElement as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e)\n return\n }\n}\n"]}
|
|
@@ -8,7 +8,7 @@ function saveCharacter(character) {
|
|
|
8
8
|
return;
|
|
9
9
|
}
|
|
10
10
|
if (registeredCharacters[character.id]) {
|
|
11
|
-
console.
|
|
11
|
+
console.info(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`);
|
|
12
12
|
}
|
|
13
13
|
registeredCharacters[character.id] = character;
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/CharacterDecorator.ts"],"names":[],"mappings":";AAEO,IAAM,uBAA6D,CAAC;AAYpE,SAAS,cAAiE,WAAoB;AACjG,MAAI,MAAM,QAAQ,SAAS,GAAG;AAC1B,cAAU,QAAQ,OAAK,cAAc,CAAC,CAAC;AACvC;AAAA,EACJ;AACA,MAAI,qBAAqB,UAAU,EAAE,GAAG;AACpC,YAAQ,KAAK,0BAA0B,UAAU,EAAE,yCAAyC;AAAA,EAChG;AACA,uBAAqB,UAAU,EAAE,IAAI;AACzC;AAWO,SAAS,iBAA+C,IAA2B;AACtF,MAAI;AACA,QAAI,YAAY,qBAAqB,EAAE;AACvC,QAAI,CAAC,WAAW;AACZ,cAAQ,MAAM,uBAAuB,EAAE,YAAY;AACnD;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SACO,GAAG;AACN,YAAQ,MAAM,2CAA2C,EAAE,IAAI,CAAC;AAChE;AAAA,EACJ;AACJ;AAUO,SAAS,mBAAsD;AAClE,SAAO,OAAO,OAAO,oBAAoB;AAC7C","sourcesContent":["import { CharacterBaseModel } from \"../classes\"\n\nexport const registeredCharacters: { [id: string]: CharacterBaseModel } = {}\n/**\n * Is a function that saves the character. If the character already exists, it will be overwritten.\n * @param character is the character to save\n * @returns \n * @example\n * ```typescript\n * export const liam = new CharacterBaseModel('liam', { name: 'Liam'});\n * export const alice = new CharacterBaseModel('alice', { name: 'Alice'});\n * saveCharacter([liam, alice]);\n * ```\n */\nexport function saveCharacter<T extends CharacterBaseModel = CharacterBaseModel>(character: T | T[]) {\n if (Array.isArray(character)) {\n character.forEach(c => saveCharacter(c))\n return\n }\n if (registeredCharacters[character.id]) {\n console.
|
|
1
|
+
{"version":3,"sources":["../../src/decorators/CharacterDecorator.ts"],"names":[],"mappings":";AAEO,IAAM,uBAA6D,CAAC;AAYpE,SAAS,cAAiE,WAAoB;AACjG,MAAI,MAAM,QAAQ,SAAS,GAAG;AAC1B,cAAU,QAAQ,OAAK,cAAc,CAAC,CAAC;AACvC;AAAA,EACJ;AACA,MAAI,qBAAqB,UAAU,EAAE,GAAG;AACpC,YAAQ,KAAK,0BAA0B,UAAU,EAAE,yCAAyC;AAAA,EAChG;AACA,uBAAqB,UAAU,EAAE,IAAI;AACzC;AAWO,SAAS,iBAA+C,IAA2B;AACtF,MAAI;AACA,QAAI,YAAY,qBAAqB,EAAE;AACvC,QAAI,CAAC,WAAW;AACZ,cAAQ,MAAM,uBAAuB,EAAE,YAAY;AACnD;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SACO,GAAG;AACN,YAAQ,MAAM,2CAA2C,EAAE,IAAI,CAAC;AAChE;AAAA,EACJ;AACJ;AAUO,SAAS,mBAAsD;AAClE,SAAO,OAAO,OAAO,oBAAoB;AAC7C","sourcesContent":["import { CharacterBaseModel } from \"../classes\"\n\nexport const registeredCharacters: { [id: string]: CharacterBaseModel } = {}\n/**\n * Is a function that saves the character. If the character already exists, it will be overwritten.\n * @param character is the character to save\n * @returns \n * @example\n * ```typescript\n * export const liam = new CharacterBaseModel('liam', { name: 'Liam'});\n * export const alice = new CharacterBaseModel('alice', { name: 'Alice'});\n * saveCharacter([liam, alice]);\n * ```\n */\nexport function saveCharacter<T extends CharacterBaseModel = CharacterBaseModel>(character: T | T[]) {\n if (Array.isArray(character)) {\n character.forEach(c => saveCharacter(c))\n return\n }\n if (registeredCharacters[character.id]) {\n console.info(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`)\n }\n registeredCharacters[character.id] = character\n}\n\n/**\n * is a function that returns the character by the id\n * @param id is the id of the character\n * @returns the character\n * @example\n * ```typescript\n * const liam = getCharacterById('liam');\n * ```\n */\nexport function getCharacterById<T extends CharacterBaseModel>(id: string): T | undefined {\n try {\n let character = registeredCharacters[id]\n if (!character) {\n console.error(`[Pixi'VN] Character ${id} not found`)\n return\n }\n return character as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting Character ${id}`, e)\n return\n }\n}\n\n/**\n * is a function that returns all characters\n * @returns all characters\n * @example\n * ```typescript\n * const allCharacters = getAllCharacters();\n * ```\n */\nexport function getAllCharacters<T extends CharacterBaseModel>(): T[] {\n return Object.values(registeredCharacters) as T[]\n}\n"]}
|
|
@@ -6,7 +6,7 @@ function saveCharacter(character) {
|
|
|
6
6
|
return;
|
|
7
7
|
}
|
|
8
8
|
if (registeredCharacters[character.id]) {
|
|
9
|
-
console.
|
|
9
|
+
console.info(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`);
|
|
10
10
|
}
|
|
11
11
|
registeredCharacters[character.id] = character;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/CharacterDecorator.ts"],"names":[],"mappings":";AAEO,IAAM,uBAA6D,CAAC;AAYpE,SAAS,cAAiE,WAAoB;AACjG,MAAI,MAAM,QAAQ,SAAS,GAAG;AAC1B,cAAU,QAAQ,OAAK,cAAc,CAAC,CAAC;AACvC;AAAA,EACJ;AACA,MAAI,qBAAqB,UAAU,EAAE,GAAG;AACpC,YAAQ,KAAK,0BAA0B,UAAU,EAAE,yCAAyC;AAAA,EAChG;AACA,uBAAqB,UAAU,EAAE,IAAI;AACzC;AAWO,SAAS,iBAA+C,IAA2B;AACtF,MAAI;AACA,QAAI,YAAY,qBAAqB,EAAE;AACvC,QAAI,CAAC,WAAW;AACZ,cAAQ,MAAM,uBAAuB,EAAE,YAAY;AACnD;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SACO,GAAG;AACN,YAAQ,MAAM,2CAA2C,EAAE,IAAI,CAAC;AAChE;AAAA,EACJ;AACJ;AAUO,SAAS,mBAAsD;AAClE,SAAO,OAAO,OAAO,oBAAoB;AAC7C","sourcesContent":["import { CharacterBaseModel } from \"../classes\"\n\nexport const registeredCharacters: { [id: string]: CharacterBaseModel } = {}\n/**\n * Is a function that saves the character. If the character already exists, it will be overwritten.\n * @param character is the character to save\n * @returns \n * @example\n * ```typescript\n * export const liam = new CharacterBaseModel('liam', { name: 'Liam'});\n * export const alice = new CharacterBaseModel('alice', { name: 'Alice'});\n * saveCharacter([liam, alice]);\n * ```\n */\nexport function saveCharacter<T extends CharacterBaseModel = CharacterBaseModel>(character: T | T[]) {\n if (Array.isArray(character)) {\n character.forEach(c => saveCharacter(c))\n return\n }\n if (registeredCharacters[character.id]) {\n console.
|
|
1
|
+
{"version":3,"sources":["../../src/decorators/CharacterDecorator.ts"],"names":[],"mappings":";AAEO,IAAM,uBAA6D,CAAC;AAYpE,SAAS,cAAiE,WAAoB;AACjG,MAAI,MAAM,QAAQ,SAAS,GAAG;AAC1B,cAAU,QAAQ,OAAK,cAAc,CAAC,CAAC;AACvC;AAAA,EACJ;AACA,MAAI,qBAAqB,UAAU,EAAE,GAAG;AACpC,YAAQ,KAAK,0BAA0B,UAAU,EAAE,yCAAyC;AAAA,EAChG;AACA,uBAAqB,UAAU,EAAE,IAAI;AACzC;AAWO,SAAS,iBAA+C,IAA2B;AACtF,MAAI;AACA,QAAI,YAAY,qBAAqB,EAAE;AACvC,QAAI,CAAC,WAAW;AACZ,cAAQ,MAAM,uBAAuB,EAAE,YAAY;AACnD;AAAA,IACJ;AACA,WAAO;AAAA,EACX,SACO,GAAG;AACN,YAAQ,MAAM,2CAA2C,EAAE,IAAI,CAAC;AAChE;AAAA,EACJ;AACJ;AAUO,SAAS,mBAAsD;AAClE,SAAO,OAAO,OAAO,oBAAoB;AAC7C","sourcesContent":["import { CharacterBaseModel } from \"../classes\"\n\nexport const registeredCharacters: { [id: string]: CharacterBaseModel } = {}\n/**\n * Is a function that saves the character. If the character already exists, it will be overwritten.\n * @param character is the character to save\n * @returns \n * @example\n * ```typescript\n * export const liam = new CharacterBaseModel('liam', { name: 'Liam'});\n * export const alice = new CharacterBaseModel('alice', { name: 'Alice'});\n * saveCharacter([liam, alice]);\n * ```\n */\nexport function saveCharacter<T extends CharacterBaseModel = CharacterBaseModel>(character: T | T[]) {\n if (Array.isArray(character)) {\n character.forEach(c => saveCharacter(c))\n return\n }\n if (registeredCharacters[character.id]) {\n console.info(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`)\n }\n registeredCharacters[character.id] = character\n}\n\n/**\n * is a function that returns the character by the id\n * @param id is the id of the character\n * @returns the character\n * @example\n * ```typescript\n * const liam = getCharacterById('liam');\n * ```\n */\nexport function getCharacterById<T extends CharacterBaseModel>(id: string): T | undefined {\n try {\n let character = registeredCharacters[id]\n if (!character) {\n console.error(`[Pixi'VN] Character ${id} not found`)\n return\n }\n return character as T\n }\n catch (e) {\n console.error(`[Pixi'VN] Error while getting Character ${id}`, e)\n return\n }\n}\n\n/**\n * is a function that returns all characters\n * @returns all characters\n * @example\n * ```typescript\n * const allCharacters = getAllCharacters();\n * ```\n */\nexport function getAllCharacters<T extends CharacterBaseModel>(): T[] {\n return Object.values(registeredCharacters) as T[]\n}\n"]}
|
|
@@ -20,16 +20,16 @@ declare const registeredEvents: {
|
|
|
20
20
|
*/
|
|
21
21
|
declare function eventDecorator(name?: EventIdType): (target: typeof CanvasEvent<any>) => void;
|
|
22
22
|
/**
|
|
23
|
-
* Get an event
|
|
24
|
-
* @param
|
|
23
|
+
* Get an event by the id.
|
|
24
|
+
* @param eventId The id of the event.
|
|
25
25
|
* @returns The event type.
|
|
26
26
|
*/
|
|
27
|
-
declare function
|
|
27
|
+
declare function getEventTypeById<T = typeof CanvasEvent<CanvasBase<any>>>(eventId: EventIdType): T | undefined;
|
|
28
28
|
/**
|
|
29
|
-
* Get an event instance by the
|
|
30
|
-
* @param
|
|
29
|
+
* Get an event instance by the id.
|
|
30
|
+
* @param eventId The id of the event.
|
|
31
31
|
* @returns The event instance.
|
|
32
32
|
*/
|
|
33
|
-
declare function
|
|
33
|
+
declare function getEventInstanceById<T = CanvasEvent<CanvasBase<any>>>(eventId: EventIdType): T | undefined;
|
|
34
34
|
|
|
35
|
-
export { eventDecorator as default,
|
|
35
|
+
export { eventDecorator as default, getEventInstanceById, getEventTypeById, registeredEvents };
|
|
@@ -20,16 +20,16 @@ declare const registeredEvents: {
|
|
|
20
20
|
*/
|
|
21
21
|
declare function eventDecorator(name?: EventIdType): (target: typeof CanvasEvent<any>) => void;
|
|
22
22
|
/**
|
|
23
|
-
* Get an event
|
|
24
|
-
* @param
|
|
23
|
+
* Get an event by the id.
|
|
24
|
+
* @param eventId The id of the event.
|
|
25
25
|
* @returns The event type.
|
|
26
26
|
*/
|
|
27
|
-
declare function
|
|
27
|
+
declare function getEventTypeById<T = typeof CanvasEvent<CanvasBase<any>>>(eventId: EventIdType): T | undefined;
|
|
28
28
|
/**
|
|
29
|
-
* Get an event instance by the
|
|
30
|
-
* @param
|
|
29
|
+
* Get an event instance by the id.
|
|
30
|
+
* @param eventId The id of the event.
|
|
31
31
|
* @returns The event instance.
|
|
32
32
|
*/
|
|
33
|
-
declare function
|
|
33
|
+
declare function getEventInstanceById<T = CanvasEvent<CanvasBase<any>>>(eventId: EventIdType): T | undefined;
|
|
34
34
|
|
|
35
|
-
export { eventDecorator as default,
|
|
35
|
+
export { eventDecorator as default, getEventInstanceById, getEventTypeById, registeredEvents };
|
|
@@ -10,43 +10,44 @@ function eventDecorator(name) {
|
|
|
10
10
|
name = target.name;
|
|
11
11
|
}
|
|
12
12
|
if (registeredEvents[name]) {
|
|
13
|
-
console.
|
|
13
|
+
console.info(`[Pixi'VN] Event ${name} already exists, it will be overwritten`);
|
|
14
14
|
}
|
|
15
|
+
target.prototype.id = name;
|
|
15
16
|
registeredEvents[name] = target;
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
|
-
function
|
|
19
|
+
function getEventTypeById(eventId) {
|
|
19
20
|
try {
|
|
20
|
-
let eventType = registeredEvents[
|
|
21
|
+
let eventType = registeredEvents[eventId];
|
|
21
22
|
if (!eventType) {
|
|
22
|
-
console.error(`[Pixi'VN] Event ${
|
|
23
|
+
console.error(`[Pixi'VN] Event ${eventId} not found`);
|
|
23
24
|
return;
|
|
24
25
|
}
|
|
25
26
|
new eventType();
|
|
26
27
|
return eventType;
|
|
27
28
|
} catch (e) {
|
|
28
|
-
console.error(`[Pixi'VN] Error while getting Event ${
|
|
29
|
+
console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
|
|
29
30
|
return;
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
|
-
function
|
|
33
|
+
function getEventInstanceById(eventId) {
|
|
33
34
|
try {
|
|
34
|
-
let eventType = registeredEvents[
|
|
35
|
+
let eventType = registeredEvents[eventId];
|
|
35
36
|
if (!eventType) {
|
|
36
|
-
console.error(`[Pixi'VN] Event ${
|
|
37
|
+
console.error(`[Pixi'VN] Event ${eventId} not found`);
|
|
37
38
|
return;
|
|
38
39
|
}
|
|
39
40
|
let event = new eventType();
|
|
40
41
|
return event;
|
|
41
42
|
} catch (e) {
|
|
42
|
-
console.error(`[Pixi'VN] Error while getting Event ${
|
|
43
|
+
console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
|
|
43
44
|
return;
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
exports.default = eventDecorator;
|
|
48
|
-
exports.
|
|
49
|
-
exports.
|
|
49
|
+
exports.getEventInstanceById = getEventInstanceById;
|
|
50
|
+
exports.getEventTypeById = getEventTypeById;
|
|
50
51
|
exports.registeredEvents = registeredEvents;
|
|
51
52
|
//# sourceMappingURL=out.js.map
|
|
52
53
|
//# sourceMappingURL=EventDecorator.js.map
|