few things idk
parent
d4c008a5e1
commit
b728e085a6
|
|
@ -18,9 +18,11 @@ registerAction('Gather Flint', () => {
|
||||||
Game.current.board.addTask(taskState);
|
Game.current.board.addTask(taskState);
|
||||||
});
|
});
|
||||||
|
|
||||||
registerAction('Create Arrowhead', () => {
|
registerAction('Create Arrowhead', async () => {
|
||||||
// const rock = new ItemState(FLINT_NORMAL, 1, null);
|
// const rock = new ItemState(FLINT_NORMAL, 1, null);
|
||||||
const item = SelectItem.show()
|
const item = await SelectItem.show((itemState) => {
|
||||||
|
return true;
|
||||||
|
});
|
||||||
const task = new TaskState(MAKE_ARROWHEAD, {
|
const task = new TaskState(MAKE_ARROWHEAD, {
|
||||||
baseMaterial: rock
|
baseMaterial: rock
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
"@types/fs-extra": "^9.0.11",
|
"@types/fs-extra": "^9.0.11",
|
||||||
"@types/mocha": "^8.2.2",
|
"@types/mocha": "^8.2.2",
|
||||||
"@types/uuid": "^8.3.0",
|
"@types/uuid": "^8.3.0",
|
||||||
"@types/ws": "^7.4.5",
|
"@types/ws": "^7.4.6",
|
||||||
"bonjour": "^3.5.0",
|
"bonjour": "^3.5.0",
|
||||||
"chai": "^4.3.4",
|
"chai": "^4.3.4",
|
||||||
"chalk": "^4.1.1",
|
"chalk": "^4.1.1",
|
||||||
|
|
|
||||||
11
src/World.ts
11
src/World.ts
|
|
@ -1,5 +1,14 @@
|
||||||
|
import { ItemState } from "@items";
|
||||||
import { Serializable } from "frigid";
|
import { Serializable } from "frigid";
|
||||||
|
|
||||||
export class World extends Serializable {
|
export class World extends Serializable {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class WorldItemState {
|
||||||
|
itemState: ItemState<any>
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -14,8 +14,8 @@ export class SelectItem {
|
||||||
items: ItemState<any>[];
|
items: ItemState<any>[];
|
||||||
selectedIdx: number;
|
selectedIdx: number;
|
||||||
|
|
||||||
static show(filter: ItemFilterFunction): Promise<ItemState<any>> {
|
static show(filter: ItemFilterFunction, qty: number = 1): Promise<ItemState<any>> {
|
||||||
const si = new SelectItem(filter, 1);
|
const si = new SelectItem(filter, qty);
|
||||||
return new Promise(res => {
|
return new Promise(res => {
|
||||||
si.emitter.on('selected', (itemState: ItemState<any>) => {
|
si.emitter.on('selected', (itemState: ItemState<any>) => {
|
||||||
res(itemState);
|
res(itemState);
|
||||||
|
|
@ -60,10 +60,18 @@ export class SelectItem {
|
||||||
this.emitter.emit('selected', this.selectedItem.take(this.qty));
|
this.emitter.emit('selected', this.selectedItem.take(this.qty));
|
||||||
this.close();
|
this.close();
|
||||||
} else if(key.full === 'down') {
|
} else if(key.full === 'down') {
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.items = Game.current.inv.items.filter(filter);
|
this.items = Game.current.inv.items.filter(filter);
|
||||||
|
this.update();
|
||||||
this.open();
|
this.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
update() {
|
||||||
|
this.box.setContent('test');
|
||||||
|
panels.screen.render();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
import blessed from 'neo-blessed';
|
import blessed from 'neo-blessed';
|
||||||
import ansi from 'sisteransi';
|
import ansi from 'sisteransi';
|
||||||
|
|
@ -99,6 +98,7 @@ export function start() {
|
||||||
|
|
||||||
process.stdout.write(ansi.cursor.hide);
|
process.stdout.write(ansi.cursor.hide);
|
||||||
|
|
||||||
|
// todo make a real menu
|
||||||
screen.key(['C-c'], function() {
|
screen.key(['C-c'], function() {
|
||||||
process.stdout.write(ansi.cursor.show);
|
process.stdout.write(ansi.cursor.show);
|
||||||
setTimeout(_ => {
|
setTimeout(_ => {
|
||||||
|
|
|
||||||
|
|
@ -60,10 +60,10 @@
|
||||||
version "8.3.0"
|
version "8.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f"
|
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f"
|
||||||
|
|
||||||
"@types/ws@^7.4.5":
|
"@types/ws@^7.4.6":
|
||||||
version "7.4.5"
|
version "7.4.6"
|
||||||
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.5.tgz#8ff0f7efcd8fea19f51f9dd66cb8b498d172a752"
|
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.6.tgz#c4320845e43d45a7129bb32905e28781c71c1fff"
|
||||||
integrity sha512-8mbDgtc8xpxDDem5Gwj76stBDJX35KQ3YBoayxlqUQcL5BZUthiqP/VQ4PQnLHqM4PmlbyO74t98eJpURO+gPA==
|
integrity sha512-ijZ1vzRawI7QoWnTNL8KpHixd2b2XVb9I9HAqI3triPsh1EC0xH0Eg6w2O3TKbDCgiNNlJqfrof6j4T2I+l9vw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue