@sharpee/sharpee 0.9.77-beta → 0.9.79-beta
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/cli/init.d.ts.map +1 -1
- package/cli/init.js +2 -6
- package/cli/init.js.map +1 -1
- package/package.json +18 -18
- package/templates/browser/browser-entry.ts.template +1 -1
- package/templates/story/index.ts.template +20 -17
package/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../repos/sharpee/packages/sharpee/src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../repos/sharpee/packages/sharpee/src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwDH;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuFlE"}
|
package/cli/init.js
CHANGED
|
@@ -42,12 +42,8 @@ exports.runInitCommand = runInitCommand;
|
|
|
42
42
|
const fs = __importStar(require("fs"));
|
|
43
43
|
const path = __importStar(require("path"));
|
|
44
44
|
const readline = __importStar(require("readline"));
|
|
45
|
-
// Template directory relative to this file
|
|
46
|
-
|
|
47
|
-
// Use a fallback to support both layouts.
|
|
48
|
-
const TEMPLATES_DIR = fs.existsSync(path.join(__dirname, '..', 'templates', 'story'))
|
|
49
|
-
? path.join(__dirname, '..', 'templates', 'story')
|
|
50
|
-
: path.join(__dirname, '..', '..', 'templates', 'story');
|
|
45
|
+
// Template directory relative to this file (will be in dist/cli after build)
|
|
46
|
+
const TEMPLATES_DIR = path.join(__dirname, '..', '..', 'templates', 'story');
|
|
51
47
|
/**
|
|
52
48
|
* Prompt user for input
|
|
53
49
|
*/
|
package/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../repos/sharpee/packages/sharpee/src/cli/init.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../repos/sharpee/packages/sharpee/src/cli/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sharpee/sharpee",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.79-beta",
|
|
4
4
|
"description": "Sharpee - Interactive Fiction Engine for TypeScript",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -15,23 +15,23 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@sharpee/core": "^0.9.
|
|
19
|
-
"@sharpee/engine": "^0.9.
|
|
20
|
-
"@sharpee/event-processor": "^0.9.
|
|
21
|
-
"@sharpee/ext-testing": "^0.9.
|
|
22
|
-
"@sharpee/if-domain": "^0.9.
|
|
23
|
-
"@sharpee/if-services": "^0.9.
|
|
24
|
-
"@sharpee/lang-en-us": "^0.9.
|
|
25
|
-
"@sharpee/parser-en-us": "^0.9.
|
|
26
|
-
"@sharpee/platform-browser": "^0.9.
|
|
27
|
-
"@sharpee/plugin-npc": "^0.9.
|
|
28
|
-
"@sharpee/plugin-scheduler": "^0.9.
|
|
29
|
-
"@sharpee/plugin-state-machine": "^0.9.
|
|
30
|
-
"@sharpee/plugins": "^0.9.
|
|
31
|
-
"@sharpee/stdlib": "^0.9.
|
|
32
|
-
"@sharpee/text-blocks": "^0.9.
|
|
33
|
-
"@sharpee/text-service": "^0.9.
|
|
34
|
-
"@sharpee/world-model": "^0.9.
|
|
18
|
+
"@sharpee/core": "^0.9.79-beta",
|
|
19
|
+
"@sharpee/engine": "^0.9.79-beta",
|
|
20
|
+
"@sharpee/event-processor": "^0.9.79-beta",
|
|
21
|
+
"@sharpee/ext-testing": "^0.9.79-beta",
|
|
22
|
+
"@sharpee/if-domain": "^0.9.79-beta",
|
|
23
|
+
"@sharpee/if-services": "^0.9.79-beta",
|
|
24
|
+
"@sharpee/lang-en-us": "^0.9.79-beta",
|
|
25
|
+
"@sharpee/parser-en-us": "^0.9.79-beta",
|
|
26
|
+
"@sharpee/platform-browser": "^0.9.79-beta",
|
|
27
|
+
"@sharpee/plugin-npc": "^0.9.79-beta",
|
|
28
|
+
"@sharpee/plugin-scheduler": "^0.9.79-beta",
|
|
29
|
+
"@sharpee/plugin-state-machine": "^0.9.79-beta",
|
|
30
|
+
"@sharpee/plugins": "^0.9.79-beta",
|
|
31
|
+
"@sharpee/stdlib": "^0.9.79-beta",
|
|
32
|
+
"@sharpee/text-blocks": "^0.9.79-beta",
|
|
33
|
+
"@sharpee/text-service": "^0.9.79-beta",
|
|
34
|
+
"@sharpee/world-model": "^0.9.79-beta",
|
|
35
35
|
"fflate": "^0.8.2"
|
|
36
36
|
},
|
|
37
37
|
"keywords": [
|
|
@@ -10,7 +10,7 @@ import { WorldModel, EntityType } from '@sharpee/world-model';
|
|
|
10
10
|
import { Parser } from '@sharpee/parser-en-us';
|
|
11
11
|
import { LanguageProvider } from '@sharpee/lang-en-us';
|
|
12
12
|
import { PerceptionService } from '@sharpee/stdlib';
|
|
13
|
-
import { story, config } from './index';
|
|
13
|
+
import { story, config } from './index.js';
|
|
14
14
|
|
|
15
15
|
// DOM elements
|
|
16
16
|
let statusLocation: HTMLElement | null;
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
WorldModel,
|
|
11
11
|
IFEntity,
|
|
12
12
|
Parser,
|
|
13
|
-
|
|
13
|
+
EnglishLanguageProvider,
|
|
14
14
|
} from '@sharpee/sharpee';
|
|
15
15
|
|
|
16
16
|
export const config: StoryConfig = {
|
|
@@ -24,25 +24,31 @@ export const config: StoryConfig = {
|
|
|
24
24
|
export const story: Story = {
|
|
25
25
|
config,
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
createPlayer(world: WorldModel): IFEntity {
|
|
28
|
+
const player = world.createEntity('player', 'actor');
|
|
29
|
+
player.attributes.name = 'you';
|
|
30
|
+
player.attributes.description = 'An adventurer.';
|
|
31
|
+
return player;
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
initializeWorld(world: WorldModel): void {
|
|
28
35
|
// Get the player entity
|
|
29
|
-
const player = world.getPlayer()
|
|
36
|
+
const player = world.getPlayer()!;
|
|
30
37
|
|
|
31
38
|
// === CREATE YOUR ROOMS ===
|
|
32
39
|
|
|
33
40
|
// Starting room
|
|
34
|
-
const startRoom = world.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
const startRoom = world.createEntity('start-room', 'room');
|
|
42
|
+
startRoom.attributes.name = 'Starting Room';
|
|
43
|
+
startRoom.attributes.description =
|
|
44
|
+
'You are in a small, dimly lit room. This is where your adventure begins.';
|
|
38
45
|
|
|
39
46
|
// === CREATE YOUR OBJECTS ===
|
|
40
47
|
|
|
41
48
|
// Example: a simple object
|
|
42
|
-
// const key = world.createEntity('key', 'object'
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
// });
|
|
49
|
+
// const key = world.createEntity('key', 'object');
|
|
50
|
+
// key.attributes.name = 'brass key';
|
|
51
|
+
// key.attributes.description = 'A small brass key.';
|
|
46
52
|
// world.moveEntity(key.id, startRoom.id);
|
|
47
53
|
|
|
48
54
|
// === CONNECT YOUR ROOMS ===
|
|
@@ -52,19 +58,16 @@ export const story: Story = {
|
|
|
52
58
|
|
|
53
59
|
// Place player in starting room
|
|
54
60
|
world.moveEntity(player.id, startRoom.id);
|
|
55
|
-
|
|
56
|
-
// Return the starting room
|
|
57
|
-
return startRoom;
|
|
58
61
|
},
|
|
59
62
|
|
|
60
|
-
// Optional: extend the parser with
|
|
63
|
+
// Optional: extend the parser with story-specific vocabulary
|
|
61
64
|
extendParser(parser: Parser): void {
|
|
62
65
|
// const grammar = parser.getStoryGrammar();
|
|
63
66
|
// grammar.define('custom command').mapsTo('story.action.custom').build();
|
|
64
67
|
},
|
|
65
68
|
|
|
66
|
-
// Optional: extend the language with
|
|
67
|
-
extendLanguage(language:
|
|
69
|
+
// Optional: extend the language with story-specific messages
|
|
70
|
+
extendLanguage(language: EnglishLanguageProvider): void {
|
|
68
71
|
// language.addMessages({
|
|
69
72
|
// 'story.message.custom': 'A custom message.',
|
|
70
73
|
// });
|