@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
|
@@ -13,7 +13,7 @@ import ICanvasBaseMemory from '../../interface/canvas/ICanvasBaseMemory.mjs';
|
|
|
13
13
|
* export class CanvasExample extends Container implements CanvasBase<ICanvasExampleMemory> {
|
|
14
14
|
* get memory(): ICanvasExampleMemory {
|
|
15
15
|
* return {
|
|
16
|
-
*
|
|
16
|
+
* pixivnId: "CanvasExample",
|
|
17
17
|
* // ... other properties
|
|
18
18
|
* }
|
|
19
19
|
* }
|
|
@@ -32,6 +32,10 @@ declare class CanvasBase<T2 extends ICanvasBaseMemory> extends Container {
|
|
|
32
32
|
* This method set the memory of the canvas element.
|
|
33
33
|
*/
|
|
34
34
|
set memory(_value: T2);
|
|
35
|
+
/**
|
|
36
|
+
* Get the id of the canvas element. This variable is used in the system to get the canvas element by id, {@link getCanvasElementInstanceById}
|
|
37
|
+
*/
|
|
38
|
+
pixivnId: string;
|
|
35
39
|
}
|
|
36
40
|
|
|
37
41
|
export { CanvasBase as default };
|
|
@@ -13,7 +13,7 @@ import ICanvasBaseMemory from '../../interface/canvas/ICanvasBaseMemory.js';
|
|
|
13
13
|
* export class CanvasExample extends Container implements CanvasBase<ICanvasExampleMemory> {
|
|
14
14
|
* get memory(): ICanvasExampleMemory {
|
|
15
15
|
* return {
|
|
16
|
-
*
|
|
16
|
+
* pixivnId: "CanvasExample",
|
|
17
17
|
* // ... other properties
|
|
18
18
|
* }
|
|
19
19
|
* }
|
|
@@ -32,6 +32,10 @@ declare class CanvasBase<T2 extends ICanvasBaseMemory> extends Container {
|
|
|
32
32
|
* This method set the memory of the canvas element.
|
|
33
33
|
*/
|
|
34
34
|
set memory(_value: T2);
|
|
35
|
+
/**
|
|
36
|
+
* Get the id of the canvas element. This variable is used in the system to get the canvas element by id, {@link getCanvasElementInstanceById}
|
|
37
|
+
*/
|
|
38
|
+
pixivnId: string;
|
|
35
39
|
}
|
|
36
40
|
|
|
37
41
|
export { CanvasBase as default };
|
|
@@ -4,6 +4,13 @@ var pixi_js = require('pixi.js');
|
|
|
4
4
|
|
|
5
5
|
// src/classes/canvas/CanvasBase.ts
|
|
6
6
|
var CanvasBase = class extends pixi_js.Container {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
/**
|
|
10
|
+
* Get the id of the canvas element. This variable is used in the system to get the canvas element by id, {@link getCanvasElementInstanceById}
|
|
11
|
+
*/
|
|
12
|
+
this.pixivnId = "canvas_element_id_not_set";
|
|
13
|
+
}
|
|
7
14
|
/**
|
|
8
15
|
* This method return the memory of the canvas element.
|
|
9
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/canvas/CanvasBase.ts"],"names":[],"mappings":";AAAA,SAAS,iBAAiB;
|
|
1
|
+
{"version":3,"sources":["../../../src/classes/canvas/CanvasBase.ts"],"names":[],"mappings":";AAAA,SAAS,iBAAiB;AA2B1B,IAAqB,aAArB,cAAsE,UAAU;AAAA,EAAhF;AAAA;AAYI;AAAA;AAAA;AAAA,oBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,EARnB,IAAI,SAAa;AAAE,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIhG,IAAI,OAAO,QAAY;AAAE,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAAE;AAK1G","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"]}
|
|
@@ -2,6 +2,13 @@ import { Container } from 'pixi.js';
|
|
|
2
2
|
|
|
3
3
|
// src/classes/canvas/CanvasBase.ts
|
|
4
4
|
var CanvasBase = class extends Container {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
/**
|
|
8
|
+
* Get the id of the canvas element. This variable is used in the system to get the canvas element by id, {@link getCanvasElementInstanceById}
|
|
9
|
+
*/
|
|
10
|
+
this.pixivnId = "canvas_element_id_not_set";
|
|
11
|
+
}
|
|
5
12
|
/**
|
|
6
13
|
* This method return the memory of the canvas element.
|
|
7
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/canvas/CanvasBase.ts"],"names":[],"mappings":";AAAA,SAAS,iBAAiB;
|
|
1
|
+
{"version":3,"sources":["../../../src/classes/canvas/CanvasBase.ts"],"names":[],"mappings":";AAAA,SAAS,iBAAiB;AA2B1B,IAAqB,aAArB,cAAsE,UAAU;AAAA,EAAhF;AAAA;AAYI;AAAA;AAAA;AAAA,oBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,EARnB,IAAI,SAAa;AAAE,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA,EAIhG,IAAI,OAAO,QAAY;AAAE,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAAE;AAK1G","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"]}
|
|
@@ -3,6 +3,7 @@ import ICanvasContainerMemory from '../../interface/canvas/ICanvasContainerMemor
|
|
|
3
3
|
import CanvasBase from './CanvasBase.mjs';
|
|
4
4
|
import '../../interface/canvas/ICanvasBaseMemory.mjs';
|
|
5
5
|
|
|
6
|
+
declare const CANVAS_CONTAINER_ID = "CanvasContainer";
|
|
6
7
|
/**
|
|
7
8
|
* 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,
|
|
8
9
|
* but it has the ability to be saved and loaded by the Pixi'VN library.
|
|
@@ -21,10 +22,12 @@ import '../../interface/canvas/ICanvasBaseMemory.mjs';
|
|
|
21
22
|
* ```
|
|
22
23
|
*/
|
|
23
24
|
declare class CanvasContainer extends Container implements CanvasBase<ICanvasContainerMemory> {
|
|
25
|
+
constructor(options?: ContainerOptions);
|
|
26
|
+
pixivnId: string;
|
|
24
27
|
get memory(): ICanvasContainerMemory;
|
|
25
28
|
set memory(value: ICanvasContainerMemory);
|
|
26
29
|
}
|
|
27
30
|
declare function getMemoryContainer<T extends Container>(element: T): ICanvasContainerMemory;
|
|
28
31
|
declare function setMemoryContainer<T extends Container>(element: T | Container, memory: ContainerOptions): void;
|
|
29
32
|
|
|
30
|
-
export { CanvasContainer as default, getMemoryContainer, setMemoryContainer };
|
|
33
|
+
export { CANVAS_CONTAINER_ID, CanvasContainer as default, getMemoryContainer, setMemoryContainer };
|
|
@@ -3,6 +3,7 @@ import ICanvasContainerMemory from '../../interface/canvas/ICanvasContainerMemor
|
|
|
3
3
|
import CanvasBase from './CanvasBase.js';
|
|
4
4
|
import '../../interface/canvas/ICanvasBaseMemory.js';
|
|
5
5
|
|
|
6
|
+
declare const CANVAS_CONTAINER_ID = "CanvasContainer";
|
|
6
7
|
/**
|
|
7
8
|
* 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,
|
|
8
9
|
* but it has the ability to be saved and loaded by the Pixi'VN library.
|
|
@@ -21,10 +22,12 @@ import '../../interface/canvas/ICanvasBaseMemory.js';
|
|
|
21
22
|
* ```
|
|
22
23
|
*/
|
|
23
24
|
declare class CanvasContainer extends Container implements CanvasBase<ICanvasContainerMemory> {
|
|
25
|
+
constructor(options?: ContainerOptions);
|
|
26
|
+
pixivnId: string;
|
|
24
27
|
get memory(): ICanvasContainerMemory;
|
|
25
28
|
set memory(value: ICanvasContainerMemory);
|
|
26
29
|
}
|
|
27
30
|
declare function getMemoryContainer<T extends Container>(element: T): ICanvasContainerMemory;
|
|
28
31
|
declare function setMemoryContainer<T extends Container>(element: T | Container, memory: ContainerOptions): void;
|
|
29
32
|
|
|
30
|
-
export { CanvasContainer as default, getMemoryContainer, setMemoryContainer };
|
|
33
|
+
export { CANVAS_CONTAINER_ID, CanvasContainer as default, getMemoryContainer, setMemoryContainer };
|
|
@@ -95,40 +95,43 @@ function getTextStyle(style) {
|
|
|
95
95
|
|
|
96
96
|
// src/decorators/EventDecorator.ts
|
|
97
97
|
var registeredEvents = {};
|
|
98
|
-
function
|
|
98
|
+
function getEventTypeById(eventId) {
|
|
99
99
|
try {
|
|
100
|
-
let eventType = registeredEvents[
|
|
100
|
+
let eventType = registeredEvents[eventId];
|
|
101
101
|
if (!eventType) {
|
|
102
|
-
console.error(`[Pixi'VN] Event ${
|
|
102
|
+
console.error(`[Pixi'VN] Event ${eventId} not found`);
|
|
103
103
|
return;
|
|
104
104
|
}
|
|
105
105
|
new eventType();
|
|
106
106
|
return eventType;
|
|
107
107
|
} catch (e) {
|
|
108
|
-
console.error(`[Pixi'VN] Error while getting Event ${
|
|
108
|
+
console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
|
|
109
109
|
return;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
function
|
|
112
|
+
function getEventInstanceById(eventId) {
|
|
113
113
|
try {
|
|
114
|
-
let eventType = registeredEvents[
|
|
114
|
+
let eventType = registeredEvents[eventId];
|
|
115
115
|
if (!eventType) {
|
|
116
|
-
console.error(`[Pixi'VN] Event ${
|
|
116
|
+
console.error(`[Pixi'VN] Event ${eventId} not found`);
|
|
117
117
|
return;
|
|
118
118
|
}
|
|
119
119
|
let event = new eventType();
|
|
120
120
|
return event;
|
|
121
121
|
} catch (e) {
|
|
122
|
-
console.error(`[Pixi'VN] Error while getting Event ${
|
|
122
|
+
console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
|
|
123
123
|
return;
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
// src/classes/canvas/CanvasSprite.ts
|
|
128
|
+
var CANVAS_SPRITE_ID = "CanvasSprite";
|
|
128
129
|
var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
|
|
129
|
-
constructor() {
|
|
130
|
-
super(
|
|
130
|
+
constructor(options) {
|
|
131
|
+
super(options);
|
|
132
|
+
this.pixivnId = CANVAS_SPRITE_ID;
|
|
131
133
|
this._onEvents = {};
|
|
134
|
+
this.pixivnId = this.constructor.prototype.pixivnId;
|
|
132
135
|
}
|
|
133
136
|
get memory() {
|
|
134
137
|
return getMemorySprite(this);
|
|
@@ -169,9 +172,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
|
|
|
169
172
|
* ```
|
|
170
173
|
*/
|
|
171
174
|
onEvent(event, eventClass) {
|
|
172
|
-
let
|
|
173
|
-
let instance =
|
|
174
|
-
this._onEvents[event] =
|
|
175
|
+
let id = eventClass.prototype.id;
|
|
176
|
+
let instance = getEventInstanceById(id);
|
|
177
|
+
this._onEvents[event] = id;
|
|
175
178
|
if (instance) {
|
|
176
179
|
super.on(event, () => {
|
|
177
180
|
instance.fn(event, this);
|
|
@@ -200,7 +203,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
|
|
|
200
203
|
function getMemorySprite(element) {
|
|
201
204
|
let temp = getMemoryContainer(element);
|
|
202
205
|
return __spreadProps(__spreadValues({}, temp), {
|
|
203
|
-
|
|
206
|
+
pixivnId: element.pixivnId,
|
|
204
207
|
textureImage: getTextureMemory(element.texture),
|
|
205
208
|
anchor: { x: element.anchor.x, y: element.anchor.y },
|
|
206
209
|
roundPixels: element.roundPixels,
|
|
@@ -223,8 +226,8 @@ function setMemorySprite(element, memory) {
|
|
|
223
226
|
}
|
|
224
227
|
memory.roundPixels && (element.roundPixels = memory.roundPixels);
|
|
225
228
|
for (let event in memory.onEvents) {
|
|
226
|
-
let
|
|
227
|
-
let instance =
|
|
229
|
+
let id = memory.onEvents[event];
|
|
230
|
+
let instance = getEventTypeById(id);
|
|
228
231
|
if (instance) {
|
|
229
232
|
element.onEvent(event, instance);
|
|
230
233
|
}
|
|
@@ -232,9 +235,11 @@ function setMemorySprite(element, memory) {
|
|
|
232
235
|
}
|
|
233
236
|
|
|
234
237
|
// src/classes/canvas/CanvasImage.ts
|
|
238
|
+
var CANVAS_IMAGE_ID = "CanvasImage";
|
|
235
239
|
var CanvasImage = class _CanvasImage extends CanvasSprite {
|
|
236
240
|
constructor(options, imageLink) {
|
|
237
241
|
super(options);
|
|
242
|
+
this.pixivnId = CANVAS_IMAGE_ID;
|
|
238
243
|
this.imageLink = "";
|
|
239
244
|
if (imageLink) {
|
|
240
245
|
this.imageLink = imageLink;
|
|
@@ -242,12 +247,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
|
|
|
242
247
|
}
|
|
243
248
|
get memory() {
|
|
244
249
|
return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
|
|
245
|
-
|
|
246
|
-
|
|
250
|
+
pixivnId: this.pixivnId,
|
|
251
|
+
imageLink: this.imageLink
|
|
247
252
|
});
|
|
248
253
|
}
|
|
249
254
|
set memory(memory) {
|
|
250
255
|
setMemorySprite(this, memory);
|
|
256
|
+
this.imageLink = memory.imageLink;
|
|
251
257
|
}
|
|
252
258
|
static from(source, skipCache) {
|
|
253
259
|
let sprite = pixi_js.Sprite.from(source, skipCache);
|
|
@@ -275,10 +281,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
|
|
|
275
281
|
});
|
|
276
282
|
}
|
|
277
283
|
};
|
|
284
|
+
var CANVAS_TEXT_ID = "CanvasText";
|
|
278
285
|
var CanvasText = class extends pixi_js.Text {
|
|
279
|
-
constructor() {
|
|
280
|
-
super(
|
|
286
|
+
constructor(options) {
|
|
287
|
+
super(options);
|
|
288
|
+
this.pixivnId = CANVAS_TEXT_ID;
|
|
281
289
|
this._onEvents = {};
|
|
290
|
+
this.pixivnId = this.constructor.prototype.pixivnId;
|
|
282
291
|
}
|
|
283
292
|
get memory() {
|
|
284
293
|
return getMemoryText(this);
|
|
@@ -319,9 +328,9 @@ var CanvasText = class extends pixi_js.Text {
|
|
|
319
328
|
* ```
|
|
320
329
|
*/
|
|
321
330
|
onEvent(event, eventClass) {
|
|
322
|
-
let
|
|
323
|
-
let instance =
|
|
324
|
-
this._onEvents[event] =
|
|
331
|
+
let id = eventClass.prototype.id;
|
|
332
|
+
let instance = getEventInstanceById(id);
|
|
333
|
+
this._onEvents[event] = id;
|
|
325
334
|
if (instance) {
|
|
326
335
|
super.on(event, () => {
|
|
327
336
|
instance.fn(event, this);
|
|
@@ -344,7 +353,7 @@ var CanvasText = class extends pixi_js.Text {
|
|
|
344
353
|
function getMemoryText(element) {
|
|
345
354
|
let temp = getMemoryContainer(element);
|
|
346
355
|
return __spreadProps(__spreadValues({}, temp), {
|
|
347
|
-
|
|
356
|
+
pixivnId: element.pixivnId,
|
|
348
357
|
anchor: { x: element.anchor.x, y: element.anchor.y },
|
|
349
358
|
text: element.text,
|
|
350
359
|
resolution: element.resolution,
|
|
@@ -367,8 +376,8 @@ function setMemoryText(element, memory) {
|
|
|
367
376
|
memory.style && (element.style = memory.style);
|
|
368
377
|
memory.roundPixels && (element.roundPixels = memory.roundPixels);
|
|
369
378
|
for (let event in memory.onEvents) {
|
|
370
|
-
let
|
|
371
|
-
let instance =
|
|
379
|
+
let id = memory.onEvents[event];
|
|
380
|
+
let instance = getEventTypeById(id);
|
|
372
381
|
if (instance) {
|
|
373
382
|
element.onEvent(event, instance);
|
|
374
383
|
}
|
|
@@ -377,28 +386,28 @@ function setMemoryText(element, memory) {
|
|
|
377
386
|
|
|
378
387
|
// src/decorators/CanvasElementDecorator.ts
|
|
379
388
|
var registeredCanvasElement = {};
|
|
380
|
-
function
|
|
389
|
+
function getCanvasElementInstanceById(canvasId) {
|
|
381
390
|
try {
|
|
382
|
-
let eventType = registeredCanvasElement[
|
|
391
|
+
let eventType = registeredCanvasElement[canvasId];
|
|
383
392
|
if (!eventType) {
|
|
384
|
-
if (
|
|
393
|
+
if (canvasId === CANVAS_CONTAINER_ID) {
|
|
385
394
|
eventType = CanvasContainer;
|
|
386
|
-
} else if (
|
|
395
|
+
} else if (canvasId === CANVAS_IMAGE_ID) {
|
|
387
396
|
eventType = CanvasImage;
|
|
388
|
-
} else if (
|
|
397
|
+
} else if (canvasId === CANVAS_SPRITE_ID) {
|
|
389
398
|
eventType = CanvasSprite;
|
|
390
|
-
} else if (
|
|
399
|
+
} else if (canvasId === CANVAS_TEXT_ID) {
|
|
391
400
|
eventType = CanvasText;
|
|
392
401
|
}
|
|
393
402
|
}
|
|
394
403
|
if (!eventType) {
|
|
395
|
-
console.error(`[Pixi'VN] CanvasElement ${
|
|
404
|
+
console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
|
|
396
405
|
return;
|
|
397
406
|
}
|
|
398
407
|
let canvasElement = new eventType();
|
|
399
408
|
return canvasElement;
|
|
400
409
|
} catch (e) {
|
|
401
|
-
console.error(`[Pixi'VN] Error while getting CanvasElement ${
|
|
410
|
+
console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
|
|
402
411
|
return;
|
|
403
412
|
}
|
|
404
413
|
}
|
|
@@ -415,17 +424,23 @@ function exportCanvasElement(element) {
|
|
|
415
424
|
return element.memory;
|
|
416
425
|
}
|
|
417
426
|
function importCanvasElement(memory) {
|
|
418
|
-
let element =
|
|
427
|
+
let element = getCanvasElementInstanceById(memory.pixivnId);
|
|
419
428
|
if (element) {
|
|
420
429
|
element.memory = memory;
|
|
421
430
|
} else {
|
|
422
|
-
throw new Error("[Pixi'VN] The element " + memory.
|
|
431
|
+
throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
|
|
423
432
|
}
|
|
424
433
|
return element;
|
|
425
434
|
}
|
|
426
435
|
|
|
427
436
|
// src/classes/canvas/CanvasContainer.ts
|
|
437
|
+
var CANVAS_CONTAINER_ID = "CanvasContainer";
|
|
428
438
|
var CanvasContainer = class extends pixi_js.Container {
|
|
439
|
+
constructor(options) {
|
|
440
|
+
super(options);
|
|
441
|
+
this.pixivnId = CANVAS_CONTAINER_ID;
|
|
442
|
+
this.pixivnId = this.constructor.prototype.pixivnId;
|
|
443
|
+
}
|
|
429
444
|
get memory() {
|
|
430
445
|
let memory = getMemoryContainer(this);
|
|
431
446
|
this.children.forEach((child) => {
|
|
@@ -441,8 +456,12 @@ var CanvasContainer = class extends pixi_js.Container {
|
|
|
441
456
|
}
|
|
442
457
|
};
|
|
443
458
|
function getMemoryContainer(element) {
|
|
459
|
+
let className = "CanvasContainer";
|
|
460
|
+
if (element.hasOwnProperty("pixivnId")) {
|
|
461
|
+
className = element.pixivnId;
|
|
462
|
+
}
|
|
444
463
|
return {
|
|
445
|
-
|
|
464
|
+
pixivnId: className,
|
|
446
465
|
elements: [],
|
|
447
466
|
width: element.width,
|
|
448
467
|
height: element.height,
|
|
@@ -507,6 +526,7 @@ function setMemoryContainer(element, memory) {
|
|
|
507
526
|
memory.hitArea && (element.hitArea = memory.hitArea);
|
|
508
527
|
}
|
|
509
528
|
|
|
529
|
+
exports.CANVAS_CONTAINER_ID = CANVAS_CONTAINER_ID;
|
|
510
530
|
exports.default = CanvasContainer;
|
|
511
531
|
exports.getMemoryContainer = getMemoryContainer;
|
|
512
532
|
exports.setMemoryContainer = setMemoryContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/classes/canvas/CanvasContainer.ts","../../../src/classes/canvas/CanvasBase.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","../../../src/functions/CanvasUtility.ts"],"names":["Container","Sprite"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,aAAAA,kBAAmC;;;ACA5C,SAAS,iBAAiB;;;ACA1B,SAAS,UAAAC,eAAyD;;;ACAlE,SAAS,QAAqC,eAAe;AAO7D,SAAsB,WAAW,UAA2C;AAAA;AACxE,QAAI,OAAO,MAAM,IAAI,QAAQ,GAAG;AAC5B,aAAO,OAAO,IAAI,QAAQ;AAAA,IAC9B;AACA,WAAO,OAAO,KAAK,QAAQ,EACtB,KAAK,CAAC,YAAY;AACf,UAAI,CAAC,SAAS;AACV,gBAAQ,MAAM,+BAA+B,QAAQ;AACrD;AAAA,MACJ;AAEA,UAAI,EAAE,mBAAmB,UAAU;AAC/B,gBAAQ,MAAM,iCAAiC,QAAQ;AACvD;AAAA,MACJ;AAEA,aAAO;AAAA,IACX,CAAC,EACA,MAAM,CAAC,MAAM;AACV,cAAQ,MAAM,iCAAiC,CAAC;AAChD;AAAA,IACJ,CAAC;AAAA,EACT;AAAA;AAEO,SAAS,aAAa,OAAoC;AAC7D,MAAI,OAAO,MAAM;AACjB,MAAI,gBAAgB,QAAQ;AAExB,YAAQ,KAAK,gGAAgG,IAAI;AACjH,WAAO;AAAA,EACX;AACA,SAAO;AAAA,IACH,OAAO,MAAM;AAAA,IACb,YAAY,MAAM;AAAA,IAClB,YAAY,MAAM;AAAA,IAClB;AAAA,IACA,YAAY,MAAM;AAAA,IAClB,UAAU,MAAM;AAAA,IAChB,WAAW,MAAM;AAAA,IACjB,aAAa,MAAM;AAAA,IACnB,YAAY,MAAM;AAAA,IAClB,SAAS,MAAM;AAAA,IACf,eAAe,MAAM;AAAA,IACrB,YAAY,MAAM;AAAA,IAClB,SAAS,MAAM;AAAA,IACf,QAAQ,MAAM;AAAA,IACd,cAAc,MAAM;AAAA,IACpB,MAAM,MAAM;AAAA,IACZ,YAAY,MAAM;AAAA,IAClB,UAAU,MAAM;AAAA,IAChB,eAAe,MAAM;AAAA,EACzB;AACJ;;;AC3DA,SAAwD,cAAyD;;;ACQ1G,IAAM,mBAAsF,CAAC;AAyB7F,SAAS,wBAAiE,WAAuC;AACpH,MAAI;AACA,QAAI,YAAY,iBAAiB,SAAS;AAC1C,QAAI,CAAC,WAAW;AACZ,cAAQ,MAAM,mBAAmB,SAAS,YAAY;AACtD;AAAA,IACJ;AACA,QAAI,UAAU;AACd,WAAO;AAAA,EACX,SACO,GAAG;AACN,YAAQ,MAAM,uCAAuC,SAAS,IAAI,CAAC;AACnE;AAAA,EACJ;AACJ;AAOO,SAAS,4BAA8D,WAAuC;AACjH,MAAI;AACA,QAAI,YAAY,iBAAiB,SAAS;AAC1C,QAAI,CAAC,WAAW;AACZ,cAAQ,MAAM,mBAAmB,SAAS,YAAY;AACtD;AAAA,IACJ;AACA,QAAI,QAAQ,IAAI,UAAU;AAC1B,WAAO;AAAA,EACX,SACO,GAAG;AACN,YAAQ,MAAM,uCAAuC,SAAS,IAAI,CAAC;AACnE;AAAA,EACJ;AACJ;;;ADrCA,IAAqB,eAArB,MAAqB,sBAA6F,OAA2D;AAAA,EAA7K;AAAA;AAOI,SAAQ,YAA2D,CAAC;AAAA;AAAA,EANpE,IAAI,SAAuC;AACvC,WAAO,gBAAgB,IAAI;AAAA,EAC/B;AAAA,EACA,IAAI,OAAO,OAA4B;AACnC,oBAAgB,MAAM,KAAK;AAAA,EAC/B;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8BA,QAAoF,OAAU,YAAgB;AAC1G,QAAI,YAAY,WAAW;AAC3B,QAAI,WAAW,4BAA4B,SAAS;AACpD,SAAK,UAAU,KAAK,IAAI;AACxB,QAAI,UAAU;AACV,YAAM,GAAG,OAAO,MAAM;AAClB,QAAC,SAA0C,GAAG,OAAO,IAAI;AAAA,MAC7D,CAAC;AAAA,IACL;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASS,GAAwG,OAAU,IAAuO,SAAqB;AACnX,WAAO,MAAM,GAAG,OAAO,IAAI,OAAO;AAAA,EACtC;AAAA,EACA,OAAgB,KAAK,QAAqC,WAAwC;AAC9F,QAAI,SAAS,OAAO,KAAK,QAAQ,SAAS;AAC1C,QAAI,WAAW,IAAI,cAAa;AAChC,aAAS,UAAU,OAAO;AAC1B,WAAO;AAAA,EACX;AACJ;AAEO,SAAS,gBAA6C,SAAqD;AAC9G,MAAI,OAAO,mBAAmB,OAAO;AACrC,SAAO,iCACA,OADA;AAAA,IAEH,WAAW;AAAA,IACX,cAAc,iBAAkB,QAAgB,OAAO;AAAA,IACvD,QAAQ,EAAE,GAAG,QAAQ,OAAO,GAAG,GAAG,QAAQ,OAAO,EAAE;AAAA,IACnD,aAAa,QAAQ;AAAA,IACrB,UAAU,QAAQ;AAAA,EACtB;AACJ;AAEO,SAAS,gBAAwD,SAA4B,QAAgB;AAChH,qBAAmB,SAAS,MAAM;AAClC,aAAW,OAAO,aAAa,KAAK,EAAE,KAAK,CAAC,YAAY;AACpD,QAAI,SAAS;AACT,cAAQ,UAAU;AAAA,IACtB;AAAA,EACJ,CAAC;AACD,MAAI,OAAO,QAAQ;AACf,QAAI,OAAO,OAAO,WAAW,UAAU;AACnC,cAAQ,OAAO,IAAI,OAAO,QAAQ,OAAO,MAAM;AAAA,IACnD,OACK;AACD,cAAQ,OAAO,IAAI,OAAO,OAAO,GAAG,OAAO,OAAO,CAAC;AAAA,IACvD;AAAA,EACJ;AACA,SAAO,gBAAgB,QAAQ,cAAc,OAAO;AACpD,WAAS,SAAS,OAAO,UAAU;AAC/B,QAAI,YAAY,OAAO,SAAS,KAAK;AACrC,QAAI,WAAW,wBAAwB,SAAS;AAChD,QAAI,UAAU;AACV,cAAQ,QAAQ,OAAO,QAAQ;AAAA,IACnC;AAAA,EACJ;AACJ;;;AF3GA,IAAqB,cAArB,MAAqB,qBAAoB,aAAiC;AAAA,EACtE,YAAY,SAA+C,WAAoB;AAC3E,UAAM,OAAO;AAejB,qBAAoB;AAdhB,QAAI,WAAW;AACX,WAAK,YAAY;AAAA,IACrB;AAAA,EACJ;AAAA,EACA,IAAa,SAA6B;AACtC,WAAO,iCACA,gBAAgB,IAAI,IADpB;AAAA,MAEH,WAAW;AAAA,MACX,cAAc,EAAE,OAAO,KAAK,UAAU;AAAA,IAC1C;AAAA,EACJ;AAAA,EACA,IAAa,OAAO,QAA4B;AAC5C,oBAAgB,MAAM,MAAM;AAAA,EAChC;AAAA,EAEA,OAAgB,KAAK,QAAqC,WAAqB;AAC3E,QAAI,SAASA,QAAO,KAAK,QAAQ,SAAS;AAC1C,QAAI,WAAW,IAAI,aAAY;AAC/B,aAAS,UAAU,OAAO;AAC1B,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMM,KAAK,OAAgB;AAAA;AACvB,UAAI,CAAC,OAAO;AACR,gBAAQ,KAAK;AAAA,MACjB;AACA,aAAO,WAAW,KAAK,SAAS,EAC3B,KAAK,CAAC,YAAY;AACf,YAAI,SAAS;AACT,eAAK,UAAU;AAAA,QACnB;AAAA,MACJ,CAAC,EACA,MAAM,CAAC,MAAM;AACV,gBAAQ,MAAM,2CAA2C,CAAC;AAAA,MAC9D,CAAC;AAAA,IACT;AAAA;AACJ;;;AIxEA,SAAwD,YAAY;AAoBpE,IAAqB,aAArB,cAAwC,KAA8C;AAAA,EAAtF;AAAA;AAOI,SAAQ,YAA2D,CAAC;AAAA;AAAA,EANpE,IAAI,SAA4B;AAC5B,WAAO,cAAc,IAAI;AAAA,EAC7B;AAAA,EACA,IAAI,OAAO,OAA0B;AACjC,kBAAc,MAAM,KAAK;AAAA,EAC7B;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8BA,QAAoF,OAAU,YAAgB;AAC1G,QAAI,YAAY,WAAW;AAC3B,QAAI,WAAW,4BAA4B,SAAS;AACpD,SAAK,UAAU,KAAK,IAAI;AACxB,QAAI,UAAU;AACV,YAAM,GAAG,OAAO,MAAM;AAClB,QAAC,SAA0C,GAAG,OAAO,IAAI;AAAA,MAC7D,CAAC;AAAA,IACL;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASS,GAAwG,OAAU,IAAuO,SAAqB;AACnX,WAAO,MAAM,GAAG,OAAO,IAAI,OAAO;AAAA,EACtC;AACJ;AAEO,SAAS,cAAoC,SAA4C;AAC5F,MAAI,OAAO,mBAAmB,OAAO;AACrC,SAAO,iCACA,OADA;AAAA,IAEH,WAAW;AAAA,IACX,QAAQ,EAAE,GAAG,QAAQ,OAAO,GAAG,GAAG,QAAQ,OAAO,EAAE;AAAA,IACnD,MAAM,QAAQ;AAAA,IACd,YAAY,QAAQ;AAAA,IACpB,OAAO,aAAa,QAAQ,KAAK;AAAA,IACjC,aAAa,QAAQ;AAAA,IACrB,UAAU,QAAQ;AAAA,EACtB;AACJ;AAEO,SAAS,cAAc,SAAqB,QAA2B;AAC1E,qBAAmB,SAAS,MAAM;AAClC,MAAI,OAAO,QAAQ;AACf,QAAI,OAAO,OAAO,WAAW,UAAU;AACnC,cAAQ,OAAO,IAAI,OAAO,QAAQ,OAAO,MAAM;AAAA,IACnD,OACK;AACD,cAAQ,OAAO,IAAI,OAAO,OAAO,GAAG,OAAO,OAAO,CAAC;AAAA,IACvD;AAAA,EACJ;AACA,SAAO,SAAS,QAAQ,OAAO,OAAO;AACtC,SAAO,eAAe,QAAQ,aAAa,OAAO;AAClD,SAAO,UAAU,QAAQ,QAAQ,OAAO;AACxC,SAAO,gBAAgB,QAAQ,cAAc,OAAO;AACpD,WAAS,SAAS,OAAO,UAAU;AAC/B,QAAI,YAAY,OAAO,SAAS,KAAK;AACrC,QAAI,WAAW,wBAAwB,SAAS;AAChD,QAAI,UAAU;AACV,cAAQ,QAAQ,OAA+B,QAAQ;AAAA,IAC3D;AAAA,EACJ;AACJ;;;ACnHO,IAAM,0BAAoF,CAAC;AAkC3F,SAAS,oCAA+D,YAAiD;AAC5H,MAAI;AACA,QAAI,YAAY,wBAAwB,UAAU;AAClD,QAAI,CAAC,WAAW;AACZ,UAAI,eAAe,mBAAmB;AAClC,oBAAY;AAAA,MAChB,WACS,eAAe,eAAe;AACnC,oBAAY;AAAA,MAChB,WACS,eAAe,gBAAgB;AACpC,oBAAY;AAAA,MAChB,WACS,eAAe,cAAc;AAClC,oBAAY;AAAA,MAChB;AAAA,IACJ;AAEA,QAAI,CAAC,WAAW;AACZ,cAAQ,MAAM,2BAA2B,UAAU,YAAY;AAC/D;AAAA,IACJ;AACA,QAAI,gBAAgB,IAAI,UAAU;AAClC,WAAO;AAAA,EACX,SACO,GAAG;AACN,YAAQ,MAAM,+CAA+C,UAAU,IAAI,CAAC;AAC5E;AAAA,EACJ;AACJ;;;ACzDO,SAAS,iBAAiB,SAAkC;AAC/D,MAAI,gBAAgB,QAAQ;AAC5B,MAAI,gBAAgC;AAAA,IAChC,OAAO,cAAc;AAAA,EACzB;AACA,SAAO;AACX;AAOO,SAAS,oBACZ,SACiB;AACjB,SAAO,QAAQ;AACnB;AAOO,SAAS,oBACZ,QACC;AACD,MAAI,UAAU,oCAAuC,OAAO,SAAS;AACrE,MAAI,SAAS;AACT,YAAQ,SAAS;AAAA,EACrB,OACK;AACD,UAAM,IAAI,MAAM,2BAA2B,OAAO,YAAY,uBAAuB;AAAA,EACzF;AAEA,SAAO;AACX;;;ARxBA,IAAqB,kBAArB,cAA6CD,WAAwD;AAAA,EACjG,IAAI,SAAiC;AACjC,QAAI,SAAS,mBAAmB,IAAI;AACpC,SAAK,SAAS,QAAQ,WAAS;AAC3B,aAAO,SAAS,KAAK,oBAAoB,KAAwB,CAAC;AAAA,IACtE,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EACA,IAAI,OAAO,OAA+B;AACtC,uBAAmB,MAAM,KAAK;AAC9B,UAAM,SAAS,QAAQ,WAAS;AAC5B,WAAK,SAAS,oBAAoB,KAAK,CAAC;AAAA,IAC5C,CAAC;AAAA,EACL;AACJ;AAEO,SAAS,mBAAwC,SAAoC;AACxF,SAAO;AAAA,IACH,WAAW;AAAA,IACX,UAAU,CAAC;AAAA,IAEX,OAAO,QAAQ;AAAA,IACf,QAAQ,QAAQ;AAAA,IAEhB,eAAe,QAAQ;AAAA,IACvB,WAAW,QAAQ;AAAA,IACnB,MAAM,QAAQ;AAAA,IACd,OAAO,QAAQ;AAAA,IACf,OAAO,QAAQ;AAAA,IACf,YAAY,QAAQ;AAAA,IACpB,UAAU,QAAQ;AAAA,IAClB,OAAO,EAAE,GAAG,QAAQ,MAAM,GAAG,GAAG,QAAQ,MAAM,EAAE;AAAA,IAChD,OAAO,EAAE,GAAG,QAAQ,MAAM,GAAG,GAAG,QAAQ,MAAM,EAAE;AAAA,IAChD,UAAU,EAAE,GAAG,QAAQ,SAAS,GAAG,GAAG,QAAQ,SAAS,EAAE;AAAA,IACzD,MAAM,EAAE,GAAG,QAAQ,KAAK,GAAG,GAAG,QAAQ,KAAK,EAAE;AAAA,IAC7C,SAAS,QAAQ;AAAA,IACjB,QAAQ,QAAQ;AAAA,IAChB,GAAG,QAAQ;AAAA,IACX,GAAG,QAAQ;AAAA,IACX,YAAY,QAAQ;AAAA,IAEpB,QAAQ,QAAQ;AAAA,IAChB,WAAW,QAAQ;AAAA,IACnB,aAAa,QAAQ;AAAA,IACrB,qBAAqB,QAAQ;AAAA,IAC7B,SAAS,QAAQ;AAAA,EACrB;AACJ;AAEO,SAAS,mBAAwC,SAAwB,QAA0B;AACtG,SAAO,UAAU,QAAQ,QAAQ,OAAO;AACxC,SAAO,WAAW,QAAQ,SAAS,OAAO;AAE1C,SAAO,kBAAkB,QAAQ,gBAAgB,OAAO;AACxD,SAAO,cAAc,QAAQ,YAAY,OAAO;AAChD,SAAO,SAAS,QAAQ,OAAO,OAAO;AACtC,SAAO,UAAU,QAAQ,QAAQ,OAAO;AACxC,SAAO,UAAU,QAAQ,QAAQ,OAAO;AACxC,SAAO,eAAe,QAAQ,aAAa,OAAO;AAClD,SAAO,aAAa,QAAQ,WAAW,OAAO;AAC9C,MAAI,OAAO,OAAO;AACd,QAAI,OAAO,OAAO,UAAU,UAAU;AAClC,cAAQ,MAAM,IAAI,OAAO,OAAO,OAAO,KAAK;AAAA,IAChD,OACK;AACD,cAAQ,MAAM,IAAI,OAAO,MAAM,GAAG,OAAO,MAAM,CAAC;AAAA,IACpD;AAAA,EACJ;AACA,MAAI,OAAO,OAAO;AACd,QAAI,OAAO,OAAO,UAAU,UAAU;AAClC,cAAQ,MAAM,IAAI,OAAO,OAAO,OAAO,KAAK;AAAA,IAChD,OACK;AACD,cAAQ,MAAM,IAAI,OAAO,MAAM,GAAG,OAAO,MAAM,CAAC;AAAA,IACpD;AAAA,EACJ;AACA,SAAO,YAAa,QAAQ,SAAS,IAAI,OAAO,SAAS,GAAG,OAAO,SAAS,CAAC;AAC7E,SAAO,QAAS,QAAQ,KAAK,IAAI,OAAO,KAAK,GAAG,OAAO,KAAK,CAAC;AAC7D,SAAO,YAAY,QAAQ,UAAU,OAAO;AAC5C,SAAO,WAAW,QAAQ,SAAS,OAAO;AAC1C,SAAO,MAAM,QAAQ,IAAI,OAAO;AAChC,SAAO,MAAM,QAAQ,IAAI,OAAO;AAChC,SAAO,eAAe,QAAQ,aAAa,OAAO;AAElD,SAAO,WAAW,QAAQ,SAAS,OAAO;AAC1C,SAAO,cAAc,QAAQ,YAAY,OAAO;AAChD,SAAO,gBAAgB,QAAQ,cAAc,OAAO;AACpD,SAAO,wBAAwB,QAAQ,sBAAsB,OAAO;AACpE,SAAO,YAAY,QAAQ,UAAU,OAAO;AAChD","sourcesContent":["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 { 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 { 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","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"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/classes/canvas/CanvasContainer.ts","../../../src/classes/canvas/CanvasBase.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","../../../src/functions/CanvasUtility.ts"],"names":["Container","Sprite"],"mappings":"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","sourcesContent":["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 { 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 { 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","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"]}
|