@turnipxenon/pineapple 1.1.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/README.md +38 -0
- package/dist/app.postcss +94 -0
- package/dist/assets/bg_tiled/bg_tiled_ares.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_corn.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_pineapple.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_reinhard.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_tomato.png +0 -0
- package/dist/assets/bg_tiled/bg_tiled_turnip.png +0 -0
- package/dist/assets/characters/ares/ares_blushing.webp +0 -0
- package/dist/assets/characters/ares/ares_disappointed.webp +0 -0
- package/dist/assets/characters/ares/ares_happy.webp +0 -0
- package/dist/assets/characters/ares/ares_lets_go.webp +0 -0
- package/dist/assets/characters/ares/ares_logo.webp +0 -0
- package/dist/assets/characters/ares/ares_mad.webp +0 -0
- package/dist/assets/characters/ares/ares_neutral.webp +0 -0
- package/dist/assets/characters/ares/ares_slightly_mad.webp +0 -0
- package/dist/assets/characters/ares/ares_surprised.webp +0 -0
- package/dist/assets/characters/ares/ares_yay.webp +0 -0
- package/dist/assets/game_dev/footage-chef-wings.gif +0 -0
- package/dist/assets/game_dev/footage-depreciation.webm +0 -0
- package/dist/assets/game_dev/footage-thinking-of-flowers.webm +0 -0
- package/dist/assets/game_dev/screenshot-game-jam-mama.png +0 -0
- package/dist/assets/game_dev/screenshot-string-hop.png +0 -0
- package/dist/assets/game_dev/screenshot-wet-ass-road.png +0 -0
- package/dist/assets/icons/chat_cursor.svg +47 -0
- package/dist/assets/icons/external_link.svg +50 -0
- package/dist/assets/temp/background-image.jpg +0 -0
- package/dist/assets/temp/bitbucket-logo.png +0 -0
- package/dist/assets/temp/github-logo.png +0 -0
- package/dist/assets/temp/header-hep-cat.mp4 +0 -0
- package/dist/assets/temp/header-hep-cat.ogg +0 -0
- package/dist/assets/temp/header-hep-cat.webm +0 -0
- package/dist/assets/temp/header-pengi.mp4 +0 -0
- package/dist/assets/temp/header-pengi.webm +0 -0
- package/dist/assets/temp/header-soulwork.mp4 +0 -0
- package/dist/assets/temp/header-soulwork.ogg +0 -0
- package/dist/assets/temp/header-soulwork.webm +0 -0
- package/dist/components/DialogOverlay.svelte +93 -0
- package/dist/components/DialogOverlay.svelte.d.ts +14 -0
- package/dist/components/LazyAsset.svelte +96 -0
- package/dist/components/LazyAsset.svelte.d.ts +20 -0
- package/dist/components/LazyAssetType.d.ts +10 -0
- package/dist/components/LazyAssetType.js +12 -0
- package/dist/components/PineappleBaseLayout.svelte +186 -0
- package/dist/components/PineappleBaseLayout.svelte.d.ts +19 -0
- package/dist/components/RandomizedBackground.svelte +62 -0
- package/dist/components/RandomizedBackground.svelte.d.ts +16 -0
- package/dist/components/RandomizedImage.svelte +29 -0
- package/dist/components/RandomizedImage.svelte.d.ts +17 -0
- package/dist/components/dialog_manager/DialogManager.d.ts +77 -0
- package/dist/components/dialog_manager/DialogManager.js +239 -0
- package/dist/components/dialog_manager/DialogManagerStore.d.ts +41 -0
- package/dist/components/dialog_manager/DialogManagerStore.js +45 -0
- package/dist/components/dialog_manager/DialogProcessor.d.ts +13 -0
- package/dist/components/dialog_manager/DialogProcessor.js +62 -0
- package/dist/components/dialog_manager/DialogUtils.d.ts +5 -0
- package/dist/components/dialog_manager/DialogUtils.js +8 -0
- package/dist/components/dialog_manager/behavior_tree/core/BTreeUtils.d.ts +15 -0
- package/dist/components/dialog_manager/behavior_tree/core/BTreeUtils.js +34 -0
- package/dist/components/dialog_manager/behavior_tree/core/BaseBehaviorResult.d.ts +4 -0
- package/dist/components/dialog_manager/behavior_tree/core/BaseBehaviorResult.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorNode.d.ts +3 -0
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorNode.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorStatus.d.ts +5 -0
- package/dist/components/dialog_manager/behavior_tree/core/BehaviorStatus.js +6 -0
- package/dist/components/dialog_manager/behavior_tree/core/SelectorNode.d.ts +12 -0
- package/dist/components/dialog_manager/behavior_tree/core/SelectorNode.js +22 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionArguments.d.ts +5 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionArguments.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionBehaviorNode.d.ts +4 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionBehaviorNode.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionEvaluator.d.ts +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionEvaluator.js +220 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionResult.d.ts +5 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionResult.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionSelectorNode.d.ts +8 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionSelectorNode.js +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionState.d.ts +3 -0
- package/dist/components/dialog_manager/behavior_tree/expression/ExpressionState.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/expression/OperandNode.d.ts +10 -0
- package/dist/components/dialog_manager/behavior_tree/expression/OperandNode.js +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/OperatorNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/expression/OperatorNode.js +30 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandExpressionNode.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandExpressionNode.js +21 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandLogicNode.d.ts +9 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandLogicNode.js +19 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandMap.d.ts +9 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/CommandMap.js +18 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/RandomRangeCommand.d.ts +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/RandomRangeCommand.js +24 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCommand.d.ts +20 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCommand.js +32 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCountCommand.d.ts +13 -0
- package/dist/components/dialog_manager/behavior_tree/expression/commands/VisitedCountCommand.js +25 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/AndOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/AndOperator.js +15 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/EqualityOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/EqualityOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanEqualOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanEqualOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/GreaterThanOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/InequalityOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/InequalityOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanEqualOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanEqualOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/LessThanOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/NegationOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/NegationOperator.js +13 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorLogicNode.d.ts +17 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorLogicNode.js +32 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorMap.d.ts +9 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OperatorMap.js +47 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OrOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/OrOperator.js +13 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/XorOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/XorOperator.js +17 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/DivisionOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/DivisionOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MinusOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MinusOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MultiplicationOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MultiplicationOperator.js +12 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/RemainderDivisionOperator.d.ts +7 -0
- package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/RemainderDivisionOperator.js +14 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorNode.d.ts +4 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorNode.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorResult.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineBehaviorResult.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineNodeArguments.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineNodeArguments.js +1 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineSelectorNode.d.ts +8 -0
- package/dist/components/dialog_manager/behavior_tree/line_core/LineSelectorNode.js +15 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/BehaviorState.d.ts +5 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/BehaviorState.js +5 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseIfNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseIfNode.js +53 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/ElseNode.js +49 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/EndIfNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/EndIfNode.js +23 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfMode.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfMode.js +8 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfNode.d.ts +12 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IfNode.js +43 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreGuardNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreGuardNode.js +25 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreJumpNode.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/IgnoreJumpNode.js +18 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/LineCommentNode.d.ts +6 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/LineCommentNode.js +17 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.d.ts +10 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.js +38 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/SetVariableNode.d.ts +11 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/SetVariableNode.js +31 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.d.ts +8 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.js +39 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.d.ts +8 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.js +40 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/UnvisitCommand.d.ts +9 -0
- package/dist/components/dialog_manager/behavior_tree/line_processors/commands/UnvisitCommand.js +28 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/scripts/SetDefaultEnvironment.d.ts +1 -0
- package/dist/scripts/SetDefaultEnvironment.js +41 -0
- package/dist/scripts/pineapple_fiber/PineappleWeaver.d.ts +9 -0
- package/dist/scripts/pineapple_fiber/PineappleWeaver.js +201 -0
- package/dist/scripts/util/FileManagement.d.ts +7 -0
- package/dist/scripts/util/FileManagement.js +35 -0
- package/dist/scripts/util/ManualCheck.d.ts +1 -0
- package/dist/scripts/util/ManualCheck.js +28 -0
- package/dist/scripts/util/ManualCheckRun.d.ts +1 -0
- package/dist/scripts/util/ManualCheckRun.js +6 -0
- package/dist/store.d.ts +17 -0
- package/dist/store.js +17 -0
- package/dist/styles/DefaultGridContainer.css +61 -0
- package/dist/theme.postcss +107 -0
- package/dist/types/BlogBlurbMeta.d.ts +11 -0
- package/dist/types/BlogBlurbMeta.js +16 -0
- package/dist/types/BreadcrumbData.d.ts +4 -0
- package/dist/types/BreadcrumbData.js +1 -0
- package/dist/types/pineapple_fiber/DialogDetail.d.ts +6 -0
- package/dist/types/pineapple_fiber/DialogDetail.js +1 -0
- package/dist/types/pineapple_fiber/DialogState.d.ts +5 -0
- package/dist/types/pineapple_fiber/DialogState.js +6 -0
- package/dist/types/pineapple_fiber/DialogVariableStore.d.ts +2 -0
- package/dist/types/pineapple_fiber/DialogVariableStore.js +20 -0
- package/dist/types/pineapple_fiber/PortraitType.d.ts +11 -0
- package/dist/types/pineapple_fiber/PortraitType.js +12 -0
- package/dist/util/stable_random.d.ts +2 -0
- package/dist/util/stable_random.js +15 -0
- package/package.json +67 -0
- package/src/app.html +13 -0
- package/src/lib/app.postcss +94 -0
- package/src/lib/assets/bg_tiled/bg_tiled_ares.png +0 -0
- package/src/lib/assets/bg_tiled/bg_tiled_corn.png +0 -0
- package/src/lib/assets/bg_tiled/bg_tiled_pineapple.png +0 -0
- package/src/lib/assets/bg_tiled/bg_tiled_reinhard.png +0 -0
- package/src/lib/assets/bg_tiled/bg_tiled_tomato.png +0 -0
- package/src/lib/assets/bg_tiled/bg_tiled_turnip.png +0 -0
- package/src/lib/assets/characters/ares/ares_blushing.webp +0 -0
- package/src/lib/assets/characters/ares/ares_disappointed.webp +0 -0
- package/src/lib/assets/characters/ares/ares_happy.webp +0 -0
- package/src/lib/assets/characters/ares/ares_lets_go.webp +0 -0
- package/src/lib/assets/characters/ares/ares_logo.webp +0 -0
- package/src/lib/assets/characters/ares/ares_mad.webp +0 -0
- package/src/lib/assets/characters/ares/ares_neutral.webp +0 -0
- package/src/lib/assets/characters/ares/ares_slightly_mad.webp +0 -0
- package/src/lib/assets/characters/ares/ares_surprised.webp +0 -0
- package/src/lib/assets/characters/ares/ares_yay.webp +0 -0
- package/src/lib/assets/game_dev/footage-chef-wings.gif +0 -0
- package/src/lib/assets/game_dev/footage-depreciation.webm +0 -0
- package/src/lib/assets/game_dev/footage-thinking-of-flowers.webm +0 -0
- package/src/lib/assets/game_dev/screenshot-game-jam-mama.png +0 -0
- package/src/lib/assets/game_dev/screenshot-string-hop.png +0 -0
- package/src/lib/assets/game_dev/screenshot-wet-ass-road.png +0 -0
- package/src/lib/assets/icons/chat_cursor.svg +47 -0
- package/src/lib/assets/icons/external_link.svg +50 -0
- package/src/lib/assets/temp/background-image.jpg +0 -0
- package/src/lib/assets/temp/bitbucket-logo.png +0 -0
- package/src/lib/assets/temp/github-logo.png +0 -0
- package/src/lib/assets/temp/header-hep-cat.mp4 +0 -0
- package/src/lib/assets/temp/header-hep-cat.ogg +0 -0
- package/src/lib/assets/temp/header-hep-cat.webm +0 -0
- package/src/lib/assets/temp/header-pengi.mp4 +0 -0
- package/src/lib/assets/temp/header-pengi.webm +0 -0
- package/src/lib/assets/temp/header-soulwork.mp4 +0 -0
- package/src/lib/assets/temp/header-soulwork.ogg +0 -0
- package/src/lib/assets/temp/header-soulwork.webm +0 -0
- package/src/lib/components/DialogOverlay.svelte +100 -0
- package/src/lib/components/LazyAsset.svelte +114 -0
- package/src/lib/components/LazyAssetType.ts +11 -0
- package/src/lib/components/PineappleBaseLayout.svelte +165 -0
- package/src/lib/components/RandomizedBackground.svelte +77 -0
- package/src/lib/components/RandomizedImage.svelte +31 -0
- package/src/lib/components/dialog_manager/DialogManager.ts +282 -0
- package/src/lib/components/dialog_manager/DialogManagerStore.ts +52 -0
- package/src/lib/components/dialog_manager/DialogProcessor.ts +68 -0
- package/src/lib/components/dialog_manager/DialogUtils.ts +10 -0
- package/src/lib/components/dialog_manager/behavior_tree/core/BTreeUtils.ts +40 -0
- package/src/lib/components/dialog_manager/behavior_tree/core/BaseBehaviorResult.ts +5 -0
- package/src/lib/components/dialog_manager/behavior_tree/core/BehaviorNode.ts +3 -0
- package/src/lib/components/dialog_manager/behavior_tree/core/BehaviorStatus.ts +5 -0
- package/src/lib/components/dialog_manager/behavior_tree/core/SelectorNode.ts +32 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/ExpressionArguments.ts +6 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/ExpressionBehaviorNode.ts +5 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/ExpressionEvaluator.ts +236 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/ExpressionResult.ts +6 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/ExpressionSelectorNode.ts +20 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/ExpressionState.ts +3 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/OperandNode.ts +19 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/OperatorNode.ts +37 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/commands/CommandExpressionNode.ts +28 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/commands/CommandLogicNode.ts +34 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/commands/CommandMap.ts +26 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/commands/RandomRangeCommand.ts +31 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/commands/VisitedCommand.ts +38 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/commands/VisitedCountCommand.ts +28 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/AndOperator.ts +24 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/EqualityOperator.ts +21 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/GreaterThanEqualOperator.ts +21 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/GreaterThanOperator.ts +21 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/InequalityOperator.ts +19 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/LessThanEqualOperator.ts +21 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/LessThanOperator.ts +21 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/NegationOperator.ts +20 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/OperatorLogicNode.ts +42 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/OperatorMap.ts +53 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/OrOperator.ts +22 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/XorOperator.ts +24 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/arithmetic/DivisionOperator.ts +23 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MinusOperator.ts +23 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/arithmetic/MultiplicationOperator.ts +21 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.ts +23 -0
- package/src/lib/components/dialog_manager/behavior_tree/expression/operators/arithmetic/RemainderDivisionOperator.ts +23 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_core/LineBehaviorNode.ts +5 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_core/LineBehaviorResult.ts +7 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_core/LineNodeArguments.ts +7 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_core/LineSelectorNode.ts +20 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/BehaviorState.ts +6 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/ElseIfNode.ts +59 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/ElseNode.ts +55 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/EndIfNode.ts +28 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/IfMode.ts +7 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/IfNode.ts +49 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/IgnoreGuardNode.ts +30 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/IgnoreJumpNode.ts +24 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/LineCommentNode.ts +22 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.ts +48 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/SetVariableNode.ts +37 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.ts +48 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/commands/JumpCommand.ts +51 -0
- package/src/lib/components/dialog_manager/behavior_tree/line_processors/commands/UnvisitCommand.ts +34 -0
- package/src/lib/index.ts +9 -0
- package/src/lib/scripts/SetDefaultEnvironment.ts +45 -0
- package/src/lib/scripts/pineapple_fiber/PineappleWeaver.ts +252 -0
- package/src/lib/scripts/util/FileManagement.ts +38 -0
- package/src/lib/scripts/util/ManualCheck.ts +32 -0
- package/src/lib/scripts/util/ManualCheckRun.ts +7 -0
- package/src/lib/store.ts +18 -0
- package/src/lib/styles/DefaultGridContainer.css +61 -0
- package/src/lib/theme.postcss +107 -0
- package/src/lib/types/BlogBlurbMeta.ts +16 -0
- package/src/lib/types/BreadcrumbData.ts +4 -0
- package/src/lib/types/pineapple_fiber/DialogDetail.ts +7 -0
- package/src/lib/types/pineapple_fiber/DialogState.ts +5 -0
- package/src/lib/types/pineapple_fiber/DialogVariableStore.ts +24 -0
- package/src/lib/types/pineapple_fiber/PortraitType.ts +11 -0
- package/src/lib/util/stable_random.ts +16 -0
- package/src/routes/+error.svelte +26 -0
- package/src/routes/+layout.svelte +23 -0
- package/src/routes/+page.svelte +41 -0
- package/src/routes/Error.yarn +7 -0
- package/src/routes/ErrorYarn.ts +24 -0
- package/src/routes/portfolio/+page.svelte +0 -0
- package/src/types.d.ts +8 -0
- package/static/default-card.png +0 -0
- package/static/favicon.png +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OperatorLogicNode, OperatorType } from "../OperatorLogicNode";
|
|
2
|
+
export class MinusOperator extends OperatorLogicNode {
|
|
3
|
+
doOperation = (currentOperands, nodeArgs) => {
|
|
4
|
+
// todo: evaluate possible weird cases when doing number comparisons
|
|
5
|
+
// ISSUE #88 https://github.com/TurnipXenon/pineapple/issues/88
|
|
6
|
+
nodeArgs.initState.operandStack.push(String(Number(currentOperands[0]) - Number(currentOperands[1])));
|
|
7
|
+
};
|
|
8
|
+
getOperatorType = () => {
|
|
9
|
+
return OperatorType.Binary;
|
|
10
|
+
};
|
|
11
|
+
getToken = () => {
|
|
12
|
+
return "-";
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OperatorLogicNode, OperatorType } from "../OperatorLogicNode";
|
|
2
|
+
import type { ExpressionArguments } from "../../ExpressionArguments";
|
|
3
|
+
export declare class MultiplicationOperator extends OperatorLogicNode {
|
|
4
|
+
doOperation: (currentOperands: string[], nodeArgs: ExpressionArguments) => void;
|
|
5
|
+
getOperatorType: () => OperatorType;
|
|
6
|
+
getToken: () => string;
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OperatorLogicNode, OperatorType } from "../OperatorLogicNode";
|
|
2
|
+
export class MultiplicationOperator extends OperatorLogicNode {
|
|
3
|
+
doOperation = (currentOperands, nodeArgs) => {
|
|
4
|
+
nodeArgs.initState.operandStack.push(String(Number(currentOperands[0]) * Number(currentOperands[1])));
|
|
5
|
+
};
|
|
6
|
+
getOperatorType = () => {
|
|
7
|
+
return OperatorType.Binary;
|
|
8
|
+
};
|
|
9
|
+
getToken = () => {
|
|
10
|
+
return "*";
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OperatorLogicNode, OperatorType } from "../OperatorLogicNode";
|
|
2
|
+
import type { ExpressionArguments } from "../../ExpressionArguments";
|
|
3
|
+
export declare class AddOperator extends OperatorLogicNode {
|
|
4
|
+
doOperation: (currentOperands: string[], nodeArgs: ExpressionArguments) => void;
|
|
5
|
+
getOperatorType: () => OperatorType;
|
|
6
|
+
getToken: () => string;
|
|
7
|
+
}
|
package/dist/components/dialog_manager/behavior_tree/expression/operators/arithmetic/PlusOperator.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OperatorLogicNode, OperatorType } from "../OperatorLogicNode";
|
|
2
|
+
export class AddOperator extends OperatorLogicNode {
|
|
3
|
+
doOperation = (currentOperands, nodeArgs) => {
|
|
4
|
+
// todo: evaluate possible weird cases when doing number comparisons
|
|
5
|
+
// ISSUE #88 https://github.com/TurnipXenon/pineapple/issues/88
|
|
6
|
+
nodeArgs.initState.operandStack.push(String(Number(currentOperands[0]) + Number(currentOperands[1])));
|
|
7
|
+
};
|
|
8
|
+
getOperatorType = () => {
|
|
9
|
+
return OperatorType.Binary;
|
|
10
|
+
};
|
|
11
|
+
getToken = () => {
|
|
12
|
+
return "+";
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OperatorLogicNode, OperatorType } from "../OperatorLogicNode";
|
|
2
|
+
import type { ExpressionArguments } from "../../ExpressionArguments";
|
|
3
|
+
export declare class RemainderDivisionOperator extends OperatorLogicNode {
|
|
4
|
+
doOperation: (currentOperands: string[], nodeArgs: ExpressionArguments) => void;
|
|
5
|
+
getOperatorType: () => OperatorType;
|
|
6
|
+
getToken: () => string;
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OperatorLogicNode, OperatorType } from "../OperatorLogicNode";
|
|
2
|
+
export class RemainderDivisionOperator extends OperatorLogicNode {
|
|
3
|
+
doOperation = (currentOperands, nodeArgs) => {
|
|
4
|
+
// todo: Add division protection
|
|
5
|
+
// ISSUE #96 https://github.com/TurnipXenon/pineapple/issues/96
|
|
6
|
+
nodeArgs.initState.operandStack.push(String(Number(currentOperands[0]) % Number(currentOperands[1])));
|
|
7
|
+
};
|
|
8
|
+
getOperatorType = () => {
|
|
9
|
+
return OperatorType.Binary;
|
|
10
|
+
};
|
|
11
|
+
getToken = () => {
|
|
12
|
+
return "%";
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SelectorNode } from "../core/SelectorNode";
|
|
2
|
+
import type { LineNodeArguments } from "./LineNodeArguments";
|
|
3
|
+
import type { LineBehaviorResult } from "./LineBehaviorResult";
|
|
4
|
+
import type { LineBehaviorNode } from "./LineBehaviorNode";
|
|
5
|
+
export declare class LineSelectorNode extends SelectorNode<LineNodeArguments, LineBehaviorResult> {
|
|
6
|
+
constructor(nodeList: LineBehaviorNode[]);
|
|
7
|
+
defaultResult: () => LineBehaviorResult;
|
|
8
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SelectorNode } from "../core/SelectorNode";
|
|
2
|
+
import { BehaviorState } from "../line_processors/BehaviorState";
|
|
3
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
4
|
+
export class LineSelectorNode extends SelectorNode {
|
|
5
|
+
constructor(nodeList) {
|
|
6
|
+
super(nodeList);
|
|
7
|
+
}
|
|
8
|
+
defaultResult = () => {
|
|
9
|
+
return {
|
|
10
|
+
nextState: new BehaviorState(),
|
|
11
|
+
renderedLine: "",
|
|
12
|
+
status: BehaviorStatus.Failure
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LineNodeArguments } from "../line_core/LineNodeArguments";
|
|
2
|
+
import type { LineBehaviorResult } from "../line_core/LineBehaviorResult";
|
|
3
|
+
import type { LineBehaviorNode } from "../line_core/LineBehaviorNode";
|
|
4
|
+
/**
|
|
5
|
+
* ElseIfNode is a leaf node that returns:
|
|
6
|
+
* - Success if it is an elseif node, and updates the behaviorState
|
|
7
|
+
* - Failure if it is not an elseif node
|
|
8
|
+
*/
|
|
9
|
+
export declare class ElseIfNode implements LineBehaviorNode {
|
|
10
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
11
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
2
|
+
import { btreeUtils } from "../core/BTreeUtils";
|
|
3
|
+
import { IfMode } from "./IfMode";
|
|
4
|
+
import { expressionEvaluator } from "../expression/ExpressionEvaluator";
|
|
5
|
+
/**
|
|
6
|
+
* ElseIfNode is a leaf node that returns:
|
|
7
|
+
* - Success if it is an elseif node, and updates the behaviorState
|
|
8
|
+
* - Failure if it is not an elseif node
|
|
9
|
+
*/
|
|
10
|
+
export class ElseIfNode {
|
|
11
|
+
process(nodeArgs) {
|
|
12
|
+
if (!nodeArgs.line.startsWith("<<elseif")) {
|
|
13
|
+
return {
|
|
14
|
+
nextState: nodeArgs.initState,
|
|
15
|
+
renderedLine: "",
|
|
16
|
+
status: BehaviorStatus.Failure
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const currentIfMode = btreeUtils.peek(nodeArgs.initState.ifModeStack);
|
|
20
|
+
switch (currentIfMode) {
|
|
21
|
+
case IfMode.Search:
|
|
22
|
+
// probably a syntax error
|
|
23
|
+
console.error("Syntax error found in yarn dialog!");
|
|
24
|
+
console.error(`Check out line ${nodeArgs.lineIndex + 1}: ${nodeArgs.line}`);
|
|
25
|
+
break;
|
|
26
|
+
case IfMode.Ignore:
|
|
27
|
+
// just move on
|
|
28
|
+
break;
|
|
29
|
+
case IfMode.Evaluated:
|
|
30
|
+
// previous case was true therefore ignore
|
|
31
|
+
nodeArgs.initState.ifModeStack.pop();
|
|
32
|
+
nodeArgs.initState.ifModeStack.push(IfMode.Ignore);
|
|
33
|
+
break;
|
|
34
|
+
case IfMode.EvaluateNext:
|
|
35
|
+
// since all the previous evaluations were false,
|
|
36
|
+
// let's try evaluating this like the if statement
|
|
37
|
+
if (expressionEvaluator.evaluate(nodeArgs.line, "<<elseif")) {
|
|
38
|
+
nodeArgs.initState.ifModeStack.pop();
|
|
39
|
+
nodeArgs.initState.ifModeStack.push(IfMode.Evaluated);
|
|
40
|
+
} // else: retain the EvaluateNext status
|
|
41
|
+
break;
|
|
42
|
+
default:
|
|
43
|
+
console.error("Unimplemented if state!");
|
|
44
|
+
console.error(`Check out line ${nodeArgs.lineIndex + 1}: ${nodeArgs.line}`);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
nextState: nodeArgs.initState,
|
|
49
|
+
renderedLine: "",
|
|
50
|
+
status: BehaviorStatus.Success
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LineNodeArguments } from "../line_core/LineNodeArguments";
|
|
2
|
+
import type { LineBehaviorResult } from "../line_core/LineBehaviorResult";
|
|
3
|
+
import type { LineBehaviorNode } from "../line_core/LineBehaviorNode";
|
|
4
|
+
/**
|
|
5
|
+
* ElseNode is a leaf node that returns:
|
|
6
|
+
* - Success if it is an else node, and updates the behaviorState
|
|
7
|
+
* - Failure if it is not an else node
|
|
8
|
+
*/
|
|
9
|
+
export declare class ElseNode implements LineBehaviorNode {
|
|
10
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
11
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
2
|
+
import { btreeUtils } from "../core/BTreeUtils";
|
|
3
|
+
import { IfMode } from "./IfMode";
|
|
4
|
+
/**
|
|
5
|
+
* ElseNode is a leaf node that returns:
|
|
6
|
+
* - Success if it is an else node, and updates the behaviorState
|
|
7
|
+
* - Failure if it is not an else node
|
|
8
|
+
*/
|
|
9
|
+
export class ElseNode {
|
|
10
|
+
process(nodeArgs) {
|
|
11
|
+
if (!nodeArgs.line.startsWith("<<else>>")) {
|
|
12
|
+
return {
|
|
13
|
+
nextState: nodeArgs.initState,
|
|
14
|
+
renderedLine: "",
|
|
15
|
+
status: BehaviorStatus.Failure
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const currentIfMode = btreeUtils.peek(nodeArgs.initState.ifModeStack);
|
|
19
|
+
switch (currentIfMode) {
|
|
20
|
+
case IfMode.Search:
|
|
21
|
+
// probably a syntax error
|
|
22
|
+
console.error("Syntax error found in yarn dialog!");
|
|
23
|
+
console.error(`Check out line ${nodeArgs.lineIndex + 1}: ${nodeArgs.line}`);
|
|
24
|
+
break;
|
|
25
|
+
case IfMode.Ignore:
|
|
26
|
+
// just move on
|
|
27
|
+
break;
|
|
28
|
+
case IfMode.Evaluated:
|
|
29
|
+
// previous case was true therefore ignore
|
|
30
|
+
nodeArgs.initState.ifModeStack.pop();
|
|
31
|
+
nodeArgs.initState.ifModeStack.push(IfMode.Ignore);
|
|
32
|
+
break;
|
|
33
|
+
case IfMode.EvaluateNext:
|
|
34
|
+
// since all the previous evaluations were false, now let's do everything inside!
|
|
35
|
+
nodeArgs.initState.ifModeStack.pop();
|
|
36
|
+
nodeArgs.initState.ifModeStack.push(IfMode.Evaluated);
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
console.error("Unimplemented if state!");
|
|
40
|
+
console.error(`Check out line ${nodeArgs.lineIndex + 1}: ${nodeArgs.line}`);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
nextState: nodeArgs.initState,
|
|
45
|
+
renderedLine: "",
|
|
46
|
+
status: BehaviorStatus.Success
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LineNodeArguments } from "../line_core/LineNodeArguments";
|
|
2
|
+
import type { LineBehaviorResult } from "../line_core/LineBehaviorResult";
|
|
3
|
+
import type { LineBehaviorNode } from "../line_core/LineBehaviorNode";
|
|
4
|
+
/**
|
|
5
|
+
* EndIfNode is a leaf node returns the following results:
|
|
6
|
+
* - Success: if it is an endif node, and updates the behaviorState
|
|
7
|
+
* - Failure: if it is not an endif node
|
|
8
|
+
*/
|
|
9
|
+
export declare class EndIfNode implements LineBehaviorNode {
|
|
10
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
11
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
2
|
+
/**
|
|
3
|
+
* EndIfNode is a leaf node returns the following results:
|
|
4
|
+
* - Success: if it is an endif node, and updates the behaviorState
|
|
5
|
+
* - Failure: if it is not an endif node
|
|
6
|
+
*/
|
|
7
|
+
export class EndIfNode {
|
|
8
|
+
process(nodeArgs) {
|
|
9
|
+
if (!nodeArgs.line.startsWith("<<endif>>")) {
|
|
10
|
+
return {
|
|
11
|
+
nextState: nodeArgs.initState,
|
|
12
|
+
renderedLine: "",
|
|
13
|
+
status: BehaviorStatus.Failure
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
nodeArgs.initState.ifModeStack.pop();
|
|
17
|
+
return {
|
|
18
|
+
nextState: nodeArgs.initState,
|
|
19
|
+
renderedLine: "",
|
|
20
|
+
status: BehaviorStatus.Success
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// interpreter states
|
|
2
|
+
export var IfMode;
|
|
3
|
+
(function (IfMode) {
|
|
4
|
+
IfMode[IfMode["Search"] = 0] = "Search";
|
|
5
|
+
IfMode[IfMode["Ignore"] = 1] = "Ignore";
|
|
6
|
+
IfMode[IfMode["Evaluated"] = 2] = "Evaluated";
|
|
7
|
+
IfMode[IfMode["EvaluateNext"] = 3] = "EvaluateNext"; // find the next elseif, else, or endif and evaluate if possible
|
|
8
|
+
})(IfMode || (IfMode = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LineNodeArguments } from "../line_core/LineNodeArguments";
|
|
2
|
+
import type { LineBehaviorResult } from "../line_core/LineBehaviorResult";
|
|
3
|
+
import type { LineBehaviorNode } from "../line_core/LineBehaviorNode";
|
|
4
|
+
/**
|
|
5
|
+
* IfNode is a leaf node which tries to determine whether the current line is an
|
|
6
|
+
* if statement and returns:
|
|
7
|
+
* - Success: if it is an if node, successfully processes a line, and updates the behaviorState
|
|
8
|
+
* - Failure: if it is not an if node or we did not want to process the line
|
|
9
|
+
*/
|
|
10
|
+
export declare class IfNode implements LineBehaviorNode {
|
|
11
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
12
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
2
|
+
import { IfMode } from "./IfMode";
|
|
3
|
+
import { expressionEvaluator } from "../expression/ExpressionEvaluator";
|
|
4
|
+
import { btreeUtils } from "../core/BTreeUtils";
|
|
5
|
+
/**
|
|
6
|
+
* IfNode is a leaf node which tries to determine whether the current line is an
|
|
7
|
+
* if statement and returns:
|
|
8
|
+
* - Success: if it is an if node, successfully processes a line, and updates the behaviorState
|
|
9
|
+
* - Failure: if it is not an if node or we did not want to process the line
|
|
10
|
+
*/
|
|
11
|
+
export class IfNode {
|
|
12
|
+
process(nodeArgs) {
|
|
13
|
+
if (!nodeArgs.line.startsWith("<<if")) {
|
|
14
|
+
return {
|
|
15
|
+
renderedLine: "",
|
|
16
|
+
nextState: nodeArgs.initState,
|
|
17
|
+
status: BehaviorStatus.Failure
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const currentIfMode = btreeUtils.peek(nodeArgs.initState.ifModeStack);
|
|
21
|
+
if ([IfMode.EvaluateNext, IfMode.Ignore].includes(currentIfMode)) {
|
|
22
|
+
// skip! we found a nested if
|
|
23
|
+
console.log("Skipping if node because");
|
|
24
|
+
nodeArgs.initState.ifModeStack.push(IfMode.Ignore);
|
|
25
|
+
return {
|
|
26
|
+
renderedLine: "",
|
|
27
|
+
nextState: nodeArgs.initState,
|
|
28
|
+
status: BehaviorStatus.Success
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (expressionEvaluator.evaluate(nodeArgs.line, "<<if")) {
|
|
32
|
+
nodeArgs.initState.ifModeStack.push(IfMode.Evaluated);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
nodeArgs.initState.ifModeStack.push(IfMode.EvaluateNext);
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
renderedLine: "",
|
|
39
|
+
nextState: nodeArgs.initState,
|
|
40
|
+
status: BehaviorStatus.Success
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LineNodeArguments } from "../line_core/LineNodeArguments";
|
|
2
|
+
import type { LineBehaviorResult } from "../line_core/LineBehaviorResult";
|
|
3
|
+
import type { LineBehaviorNode } from "../line_core/LineBehaviorNode";
|
|
4
|
+
/**
|
|
5
|
+
* This is a leaf node that returns:
|
|
6
|
+
* - Success: if the currentIfMode is Ignore or EvaluateNext
|
|
7
|
+
* - Failure: otherwise
|
|
8
|
+
*/
|
|
9
|
+
export declare class IgnoreGuardNode implements LineBehaviorNode {
|
|
10
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
11
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { btreeUtils } from "../core/BTreeUtils";
|
|
2
|
+
import { IfMode } from "./IfMode";
|
|
3
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
4
|
+
/**
|
|
5
|
+
* This is a leaf node that returns:
|
|
6
|
+
* - Success: if the currentIfMode is Ignore or EvaluateNext
|
|
7
|
+
* - Failure: otherwise
|
|
8
|
+
*/
|
|
9
|
+
export class IgnoreGuardNode {
|
|
10
|
+
process(nodeArgs) {
|
|
11
|
+
const currentIfMode = btreeUtils.peek(nodeArgs.initState.ifModeStack);
|
|
12
|
+
if ([IfMode.Ignore, IfMode.EvaluateNext].includes(currentIfMode)) {
|
|
13
|
+
return {
|
|
14
|
+
nextState: nodeArgs.initState,
|
|
15
|
+
renderedLine: "",
|
|
16
|
+
status: BehaviorStatus.Success
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
nextState: nodeArgs.initState,
|
|
21
|
+
renderedLine: "",
|
|
22
|
+
status: BehaviorStatus.Failure
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LineBehaviorNode } from "../line_core/LineBehaviorNode";
|
|
2
|
+
import type { LineNodeArguments } from "../line_core/LineNodeArguments";
|
|
3
|
+
import type { LineBehaviorResult } from "../line_core/LineBehaviorResult";
|
|
4
|
+
export declare class IgnoreJumpNode implements LineBehaviorNode {
|
|
5
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
6
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
2
|
+
export class IgnoreJumpNode {
|
|
3
|
+
process(nodeArgs) {
|
|
4
|
+
if (!nodeArgs.line.startsWith("// ignore jumps")) {
|
|
5
|
+
return {
|
|
6
|
+
renderedLine: "",
|
|
7
|
+
nextState: nodeArgs.initState,
|
|
8
|
+
status: BehaviorStatus.Failure
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
nodeArgs.initState.ignoreJumps = true;
|
|
12
|
+
return {
|
|
13
|
+
renderedLine: "",
|
|
14
|
+
nextState: nodeArgs.initState,
|
|
15
|
+
status: BehaviorStatus.Success
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LineBehaviorNode } from "../line_core/LineBehaviorNode";
|
|
2
|
+
import type { LineNodeArguments } from "../line_core/LineNodeArguments";
|
|
3
|
+
import type { LineBehaviorResult } from "../line_core/LineBehaviorResult";
|
|
4
|
+
export declare class LineCommentNode implements LineBehaviorNode {
|
|
5
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
6
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
2
|
+
export class LineCommentNode {
|
|
3
|
+
process(nodeArgs) {
|
|
4
|
+
if (!nodeArgs.line.startsWith("//")) {
|
|
5
|
+
return {
|
|
6
|
+
renderedLine: "",
|
|
7
|
+
nextState: nodeArgs.initState,
|
|
8
|
+
status: BehaviorStatus.Failure
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
renderedLine: "",
|
|
13
|
+
nextState: nodeArgs.initState,
|
|
14
|
+
status: BehaviorStatus.Success
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
package/dist/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LineNodeArguments } from "../line_core/LineNodeArguments";
|
|
2
|
+
import type { LineBehaviorResult } from "../line_core/LineBehaviorResult";
|
|
3
|
+
import type { LineBehaviorNode } from "../line_core/LineBehaviorNode";
|
|
4
|
+
/**
|
|
5
|
+
* This is a leaf node that ALWAYS returns success
|
|
6
|
+
* It processes the line in search for variables it can replace when rendered
|
|
7
|
+
*/
|
|
8
|
+
export declare class NormalLineProcessorNode implements LineBehaviorNode {
|
|
9
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
10
|
+
}
|
package/dist/components/dialog_manager/behavior_tree/line_processors/NormalLineProcessorNode.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { browser } from "$app/environment";
|
|
2
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
3
|
+
/**
|
|
4
|
+
* This is a leaf node that ALWAYS returns success
|
|
5
|
+
* It processes the line in search for variables it can replace when rendered
|
|
6
|
+
*/
|
|
7
|
+
export class NormalLineProcessorNode {
|
|
8
|
+
process(nodeArgs) {
|
|
9
|
+
const renderedLine = nodeArgs.line
|
|
10
|
+
.split("{$") // look for initial token
|
|
11
|
+
.map((token, index) => {
|
|
12
|
+
if (index == 0) {
|
|
13
|
+
return token; // ignore first character
|
|
14
|
+
}
|
|
15
|
+
return token
|
|
16
|
+
.split("}") // split at the end and dont process the rest
|
|
17
|
+
.map((varToken, index) => {
|
|
18
|
+
if (index == 0 && browser) {
|
|
19
|
+
const varValue = localStorage.getItem(`$${varToken}`);
|
|
20
|
+
if (varValue !== null) {
|
|
21
|
+
// null guard
|
|
22
|
+
return varValue;
|
|
23
|
+
}
|
|
24
|
+
// just return the token I guess? LOL
|
|
25
|
+
console.warn(`Null variable in yarn: ${varToken}. Make sure that all variables were set before using them.`);
|
|
26
|
+
}
|
|
27
|
+
return varToken;
|
|
28
|
+
})
|
|
29
|
+
.join(""); // combine all variable replaced strings
|
|
30
|
+
})
|
|
31
|
+
.join(""); // combine all processed strings
|
|
32
|
+
return {
|
|
33
|
+
nextState: nodeArgs.initState,
|
|
34
|
+
renderedLine: renderedLine,
|
|
35
|
+
status: BehaviorStatus.Success
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { LineNodeArguments } from "../line_core/LineNodeArguments";
|
|
2
|
+
import type { LineBehaviorResult } from "../line_core/LineBehaviorResult";
|
|
3
|
+
import type { LineBehaviorNode } from "../line_core/LineBehaviorNode";
|
|
4
|
+
/**
|
|
5
|
+
* This is a leaf node that returns:
|
|
6
|
+
* - Success: if it is a set line, and updates a new entry in localStorage
|
|
7
|
+
* - Failure: if it is not a set line
|
|
8
|
+
*/
|
|
9
|
+
export declare class SetVariableNode implements LineBehaviorNode {
|
|
10
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
11
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BehaviorStatus } from "../core/BehaviorStatus";
|
|
2
|
+
import { btreeUtils } from "../core/BTreeUtils";
|
|
3
|
+
import { dialogVariableStore } from "../../DialogManagerStore";
|
|
4
|
+
import { expressionEvaluator } from "../expression/ExpressionEvaluator";
|
|
5
|
+
/**
|
|
6
|
+
* This is a leaf node that returns:
|
|
7
|
+
* - Success: if it is a set line, and updates a new entry in localStorage
|
|
8
|
+
* - Failure: if it is not a set line
|
|
9
|
+
*/
|
|
10
|
+
export class SetVariableNode {
|
|
11
|
+
process(nodeArgs) {
|
|
12
|
+
if (!nodeArgs.line.startsWith("<<set")) {
|
|
13
|
+
return {
|
|
14
|
+
nextState: nodeArgs.initState,
|
|
15
|
+
renderedLine: "",
|
|
16
|
+
status: BehaviorStatus.Failure
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const setValuePair = nodeArgs.line.split("=");
|
|
20
|
+
const key = setValuePair[0].slice("<<set ".length).trim();
|
|
21
|
+
setValuePair.shift();
|
|
22
|
+
const preValue = setValuePair.join("=").trim();
|
|
23
|
+
const value = expressionEvaluator.evaluateFreeform(preValue, "");
|
|
24
|
+
dialogVariableStore.setItem(key, btreeUtils.peek(value));
|
|
25
|
+
return {
|
|
26
|
+
nextState: nodeArgs.initState,
|
|
27
|
+
renderedLine: "",
|
|
28
|
+
status: BehaviorStatus.Success
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
package/dist/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LineBehaviorNode } from "../../line_core/LineBehaviorNode";
|
|
2
|
+
import type { LineNodeArguments } from "../../line_core/LineNodeArguments";
|
|
3
|
+
import type { LineBehaviorResult } from "../../line_core/LineBehaviorResult";
|
|
4
|
+
import { SetVariableNode } from "../SetVariableNode";
|
|
5
|
+
export declare class DeclareCommand implements LineBehaviorNode {
|
|
6
|
+
setVariableNode: SetVariableNode;
|
|
7
|
+
process(nodeArgs: LineNodeArguments): LineBehaviorResult;
|
|
8
|
+
}
|
package/dist/components/dialog_manager/behavior_tree/line_processors/commands/DeclareCommand.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BehaviorStatus } from "../../core/BehaviorStatus";
|
|
2
|
+
import { SetVariableNode } from "../SetVariableNode";
|
|
3
|
+
export class DeclareCommand {
|
|
4
|
+
setVariableNode = new SetVariableNode();
|
|
5
|
+
process(nodeArgs) {
|
|
6
|
+
if (!nodeArgs.line.startsWith("<<declare")) {
|
|
7
|
+
return {
|
|
8
|
+
renderedLine: "",
|
|
9
|
+
nextState: nodeArgs.initState,
|
|
10
|
+
status: BehaviorStatus.Failure
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
// determine if we need to set?
|
|
14
|
+
const setValuePair = nodeArgs.line.split("=");
|
|
15
|
+
const key = setValuePair[0].slice("<<declare ".length).trim(); // remove "<<declare "
|
|
16
|
+
if (localStorage.getItem(key) !== null) {
|
|
17
|
+
return {
|
|
18
|
+
renderedLine: "",
|
|
19
|
+
nextState: nodeArgs.initState,
|
|
20
|
+
status: BehaviorStatus.Success
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
// if it does not exist, let's set it!
|
|
24
|
+
setValuePair.shift();
|
|
25
|
+
const preValue = setValuePair.join("=").split(" as ");
|
|
26
|
+
preValue.pop(); // remove " as ??? >>"
|
|
27
|
+
const value = preValue.join(" as ");
|
|
28
|
+
const result = this.setVariableNode.process({
|
|
29
|
+
initState: nodeArgs.initState,
|
|
30
|
+
line: `<<set ${key} = ${value}>>`, // faking the line lol
|
|
31
|
+
lineIndex: nodeArgs.lineIndex
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
nextState: result.nextState,
|
|
35
|
+
renderedLine: "",
|
|
36
|
+
status: BehaviorStatus.Success
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|