gamefic-sdk 2.0.4 → 2.1.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.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/CHANGELOG.md +3 -0
- data/lib/gamefic-sdk/version.rb +1 -1
- data/scaffolds/react/package.json.gf.erb +1 -1
- data/scaffolds/react/web/src/index.js +12 -1
- data/scaffolds/react/web/src/scenes/ActivityScene.jsx +13 -0
- data/scaffolds/react/web/src/scenes/ConclusionScene.jsx +12 -0
- data/scaffolds/react/web/src/scenes/MultipleChoiceScene.jsx +37 -0
- data/scaffolds/react/web/src/scenes/PauseScene.jsx +13 -0
- data/scaffolds/react/web/src/scenes/index.js +11 -0
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e191127d0c07f062207511ce1abb9b6b8237252a2c211751554673cc43a9572d
|
4
|
+
data.tar.gz: e68a2692143010304e89abe4ccaf5d99f3227a39f89ef10c1cb7d56df6ed0c25
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b871b39cc1371113111d917ec0ff01180483daefefbe9725e95f1d486f9b72d708215b8ca8b483784b908d3682c7430b29ecb6fc13953b626c92b170555a315e
|
7
|
+
data.tar.gz: a3e31833934272af6363b821f76cb8b1af8427b1797ccc0b61dcaff023aa9dc6323b9b4de174387d659a9ee1307020be81ee111560b173dba2b2afb99e6874f9
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
data/lib/gamefic-sdk/version.rb
CHANGED
@@ -1,13 +1,24 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { render } from 'react-dom';
|
3
3
|
import { Console, Terminal } from 'react-gamefic';
|
4
|
+
|
4
5
|
import { driver } from 'driver';
|
6
|
+
|
7
|
+
import { ActivityScene, PauseScene, MultipleChoiceScene, ConclusionScene } from './scenes';
|
5
8
|
import 'react-gamefic/styles/ebook';
|
6
9
|
import './style.css';
|
7
10
|
|
11
|
+
const sceneComponents = {
|
12
|
+
Activity: ActivityScene,
|
13
|
+
Pause: PauseScene,
|
14
|
+
MultipleChoice: MultipleChoiceScene,
|
15
|
+
YesOrNo: MultipleChoiceScene,
|
16
|
+
Conclusion: ConclusionScene
|
17
|
+
}
|
18
|
+
|
8
19
|
render(
|
9
20
|
<Console driver={driver}>
|
10
|
-
<Terminal />
|
21
|
+
<Terminal sceneComponents={sceneComponents} autoScroll={true} />
|
11
22
|
</Console>,
|
12
23
|
document.getElementById('root')
|
13
24
|
);
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Output, CommandForm } from 'react-gamefic';
|
3
|
+
|
4
|
+
export class ActivityScene extends React.Component {
|
5
|
+
render() {
|
6
|
+
return (
|
7
|
+
<div className="ActivityScene">
|
8
|
+
<Output {...this.props} />
|
9
|
+
<CommandForm prompt={this.props.state.prompt} />
|
10
|
+
</div>
|
11
|
+
);
|
12
|
+
}
|
13
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Output } from 'react-gamefic';
|
3
|
+
import { CommandLink } from 'react-gamefic';
|
4
|
+
|
5
|
+
export class MultipleChoiceScene extends React.Component {
|
6
|
+
renderChoices() {
|
7
|
+
if (this.props.state.options) {
|
8
|
+
const listItems = this.props.state.options.map((opt, index) => {
|
9
|
+
return (
|
10
|
+
<li key={index}>
|
11
|
+
<CommandLink command={opt}>{opt}</CommandLink>
|
12
|
+
</li>
|
13
|
+
);
|
14
|
+
});
|
15
|
+
return (
|
16
|
+
<nav>
|
17
|
+
<ol>
|
18
|
+
{listItems}
|
19
|
+
</ol>
|
20
|
+
</nav>
|
21
|
+
);
|
22
|
+
} else {
|
23
|
+
console.warn("Error: Multiple choice scene does not have any options");
|
24
|
+
return '';
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
render() {
|
29
|
+
return (
|
30
|
+
<div className="MultipleChoiceScene">
|
31
|
+
<Output {...this.props} />
|
32
|
+
<label>{this.props.state.prompt}</label>
|
33
|
+
{this.renderChoices()}
|
34
|
+
</div>
|
35
|
+
);
|
36
|
+
}
|
37
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Output, CommandLink, CommandForm } from 'react-gamefic';
|
3
|
+
|
4
|
+
export class PauseScene extends React.Component {
|
5
|
+
render() {
|
6
|
+
return (
|
7
|
+
<div className="PauseScene">
|
8
|
+
<Output {...this.props} />
|
9
|
+
<CommandLink command="">Continue</CommandLink>
|
10
|
+
</div>
|
11
|
+
);
|
12
|
+
}
|
13
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { ActivityScene } from './ActivityScene.jsx';
|
2
|
+
import { PauseScene } from './PauseScene.jsx';
|
3
|
+
import { MultipleChoiceScene } from './MultipleChoiceScene.jsx';
|
4
|
+
import { ConclusionScene } from './ConclusionScene.jsx';
|
5
|
+
|
6
|
+
export {
|
7
|
+
ActivityScene,
|
8
|
+
PauseScene,
|
9
|
+
MultipleChoiceScene,
|
10
|
+
ConclusionScene
|
11
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gamefic-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fred Snyder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gamefic
|
@@ -261,6 +261,11 @@ files:
|
|
261
261
|
- scaffolds/react/web/src/driver/opal.rb
|
262
262
|
- scaffolds/react/web/src/driver/production.js
|
263
263
|
- scaffolds/react/web/src/index.js
|
264
|
+
- scaffolds/react/web/src/scenes/ActivityScene.jsx
|
265
|
+
- scaffolds/react/web/src/scenes/ConclusionScene.jsx
|
266
|
+
- scaffolds/react/web/src/scenes/MultipleChoiceScene.jsx
|
267
|
+
- scaffolds/react/web/src/scenes/PauseScene.jsx
|
268
|
+
- scaffolds/react/web/src/scenes/index.js
|
264
269
|
- scaffolds/react/web/src/style.css
|
265
270
|
- scaffolds/react/webpack.config.js
|
266
271
|
homepage: http://gamefic.com
|
@@ -282,7 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
282
287
|
- !ruby/object:Gem::Version
|
283
288
|
version: '0'
|
284
289
|
requirements: []
|
285
|
-
rubygems_version: 3.
|
290
|
+
rubygems_version: 3.1.2
|
286
291
|
signing_key:
|
287
292
|
specification_version: 4
|
288
293
|
summary: Gamefic SDK
|