summaryrefslogtreecommitdiff
path: root/src/client/scripts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2020-07-12 00:38:55 +0900
committerGitHub <noreply@github.com>2020-07-12 00:38:55 +0900
commit9b73e897df134ba57d4ac4d0e6e6924f8ddbc23d (patch)
tree2885511bc46ab67c7ef7b7b40f7598e788edcd18 /src/client/scripts
parentfeat(client): 無限にダイアログを出すように (diff)
downloadsharkey-9b73e897df134ba57d4ac4d0e6e6924f8ddbc23d.tar.gz
sharkey-9b73e897df134ba57d4ac4d0e6e6924f8ddbc23d.tar.bz2
sharkey-9b73e897df134ba57d4ac4d0e6e6924f8ddbc23d.zip
Plugin system (#6479)
* wip * wip * wip * wip * Update store.ts
Diffstat (limited to 'src/client/scripts')
-rw-r--r--src/client/scripts/aiscript/api.ts (renamed from src/client/scripts/create-aiscript-env.ts)15
-rw-r--r--src/client/scripts/hpml/evaluator.ts2
2 files changed, 16 insertions, 1 deletions
diff --git a/src/client/scripts/create-aiscript-env.ts b/src/client/scripts/aiscript/api.ts
index dfa38be385..29baa25b1a 100644
--- a/src/client/scripts/create-aiscript-env.ts
+++ b/src/client/scripts/aiscript/api.ts
@@ -40,3 +40,18 @@ export function createAiScriptEnv(vm, opts) {
}),
};
}
+
+export function createPluginEnv(vm, opts) {
+ return {
+ ...createAiScriptEnv(vm, opts),
+ 'Mk:register_post_form_action': values.FN_NATIVE(([title, handler]) => {
+ vm.$store.commit('registerPostFormAction', { pluginId: opts.plugin.id, title: title.value, handler });
+ }),
+ 'Mk:register_user_action': values.FN_NATIVE(([title, handler]) => {
+ vm.$store.commit('registerUserAction', { pluginId: opts.plugin.id, title: title.value, handler });
+ }),
+ 'Mk:register_note_action': values.FN_NATIVE(([title, handler]) => {
+ vm.$store.commit('registerNoteAction', { pluginId: opts.plugin.id, title: title.value, handler });
+ }),
+ };
+}
diff --git a/src/client/scripts/hpml/evaluator.ts b/src/client/scripts/hpml/evaluator.ts
index f1fcdde0e5..a056884368 100644
--- a/src/client/scripts/hpml/evaluator.ts
+++ b/src/client/scripts/hpml/evaluator.ts
@@ -3,7 +3,7 @@ import * as seedrandom from 'seedrandom';
import { Variable, PageVar, envVarsDef, funcDefs, Block, isFnBlock } from '.';
import { version } from '../../config';
import { AiScript, utils, values } from '@syuilo/aiscript';
-import { createAiScriptEnv } from '../create-aiscript-env';
+import { createAiScriptEnv } from '../aiscript/api';
import { collectPageVars } from '../collect-page-vars';
import { initLib } from './lib';