@rpgjs/server 3.0.0 → 3.2.0
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/lib/Game/Map.d.ts +47 -10
- package/lib/Game/Map.js +75 -14
- package/lib/Game/Map.js.map +1 -1
- package/lib/Player/BattleManager.d.ts +2 -1
- package/lib/Player/BattleManager.js.map +1 -1
- package/lib/Player/MoveManager.d.ts +38 -2
- package/lib/Player/MoveManager.js +18 -0
- package/lib/Player/MoveManager.js.map +1 -1
- package/lib/Player/Player.d.ts +32 -12
- package/lib/Player/Player.js +46 -7
- package/lib/Player/Player.js.map +1 -1
- package/lib/Query.d.ts +20 -3
- package/lib/Query.js +19 -3
- package/lib/Query.js.map +1 -1
- package/lib/Scenes/Map.d.ts +1 -0
- package/lib/Scenes/Map.js +10 -0
- package/lib/Scenes/Map.js.map +1 -1
- package/lib/decorators/map.d.ts +12 -0
- package/lib/decorators/map.js +6 -8
- package/lib/decorators/map.js.map +1 -1
- package/lib/index.d.ts +16 -17
- package/lib/index.js +19 -19
- package/lib/index.js.map +1 -1
- package/lib/server.d.ts +4 -1
- package/lib/server.js +32 -15
- package/lib/server.js.map +1 -1
- package/package.json +7 -6
- package/lib/Enemy.d.ts +0 -7
- package/lib/Enemy.js +0 -26
- package/lib/Enemy.js.map +0 -1
- package/lib/Event.d.ts +0 -10
- package/lib/Event.js +0 -49
- package/lib/Event.js.map +0 -1
- package/lib/Game/Battle/Battle.d.ts +0 -12
- package/lib/Game/Battle/Battle.js +0 -37
- package/lib/Game/Battle/Battle.js.map +0 -1
- package/lib/Gui/BattleGui.d.ts +0 -9
- package/lib/Gui/BattleGui.js +0 -25
- package/lib/Gui/BattleGui.js.map +0 -1
- package/lib/Player/BehaviorManager.d.ts +0 -12
- package/lib/Player/BehaviorManager.js +0 -127
- package/lib/Player/BehaviorManager.js.map +0 -1
- package/lib/Scenes/Battle.d.ts +0 -8
- package/lib/Scenes/Battle.js +0 -34
- package/lib/Scenes/Battle.js.map +0 -1
- package/lib/decorators/strategy-broadcasting.d.ts +0 -7
- package/lib/decorators/strategy-broadcasting.js +0 -13
- package/lib/decorators/strategy-broadcasting.js.map +0 -1
- package/lib/workers/move.d.ts +0 -2
- package/lib/workers/move.js +0 -8
- package/lib/workers/move.js.map +0 -1
- package/lib/yuka.module.d.ts +0 -6379
- package/lib/yuka.module.js +0 -14546
- package/lib/yuka.module.js.map +0 -1
package/lib/Enemy.d.ts
DELETED
package/lib/Enemy.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Player_1 = require("./Player/Player");
|
|
4
|
-
class RpgEnemy extends Player_1.RpgPlayer {
|
|
5
|
-
constructor(...args) {
|
|
6
|
-
super(...args);
|
|
7
|
-
this.type = 'enemy';
|
|
8
|
-
const { parameters = {}, startingEquipment = [], startingItems = [], gain, graphic, statesEfficiency = [], elementsEfficiency = [] } = this.options;
|
|
9
|
-
for (let param in parameters) {
|
|
10
|
-
this.addParameter(param, parameters[param]);
|
|
11
|
-
}
|
|
12
|
-
for (let item of startingEquipment) {
|
|
13
|
-
this.addItem(item);
|
|
14
|
-
this.equip(item, true);
|
|
15
|
-
}
|
|
16
|
-
for (let { nb, item } of startingItems) {
|
|
17
|
-
this.addItem(item, nb);
|
|
18
|
-
}
|
|
19
|
-
this.statesEfficiency = statesEfficiency;
|
|
20
|
-
this.elementsEfficiency = elementsEfficiency;
|
|
21
|
-
this.gain = gain;
|
|
22
|
-
this.graphic = graphic;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.default = RpgEnemy;
|
|
26
|
-
//# sourceMappingURL=Enemy.js.map
|
package/lib/Enemy.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Enemy.js","sourceRoot":"","sources":["../src/Enemy.ts"],"names":[],"mappings":";;AAAA,4CAA2C;AAE3C,MAAqB,QAAS,SAAQ,kBAAS;IAK3C,YAAY,GAAG,IAAI;QACf,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;QALF,SAAI,GAAW,OAAO,CAAA;QAMlC,MAAM,EACF,UAAU,GAAG,EAAE,EACf,iBAAiB,GAAG,EAAE,EACtB,aAAa,GAAG,EAAE,EAClB,IAAI,EACJ,OAAO,EACP,gBAAgB,GAAG,EAAE,EACrB,kBAAkB,GAAG,EAAE,EAC1B,GAAG,IAAI,CAAC,OAAO,CAAA;QAChB,KAAK,IAAI,KAAK,IAAI,UAAU,EAAE;YAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;SAC9C;QACD,KAAK,IAAI,IAAI,IAAI,iBAAiB,EAAE;YAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;SACzB;QACD,KAAK,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,aAAa,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;SACzB;QACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;CACJ;AA/BD,2BA+BC"}
|
package/lib/Event.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { RpgPlayer } from './Player/Player';
|
|
2
|
-
export declare enum EventMode {
|
|
3
|
-
Shared = "shared",
|
|
4
|
-
Scenario = "scenario"
|
|
5
|
-
}
|
|
6
|
-
export declare class RpgEvent extends RpgPlayer {
|
|
7
|
-
readonly type: string;
|
|
8
|
-
properties: any;
|
|
9
|
-
execMethod(methodName: string, methodData?: never[]): Promise<any>;
|
|
10
|
-
}
|
package/lib/Event.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RpgEvent = exports.EventMode = void 0;
|
|
13
|
-
const Player_1 = require("./Player/Player");
|
|
14
|
-
const common_1 = require("@rpgjs/common");
|
|
15
|
-
var EventMode;
|
|
16
|
-
(function (EventMode) {
|
|
17
|
-
EventMode["Shared"] = "shared";
|
|
18
|
-
EventMode["Scenario"] = "scenario";
|
|
19
|
-
})(EventMode = exports.EventMode || (exports.EventMode = {}));
|
|
20
|
-
class RpgEvent extends Player_1.RpgPlayer {
|
|
21
|
-
constructor() {
|
|
22
|
-
super(...arguments);
|
|
23
|
-
this.type = 'event';
|
|
24
|
-
this.properties = {};
|
|
25
|
-
}
|
|
26
|
-
execMethod(methodName, methodData = []) {
|
|
27
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
if (!this[methodName]) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const ret = this[methodName](...methodData);
|
|
32
|
-
const sync = () => {
|
|
33
|
-
const player = methodData[0];
|
|
34
|
-
if (player instanceof Player_1.RpgPlayer) {
|
|
35
|
-
player.syncChanges();
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
if (common_1.Utils.isPromise(ret)) {
|
|
39
|
-
ret.then(sync);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
sync();
|
|
43
|
-
}
|
|
44
|
-
return ret;
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
exports.RpgEvent = RpgEvent;
|
|
49
|
-
//# sourceMappingURL=Event.js.map
|
package/lib/Event.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Event.js","sourceRoot":"","sources":["../src/Event.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA2C;AAC3C,0CAAiD;AAEjD,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACzB,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAED,MAAa,QAAS,SAAQ,kBAAS;IAAvC;;QAEoB,SAAI,GAAW,OAAO,CAAA;QACtC,eAAU,GAAQ,EAAE,CAAA;IAqBxB,CAAC;IAnBS,UAAU,CAAC,UAAkB,EAAE,UAAU,GAAG,EAAE;;YAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACnB,OAAM;aACT;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAA;YAC3C,MAAM,IAAI,GAAG,GAAG,EAAE;gBACd,MAAM,MAAM,GAAQ,UAAU,CAAC,CAAC,CAAC,CAAA;gBACjC,IAAI,MAAM,YAAY,kBAAS,EAAE;oBAC7B,MAAM,CAAC,WAAW,EAAE,CAAA;iBACvB;YACL,CAAC,CAAA;YACD,IAAI,cAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;aACjB;iBACI;gBACD,IAAI,EAAE,CAAA;aACT;YACD,OAAO,GAAG,CAAA;QACd,CAAC;KAAA;CACJ;AAxBD,4BAwBC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare class RpgBattle {
|
|
2
|
-
private server;
|
|
3
|
-
private battleId;
|
|
4
|
-
private options;
|
|
5
|
-
turnIndex: number;
|
|
6
|
-
constructor(server: any, battleId: string, enemies: any[], options?: {});
|
|
7
|
-
get game(): any;
|
|
8
|
-
get world(): any;
|
|
9
|
-
get players(): any;
|
|
10
|
-
getEnemy(id: any): any;
|
|
11
|
-
private createEnnemies;
|
|
12
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RpgBattle = void 0;
|
|
4
|
-
class RpgBattle {
|
|
5
|
-
constructor(server, battleId, enemies, options = {}) {
|
|
6
|
-
this.server = server;
|
|
7
|
-
this.battleId = battleId;
|
|
8
|
-
this.options = options;
|
|
9
|
-
this.turnIndex = 0;
|
|
10
|
-
this.createEnnemies(enemies);
|
|
11
|
-
}
|
|
12
|
-
get game() {
|
|
13
|
-
return this.server.gameEngine;
|
|
14
|
-
}
|
|
15
|
-
get world() {
|
|
16
|
-
return this.game.world;
|
|
17
|
-
}
|
|
18
|
-
get players() {
|
|
19
|
-
return this.world.getObjectsOfGroup(this.battleId);
|
|
20
|
-
}
|
|
21
|
-
getEnemy(id) {
|
|
22
|
-
return this.world.getObject(id);
|
|
23
|
-
}
|
|
24
|
-
createEnnemies(enemies) {
|
|
25
|
-
for (let ennemyObj of enemies) {
|
|
26
|
-
const enemy = this.game.addEvent(ennemyObj.enemy);
|
|
27
|
-
enemy.server = this.server;
|
|
28
|
-
enemy.level = ennemyObj.level;
|
|
29
|
-
enemy.onDead = () => {
|
|
30
|
-
this.world.removeObject(enemy.id);
|
|
31
|
-
};
|
|
32
|
-
this.server.assignObjectToRoom(enemy, this.battleId);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
exports.RpgBattle = RpgBattle;
|
|
37
|
-
//# sourceMappingURL=Battle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Battle.js","sourceRoot":"","sources":["../../../src/Game/Battle/Battle.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAIlB,YAAoB,MAAW,EAAU,QAAgB,EAAE,OAAc,EAAU,UAAU,EAAE;QAA3E,WAAM,GAAN,MAAM,CAAK;QAAU,aAAQ,GAAR,QAAQ,CAAQ;QAA0B,YAAO,GAAP,OAAO,CAAK;QAF/F,cAAS,GAAW,CAAC,CAAA;QAGjB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA;IACjC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IAC1B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACtD,CAAC;IAED,QAAQ,CAAC,EAAE;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IAEO,cAAc,CAAC,OAAc;QACjC,KAAK,IAAI,SAAS,IAAI,OAAO,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACjD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YAC1B,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;YAC7B,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;gBAChB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACrC,CAAC,CAAA;YACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;SACvD;IACL,CAAC;CACJ;AAnCD,8BAmCC"}
|
package/lib/Gui/BattleGui.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Gui } from './Gui';
|
|
2
|
-
import { RpgPlayer } from '../Player/Player';
|
|
3
|
-
import { IGui } from '../Interfaces/Gui';
|
|
4
|
-
import { RpgBattle } from '../Game/Battle/Battle';
|
|
5
|
-
export declare class BattleGui extends Gui implements IGui {
|
|
6
|
-
private battle;
|
|
7
|
-
constructor(player: RpgPlayer, battle: RpgBattle);
|
|
8
|
-
open(): Promise<any>;
|
|
9
|
-
}
|
package/lib/Gui/BattleGui.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BattleGui = void 0;
|
|
4
|
-
const Gui_1 = require("./Gui");
|
|
5
|
-
class BattleGui extends Gui_1.Gui {
|
|
6
|
-
constructor(player, battle) {
|
|
7
|
-
super('rpg-battle', player);
|
|
8
|
-
this.battle = battle;
|
|
9
|
-
}
|
|
10
|
-
open() {
|
|
11
|
-
this.on('attack', ({ enemy: id }) => {
|
|
12
|
-
const enemy = this.battle.getEnemy(id);
|
|
13
|
-
const damage = enemy.applyDamage(this.player);
|
|
14
|
-
this.player.emit('battle.damage', [
|
|
15
|
-
{ enemy: id, damage }
|
|
16
|
-
]);
|
|
17
|
-
});
|
|
18
|
-
return super.open({}, {
|
|
19
|
-
waitingAction: true,
|
|
20
|
-
blockPlayerInput: true
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.BattleGui = BattleGui;
|
|
25
|
-
//# sourceMappingURL=BattleGui.js.map
|
package/lib/Gui/BattleGui.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BattleGui.js","sourceRoot":"","sources":["../../src/Gui/BattleGui.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAK3B,MAAa,SAAU,SAAQ,SAAG;IAC9B,YAAY,MAAiB,EAAU,MAAiB;QACpD,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QADQ,WAAM,GAAN,MAAM,CAAW;IAExD,CAAC;IAED,IAAI;QACA,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC9B,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE;aACxB,CAAC,CAAA;QACL,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE;YAClB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;SACzB,CAAC,CAAA;IACN,CAAC;CACJ;AAlBD,8BAkBC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { RpgPlayer } from './Player';
|
|
2
|
-
import * as Kompute from 'kompute/build/Kompute';
|
|
3
|
-
export declare class BehaviorManager {
|
|
4
|
-
behaviorInterval: any;
|
|
5
|
-
steerable: Kompute;
|
|
6
|
-
getVector3D(x: any, y: any, z: any): any;
|
|
7
|
-
setBehavior(otherPlayer: RpgPlayer): void;
|
|
8
|
-
stopBehavior(): void;
|
|
9
|
-
}
|
|
10
|
-
export interface BehaviorManager {
|
|
11
|
-
speed: number;
|
|
12
|
-
}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.BehaviorManager = void 0;
|
|
23
|
-
const YUKA = __importStar(require("yuka"));
|
|
24
|
-
class BehaviorManager {
|
|
25
|
-
getVector3D(x, y, z) {
|
|
26
|
-
return new YUKA.Vector3(x, y, z);
|
|
27
|
-
}
|
|
28
|
-
setBehavior(otherPlayer) {
|
|
29
|
-
const map = this['mapInstance'];
|
|
30
|
-
const shapes = map.getShapes();
|
|
31
|
-
// const grid = new PF.Grid(map.width, map.height)
|
|
32
|
-
//const finder = new PF.AStarFinder();
|
|
33
|
-
const block = shapes.find(shape => shape.name == 'stop');
|
|
34
|
-
/*this.steerable.maxAcceleration = 1000
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
this.steerable.setTargetEntity(otherPlayer.steerable)
|
|
39
|
-
this.steerable.setHideTargetEntity(otherPlayer.steerable);
|
|
40
|
-
this.steerable.setBehavior(new Kompute.PursueBehavior({maxPredictionTime: 3}))
|
|
41
|
-
const delta = 1/60;
|
|
42
|
-
const vectorPool = new Kompute.VectorPool(10)
|
|
43
|
-
this.steerable.move = this['move'].bind(this)
|
|
44
|
-
Kompute.Entity.prototype.update = function() {
|
|
45
|
-
const speed = this.velocity.getLength();
|
|
46
|
-
if (this.limitVelocity && speed > this.maxSpeed){
|
|
47
|
-
this.velocity.copy(this.velocity.normalize().multiplyScalar(this.maxSpeed))
|
|
48
|
-
}
|
|
49
|
-
const vect = vectorPool.get().copy(this.velocity).multiplyScalar(delta);
|
|
50
|
-
const nextPosition = new Kompute.Vector3D().copy(this.position).add(vect)
|
|
51
|
-
this.move(nextPosition as Position)
|
|
52
|
-
}*/
|
|
53
|
-
const time = new YUKA.Time();
|
|
54
|
-
const target = new YUKA.Vector3(20, 20);
|
|
55
|
-
const seekBehavior = new YUKA.SeekBehavior(target);
|
|
56
|
-
const pursuitBehavior = new YUKA.PursuitBehavior(otherPlayer.steerable, 2);
|
|
57
|
-
const obstacle1 = new YUKA.GameEntity();
|
|
58
|
-
obstacle1.position.copy(this.getVector3D(block.hitbox.pos.x + block.hitbox.w / 2, 0, block.hitbox.pos.y + block.hitbox.h / 2));
|
|
59
|
-
obstacle1.boundingRadius = (block.hitbox.w / 2) * Math.sqrt(2);
|
|
60
|
-
this['mapInstance'].entityManager.add(obstacle1);
|
|
61
|
-
const obstacleAvoidanceBehavior = new YUKA.ObstacleAvoidanceBehavior([obstacle1]);
|
|
62
|
-
obstacleAvoidanceBehavior.dBoxMinLength = 16;
|
|
63
|
-
obstacleAvoidanceBehavior.brakingWeight = 0.1;
|
|
64
|
-
const steeringForce = new YUKA.Vector3();
|
|
65
|
-
const displacement = new YUKA.Vector3();
|
|
66
|
-
const acceleration = new YUKA.Vector3();
|
|
67
|
-
const velocitySmooth = new YUKA.Vector3();
|
|
68
|
-
this.steerable.maxSpeed = this.speed * (200 / 3);
|
|
69
|
-
this.steerable.boundingRadius = 8 * Math.sqrt(2);
|
|
70
|
-
const self = this;
|
|
71
|
-
this.steerable.move = this['move'].bind(this);
|
|
72
|
-
this.steerable.steering.add(pursuitBehavior);
|
|
73
|
-
time.update().getDelta();
|
|
74
|
-
YUKA.Vehicle.prototype.update = function (delta) {
|
|
75
|
-
this.steering.calculate(delta, steeringForce);
|
|
76
|
-
// acceleration = force / mass
|
|
77
|
-
acceleration.copy(steeringForce).divideScalar(this.mass);
|
|
78
|
-
// update velocity
|
|
79
|
-
this.velocity.add(acceleration.multiplyScalar(delta));
|
|
80
|
-
// make sure vehicle does not exceed maximum speed
|
|
81
|
-
if (this.getSpeedSquared() > (this.maxSpeed * this.maxSpeed)) {
|
|
82
|
-
this.velocity.normalize();
|
|
83
|
-
this.velocity.multiplyScalar(this.maxSpeed);
|
|
84
|
-
}
|
|
85
|
-
// calculate displacement
|
|
86
|
-
displacement.copy(this.velocity).multiplyScalar(delta);
|
|
87
|
-
// calculate target position
|
|
88
|
-
target.copy(this.position).add(displacement);
|
|
89
|
-
// update position
|
|
90
|
-
const { x, y, z } = target;
|
|
91
|
-
if (self['isCollided']({
|
|
92
|
-
x,
|
|
93
|
-
y: z,
|
|
94
|
-
z: y
|
|
95
|
-
})) {
|
|
96
|
-
//console.log(x, y, z)
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
this.position.copy(target);
|
|
100
|
-
}
|
|
101
|
-
return this;
|
|
102
|
-
};
|
|
103
|
-
// this.steerable.steering.add( obstacleAvoidanceBehavior )
|
|
104
|
-
const move = () => {
|
|
105
|
-
const deltaTime = time.update().getDelta();
|
|
106
|
-
const entity = this.steerable;
|
|
107
|
-
this['mapInstance'].entityManager.update(deltaTime);
|
|
108
|
-
/*entity.steering.calculate( deltaTime, steeringForce );
|
|
109
|
-
acceleration.copy( steeringForce )
|
|
110
|
-
acceleration.multiplyScalar( deltaTime )*/
|
|
111
|
-
// displacement.copy( entity.velocity ).multiplyScalar( deltaTime );
|
|
112
|
-
const { x, y, z } = this.steerable.position;
|
|
113
|
-
this['position'].x = x;
|
|
114
|
-
this['position'].y = z;
|
|
115
|
-
this['position'].z = y;
|
|
116
|
-
};
|
|
117
|
-
//console.log(this.behaviorInterval)
|
|
118
|
-
if (!this.behaviorInterval)
|
|
119
|
-
this.behaviorInterval = setInterval(move, 16);
|
|
120
|
-
}
|
|
121
|
-
stopBehavior() {
|
|
122
|
-
if (this.behaviorInterval)
|
|
123
|
-
clearInterval(this.behaviorInterval);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
exports.BehaviorManager = BehaviorManager;
|
|
127
|
-
//# sourceMappingURL=BehaviorManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BehaviorManager.js","sourceRoot":"","sources":["../../src/Player/BehaviorManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA4B;AAG5B,MAAa,eAAe;IAIxB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACpC,CAAC;IAED,WAAW,CAAC,WAAsB;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAA;QAE/B,kDAAkD;QACjD,sCAAsC;QAEtC,MAAM,KAAK,GAAQ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,CAAA;QAC7D;;;;;;;;;;;;;;;;;;WAkBG;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,YAAY,CAAE,MAAM,CAAE,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,IAAI,CAAC,eAAe,CAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAE,CAAA;QAE5E,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC9H,SAAS,CAAC,cAAc,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,GAAG,CAAE,SAAS,CAAE,CAAC;QAEnD,MAAM,yBAAyB,GAAG,IAAI,IAAI,CAAC,yBAAyB,CAAE,CAAC,SAAS,CAAC,CAAE,CAAC;QACpF,yBAAyB,CAAC,aAAa,GAAG,EAAE,CAAA;QAC5C,yBAAyB,CAAC,aAAa,GAAG,GAAG,CAAA;QAC7C,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;QACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,GAAC,CAAC,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAE,eAAe,CAAE,CAAA;QAExC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;QAExB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,UAAS,KAAK;YAC1C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAE,KAAK,EAAE,aAAa,CAAE,CAAC;YAEhD,8BAA8B;YAE9B,YAAY,CAAC,IAAI,CAAE,aAAa,CAAE,CAAC,YAAY,CAAE,IAAI,CAAC,IAAI,CAAE,CAAC;YAE7D,kBAAkB;YAElB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAE,YAAY,CAAC,cAAc,CAAE,KAAK,CAAE,CAAE,CAAC;YAE1D,kDAAkD;YAElD,IAAK,IAAI,CAAC,eAAe,EAAE,GAAG,CAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAE,EAAG;gBAE9D,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAC;aAEjD;YAED,yBAAyB;YAEzB,YAAY,CAAC,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAC,cAAc,CAAE,KAAK,CAAE,CAAC;YAE3D,4BAA4B;YAE5B,MAAM,CAAC,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAE,YAAY,CAAE,CAAC;YAGjD,kBAAkB;YAElB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAA;YAE1B,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnB,CAAC;gBACD,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACP,CAAC,EAAE;gBACA,sBAAsB;aACzB;iBACI;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,MAAM,CAAE,CAAA;aAC/B;YAED,OAAO,IAAI,CAAC;QAChB,CAAC,CAAA;QAEF,4DAA4D;QAE3D,MAAM,IAAI,GAAG,GAAG,EAAE;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAA;YAC7B,IAAI,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,MAAM,CAAE,SAAS,CAAE,CAAA;YACrD;;sDAE0C;YAC3C,oEAAoE;YACnE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAA;YAC3C,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACtB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YACtB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC,CAAA;QACD,oCAAoC;QACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,YAAY;QACR,IAAI,IAAI,CAAC,gBAAgB;YAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACnE,CAAC;CACJ;AAjID,0CAiIC"}
|
package/lib/Scenes/Battle.d.ts
DELETED
package/lib/Scenes/Battle.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SceneBattle = void 0;
|
|
4
|
-
const Battle_1 = require("../Game/Battle/Battle");
|
|
5
|
-
const BattleGui_1 = require("../Gui/BattleGui");
|
|
6
|
-
class SceneBattle {
|
|
7
|
-
constructor(server) {
|
|
8
|
-
this.server = server;
|
|
9
|
-
this.battles = new Map();
|
|
10
|
-
}
|
|
11
|
-
create(player, ennemies, options) {
|
|
12
|
-
const battleId = '' + Math.random();
|
|
13
|
-
const battle = new Battle_1.RpgBattle(this.server, battleId, ennemies, options);
|
|
14
|
-
this.battles.set(battleId, battle);
|
|
15
|
-
this.join(battleId, player);
|
|
16
|
-
return this;
|
|
17
|
-
}
|
|
18
|
-
join(battleId, player) {
|
|
19
|
-
let battle = this.battles.get(battleId);
|
|
20
|
-
this.server.assignObjectToRoom(player, battleId);
|
|
21
|
-
this.server.sendToPlayer(player, 'player.loadScene', {
|
|
22
|
-
name: SceneBattle.id,
|
|
23
|
-
data: {}
|
|
24
|
-
});
|
|
25
|
-
if (battle) {
|
|
26
|
-
const gui = new BattleGui_1.BattleGui(player, battle);
|
|
27
|
-
player._gui[gui.id] = gui;
|
|
28
|
-
gui.open();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.SceneBattle = SceneBattle;
|
|
33
|
-
SceneBattle.id = 'battle';
|
|
34
|
-
//# sourceMappingURL=Battle.js.map
|
package/lib/Scenes/Battle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Battle.js","sourceRoot":"","sources":["../../src/Scenes/Battle.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AACjD,gDAA4C;AAE5C,MAAa,WAAW;IAMpB,YAAoB,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QAFvB,YAAO,GAA2B,IAAI,GAAG,EAAE,CAAA;IAEhB,CAAC;IAEpC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAW;QAChC,MAAM,QAAQ,GAAG,EAAE,GAAC,IAAI,CAAC,MAAM,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QACtE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,IAAI,CAAC,QAAgB,EAAE,MAAM;QACzB,IAAI,MAAM,GAA0B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE;YACjD,IAAI,EAAE,WAAW,CAAC,EAAE;YACpB,IAAI,EAAE,EAAE;SACX,CAAC,CAAA;QACF,IAAI,MAAM,EAAE;YACR,MAAM,GAAG,GAAG,IAAI,qBAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;YACzB,GAAG,CAAC,IAAI,EAAE,CAAA;SACb;IACL,CAAC;;AA5BL,kCA6BC;AA3BmB,cAAE,GAAW,QAAQ,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { RpgPlayer } from '../Player/Player';
|
|
2
|
-
interface StrategyBroadcastingOptions {
|
|
3
|
-
params: any[];
|
|
4
|
-
query(player: RpgPlayer): RpgPlayer | RpgPlayer[];
|
|
5
|
-
}
|
|
6
|
-
export declare function StrategyBroadcasting(params: StrategyBroadcastingOptions[] | string[]): (target: any) => void;
|
|
7
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StrategyBroadcasting = void 0;
|
|
4
|
-
function StrategyBroadcasting(params) {
|
|
5
|
-
return function (target) {
|
|
6
|
-
target.prototype.$broadcast = params;
|
|
7
|
-
/*target.prototype.netScheme = {
|
|
8
|
-
hp: { type: BaseTypes.TYPES.INT8 }
|
|
9
|
-
}*/
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
exports.StrategyBroadcasting = StrategyBroadcasting;
|
|
13
|
-
//# sourceMappingURL=strategy-broadcasting.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategy-broadcasting.js","sourceRoot":"","sources":["../../src/decorators/strategy-broadcasting.ts"],"names":[],"mappings":";;;AAOA,SAAgB,oBAAoB,CAAC,MAAgD;IACjF,OAAO,UAAU,MAAM;QACnB,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,MAAM,CAAA;QACpC;;WAEG;IACP,CAAC,CAAA;AACL,CAAC;AAPD,oDAOC"}
|
package/lib/workers/move.d.ts
DELETED
package/lib/workers/move.js
DELETED
package/lib/workers/move.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/workers/move.ts"],"names":[],"mappings":";AAAA,MAAM,EACJ,UAAU,EACV,QAAQ,EACT,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAC7B,MAAM,OAAO,GAAG,EAAE,CAAA;AAElB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAErB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;IAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC,CAAC,CAAA"}
|