gamefic-sdk 2.0.1 → 2.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.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/CHANGELOG.md +9 -0
- data/README.md +1 -1
- data/bin/gamefic +0 -10
- data/gamefic-sdk.gemspec +5 -5
- data/lib/gamefic-sdk/server.rb +1 -2
- data/lib/gamefic-sdk/version.rb +1 -1
- data/scaffolds/react/package.json.gf.erb +2 -2
- data/scaffolds/react/web/src/index.js +12 -1
- data/scaffolds/react/web/src/scenes/Activity.jsx +13 -0
- data/scaffolds/react/web/src/scenes/Conclusion.jsx +12 -0
- data/scaffolds/react/web/src/scenes/MultipleChoice.jsx +13 -0
- data/scaffolds/react/web/src/scenes/Pause.jsx +13 -0
- data/scaffolds/react/web/src/scenes/index.js +11 -0
- metadata +23 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a866238615f7218acadfc7b9f2af9d914d9a8e615196eb301ae2347d9c7e9bed
|
|
4
|
+
data.tar.gz: ea7da83b2131148021813dd3d9f4b069278797f1b5e68fc0d91349cfcab64d85
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9f491f6228a652685032500ace199b37b29f14c855838f2a4168a50574f21a98781e5304cb00a31d7eaee85f1395ef80e0bb94d32b4bec93248def7ef8a8af6e
|
|
7
|
+
data.tar.gz: 10d0faaaa0fd8aa903c1f7d6c3955031691312d481c9dc7fd9e97344b188840b162cdd666f513710b87f5c42b9c340f3a53d70f9531ef1a64bc3264cd07782b1
|
data/.gitignore
CHANGED
data/CHANGELOG.md
ADDED
data/README.md
CHANGED
|
@@ -123,7 +123,7 @@ Note: building the web app requires [Node.js](https://nodejs.org).
|
|
|
123
123
|
### Example Projects
|
|
124
124
|
|
|
125
125
|
The gamefic-sdk repo includes several example projects that provide more
|
|
126
|
-
|
|
126
|
+
complete demonstrations of Gamefic's features. To run an example, copy
|
|
127
127
|
its `main.rb` file to your own project.
|
|
128
128
|
|
|
129
129
|
### Learning More
|
data/bin/gamefic
CHANGED
|
@@ -4,13 +4,3 @@ require 'gamefic-sdk'
|
|
|
4
4
|
require 'gamefic-sdk/shell'
|
|
5
5
|
|
|
6
6
|
Gamefic::Sdk::Shell.start(ARGV)
|
|
7
|
-
|
|
8
|
-
#!/usr/bin/env ruby
|
|
9
|
-
|
|
10
|
-
#require 'gamefic'
|
|
11
|
-
#require 'gamefic-tty'
|
|
12
|
-
|
|
13
|
-
# Make play the default command if the first argument is an existing file
|
|
14
|
-
#args = %w(play help).include?(ARGV[0]) || ARGV.count.zero? || !File.exist?(ARGV[0]) ? ARGV : ARGV.dup.unshift('play')
|
|
15
|
-
|
|
16
|
-
#Gamefic::Tty::Shell.start(args)
|
data/gamefic-sdk.gemspec
CHANGED
|
@@ -24,19 +24,19 @@ Gem::Specification.new do |s|
|
|
|
24
24
|
|
|
25
25
|
s.required_ruby_version = '>= 2.3.0'
|
|
26
26
|
|
|
27
|
-
s.add_runtime_dependency 'gamefic', '~> 2.0'
|
|
27
|
+
s.add_runtime_dependency 'gamefic', '~> 2.0', '>= 2.0.2'
|
|
28
28
|
s.add_runtime_dependency 'gamefic-standard', '~> 2.0'
|
|
29
|
-
s.add_runtime_dependency 'gamefic-tty', '~> 2.0'
|
|
29
|
+
s.add_runtime_dependency 'gamefic-tty', '~> 2.0', '>= 2.0.1'
|
|
30
30
|
s.add_runtime_dependency 'listen', '~> 3.0'
|
|
31
31
|
s.add_runtime_dependency 'opal', '~> 1.0'
|
|
32
32
|
s.add_runtime_dependency 'sinatra', '~> 2'
|
|
33
33
|
s.add_runtime_dependency 'thor', '~> 1.0'
|
|
34
34
|
|
|
35
|
-
s.add_development_dependency
|
|
35
|
+
s.add_development_dependency 'bundler', '~> 2.0'
|
|
36
36
|
s.add_development_dependency 'capybara', '~> 3.3'
|
|
37
37
|
s.add_development_dependency 'puma', '~> 3'
|
|
38
|
-
s.add_development_dependency 'rake', '~>
|
|
39
|
-
s.add_development_dependency
|
|
38
|
+
s.add_development_dependency 'rake', '~> 13.0'
|
|
39
|
+
s.add_development_dependency 'rspec', '~> 3.0'
|
|
40
40
|
s.add_development_dependency 'selenium-webdriver', '~> 3.13'
|
|
41
41
|
s.add_development_dependency 'simplecov', '~> 0.14'
|
|
42
42
|
end
|
data/lib/gamefic-sdk/server.rb
CHANGED
|
@@ -32,7 +32,6 @@ module Gamefic
|
|
|
32
32
|
content_type :json
|
|
33
33
|
@@plot.update
|
|
34
34
|
@@plot.ready
|
|
35
|
-
# @@character.state.merge(input: params['command'], continued: @@character.queue.any?).to_json
|
|
36
35
|
@@character.output.to_json
|
|
37
36
|
end
|
|
38
37
|
|
|
@@ -45,7 +44,7 @@ module Gamefic
|
|
|
45
44
|
content_type :json
|
|
46
45
|
# The snapshot needs to be received as a JSON string because of issues
|
|
47
46
|
# with IndifferentHash malforming arrays.
|
|
48
|
-
snapshot = JSON.parse(params['snapshot']
|
|
47
|
+
snapshot = JSON.parse(params['snapshot'])
|
|
49
48
|
@@plot.restore snapshot
|
|
50
49
|
@@character.cue @@plot.default_scene
|
|
51
50
|
@@plot.update
|
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 { Activity, Pause, MultipleChoice, Conclusion } from './scenes';
|
|
5
8
|
import 'react-gamefic/styles/ebook';
|
|
6
9
|
import './style.css';
|
|
7
10
|
|
|
11
|
+
const sceneComponents = {
|
|
12
|
+
Activity: Activity,
|
|
13
|
+
Pause: Pause,
|
|
14
|
+
MultipleChoice: MultipleChoice,
|
|
15
|
+
YesOrNo: MultipleChoice,
|
|
16
|
+
Conclusion: Conclusion
|
|
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 { ActivityScene, Output, CommandForm } from 'react-gamefic';
|
|
3
|
+
|
|
4
|
+
export class Activity extends React.Component {
|
|
5
|
+
render() {
|
|
6
|
+
return (
|
|
7
|
+
<ActivityScene>
|
|
8
|
+
<Output {...this.props} transcribe={true} />
|
|
9
|
+
<CommandForm prompt={this.props.state.prompt} />
|
|
10
|
+
</ActivityScene>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ConclusionScene, Output } from 'react-gamefic';
|
|
3
|
+
|
|
4
|
+
export class Conclusion extends React.Component {
|
|
5
|
+
render() {
|
|
6
|
+
return (
|
|
7
|
+
<ConclusionScene>
|
|
8
|
+
<Output {...this.props} transcribe={true} />
|
|
9
|
+
</ConclusionScene>
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { MultipleChoiceScene, ChoiceList } from 'react-gamefic';
|
|
3
|
+
|
|
4
|
+
export class MultipleChoice extends React.Component {
|
|
5
|
+
render() {
|
|
6
|
+
return (
|
|
7
|
+
<MultipleChoiceScene>
|
|
8
|
+
<Output {...this.props} transcribe={true} />,
|
|
9
|
+
<ChoiceList options={this.props.state.options} prompt={this.props.state.prompt} />
|
|
10
|
+
</MultipleChoiceScene>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PauseScene, Output, CommandLink } from 'react-gamefic';
|
|
3
|
+
|
|
4
|
+
export class Pause extends React.Component {
|
|
5
|
+
render() {
|
|
6
|
+
return (
|
|
7
|
+
<PauseScene>
|
|
8
|
+
<Output {...this.props} transcribe={true} />
|
|
9
|
+
<CommandLink command="">Continue</CommandLink>
|
|
10
|
+
</PauseScene>
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
}
|
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.2.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-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: gamefic
|
|
@@ -17,6 +17,9 @@ dependencies:
|
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
19
|
version: '2.0'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 2.0.2
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -24,6 +27,9 @@ dependencies:
|
|
|
24
27
|
- - "~>"
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
29
|
version: '2.0'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 2.0.2
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: gamefic-standard
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -45,6 +51,9 @@ dependencies:
|
|
|
45
51
|
- - "~>"
|
|
46
52
|
- !ruby/object:Gem::Version
|
|
47
53
|
version: '2.0'
|
|
54
|
+
- - ">="
|
|
55
|
+
- !ruby/object:Gem::Version
|
|
56
|
+
version: 2.0.1
|
|
48
57
|
type: :runtime
|
|
49
58
|
prerelease: false
|
|
50
59
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -52,6 +61,9 @@ dependencies:
|
|
|
52
61
|
- - "~>"
|
|
53
62
|
- !ruby/object:Gem::Version
|
|
54
63
|
version: '2.0'
|
|
64
|
+
- - ">="
|
|
65
|
+
- !ruby/object:Gem::Version
|
|
66
|
+
version: 2.0.1
|
|
55
67
|
- !ruby/object:Gem::Dependency
|
|
56
68
|
name: listen
|
|
57
69
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -156,14 +168,14 @@ dependencies:
|
|
|
156
168
|
requirements:
|
|
157
169
|
- - "~>"
|
|
158
170
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '
|
|
171
|
+
version: '13.0'
|
|
160
172
|
type: :development
|
|
161
173
|
prerelease: false
|
|
162
174
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
175
|
requirements:
|
|
164
176
|
- - "~>"
|
|
165
177
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '
|
|
178
|
+
version: '13.0'
|
|
167
179
|
- !ruby/object:Gem::Dependency
|
|
168
180
|
name: rspec
|
|
169
181
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -216,6 +228,7 @@ files:
|
|
|
216
228
|
- ".gitignore"
|
|
217
229
|
- ".rspec"
|
|
218
230
|
- ".travis.yml"
|
|
231
|
+
- CHANGELOG.md
|
|
219
232
|
- Gemfile
|
|
220
233
|
- LICENSE.txt
|
|
221
234
|
- README.md
|
|
@@ -248,6 +261,11 @@ files:
|
|
|
248
261
|
- scaffolds/react/web/src/driver/opal.rb
|
|
249
262
|
- scaffolds/react/web/src/driver/production.js
|
|
250
263
|
- scaffolds/react/web/src/index.js
|
|
264
|
+
- scaffolds/react/web/src/scenes/Activity.jsx
|
|
265
|
+
- scaffolds/react/web/src/scenes/Conclusion.jsx
|
|
266
|
+
- scaffolds/react/web/src/scenes/MultipleChoice.jsx
|
|
267
|
+
- scaffolds/react/web/src/scenes/Pause.jsx
|
|
268
|
+
- scaffolds/react/web/src/scenes/index.js
|
|
251
269
|
- scaffolds/react/web/src/style.css
|
|
252
270
|
- scaffolds/react/webpack.config.js
|
|
253
271
|
homepage: http://gamefic.com
|
|
@@ -269,7 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
269
287
|
- !ruby/object:Gem::Version
|
|
270
288
|
version: '0'
|
|
271
289
|
requirements: []
|
|
272
|
-
rubygems_version: 3.
|
|
290
|
+
rubygems_version: 3.1.2
|
|
273
291
|
signing_key:
|
|
274
292
|
specification_version: 4
|
|
275
293
|
summary: Gamefic SDK
|