From 9d27856102866b8848918d8dd6b4768f9304c775 Mon Sep 17 00:00:00 2001 From: Metaa Date: Mon, 5 Jun 2017 13:33:40 +0200 Subject: [PATCH 1/2] Resolve GitHub issue #60: adds a singular form of createScenes --- src/Client.ts | 4 ++++ src/GameClient.ts | 10 ++++++++++ src/IClient.ts | 1 + 3 files changed, 15 insertions(+) diff --git a/src/Client.ts b/src/Client.ts index 7b2e35b..35b449d 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -262,6 +262,10 @@ export class Client extends EventEmitter implements IClient { throw new PermissionDeniedError('createGroups', 'Participant'); } + public createScene(_: ISceneData): Promise { + throw new PermissionDeniedError('createScene', 'Participant'); + } + public createScenes(_: ISceneDataArray): Promise { throw new PermissionDeniedError('createScenes', 'Participant'); } diff --git a/src/GameClient.ts b/src/GameClient.ts index 7f99da7..f91699f 100644 --- a/src/GameClient.ts +++ b/src/GameClient.ts @@ -72,6 +72,16 @@ export class GameClient extends Client { return this.execute('createGroups', groups, false); } + /** + * Instructs the server to create a new scene with the specified parameters. + */ + public createScene(scene: ISceneData): Promise { + return this.execute('createScenes', { scenes: [ scene ] } as ISceneDataArray, false) + .then(scenes => { + return scenes.scenes[0]; + }); + } + /** * Instructs the server to create new scenes with the specified parameters. */ diff --git a/src/IClient.ts b/src/IClient.ts index 87eb318..496003c 100644 --- a/src/IClient.ts +++ b/src/IClient.ts @@ -22,6 +22,7 @@ export interface IClient extends EventEmitter { createControls(controls: ISceneData): Promise; createGroups(groups: IGroupDataArray): Promise; + createScene(scene: ISceneData): Promise; createScenes(scenes: ISceneDataArray): Promise; updateControls(controls: ISceneData): Promise; updateGroups(groups: IGroupDataArray): Promise; From e0b585b10b266ab44fe7e1ebbabba174a13c3bbf Mon Sep 17 00:00:00 2001 From: Metaa Date: Mon, 5 Jun 2017 14:07:31 +0200 Subject: [PATCH 2/2] Avoid duplicated execute call --- src/GameClient.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GameClient.ts b/src/GameClient.ts index f91699f..5d4ed4c 100644 --- a/src/GameClient.ts +++ b/src/GameClient.ts @@ -76,7 +76,7 @@ export class GameClient extends Client { * Instructs the server to create a new scene with the specified parameters. */ public createScene(scene: ISceneData): Promise { - return this.execute('createScenes', { scenes: [ scene ] } as ISceneDataArray, false) + return this.createScenes({ scenes: [ scene ] }) .then(scenes => { return scenes.scenes[0]; });