gamefic 4.0.1 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc53c7427d9e153ee3a41dfe297cf2c038733024a8d79c6feec8e648f6efd83a
4
- data.tar.gz: 88be2b8ba3d282e762692f39ce63fde315609d0b2f9a766f0a99ede59554ba30
3
+ metadata.gz: e5aaa5c2e7e709434b596c7bd216138ccc693d3893c56ed87ee54640e545d729
4
+ data.tar.gz: a7f12b8da551d9f97b279e6050333561e5d348940681cab7cf894f97a9eca085
5
5
  SHA512:
6
- metadata.gz: d97432e274e89b7202df2c5f1bebae60450db5c71813cf8f7c711997920fa1e41ca2a63e22bdb29b2e77b29b37174858e61e145004440b1dfa0c96403cd5d6b4
7
- data.tar.gz: 89023cc5765cabb26c86848ae73fd2871b22015aaeeadd48307ddbea004cb1ecb9a857d3e870b63497fc19405d7e07848643ede4bd80bf90336057ba2d9d49be
6
+ metadata.gz: b15fe4c2f586a9164a3166273c15638e548fbcf78d3f3e5bef41f55a8c054c06f1d5a16c62cbb13a252e635e0416c5fcb6da1f8574a1ac3323bb117d76f78fea
7
+ data.tar.gz: d26cb35d5a6fcae8f4c3511e2b22339491b5773d2288914c1125eeb38da4db51440e5780c28b1b4aec0344bb819f4abb97323d9ef5bcf21404667edf28705fe7
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 4.1.0 - February 1, 2025
2
+ - Correct Scenes#pause block
3
+
1
4
  ## 4.0.1 - January 26, 2025
2
5
  - Cue#prepare flushes messages
3
6
 
@@ -114,16 +114,26 @@ module Gamefic
114
114
  block Class.new(Scene::YesOrNo, &block), name
115
115
  end
116
116
 
117
+ # Create an active choice scene.
118
+ #
117
119
  # @param name [Symbol, nil]
118
120
  # @return [Class<Scene::ActiveChoice>]
119
121
  def active_choice(name = nil, &block)
120
122
  block Class.new(Scene::ActiveChoice, &block), name
121
123
  end
122
124
 
125
+ # Create a pause.
126
+ # The block will be executed at the start of the scene and the player
127
+ # will be prompted to press enter to continue.
128
+ #
123
129
  # @param name [Symbol, nil]
130
+ # @yieldparam [Actor]
131
+ # @yieldparam [Props::Default]
124
132
  # @return [Class<Scene::Pause>]
125
133
  def pause(name = nil, &block)
126
- block Class.new(Scene::Pause, &block), name
134
+ block(Class.new(Scene::Pause) do
135
+ on_start(&block)
136
+ end, name)
127
137
  end
128
138
 
129
139
  # Create a conclusion.
@@ -136,6 +146,8 @@ module Gamefic
136
146
  # end
137
147
  #
138
148
  # @param name [Symbol, nil]
149
+ # @yieldparam [Actor]
150
+ # @yieldparam [Props::Default]
139
151
  # @return [Class<Scene::Conclusion>]
140
152
  def conclusion(name = nil, &block)
141
153
  block(Class.new(Scene::Conclusion) do
@@ -3,10 +3,22 @@
3
3
  module Gamefic
4
4
  module Scriptable
5
5
  module Seeds
6
+ # @return [Array<Proc>]
6
7
  def seeds
7
8
  @seeds ||= []
8
9
  end
9
10
 
11
+ # Set methods and procs that get executed when a narrative gets initialized.
12
+ #
13
+ # @example
14
+ # class Example < Gamefic::Plot
15
+ # attr_reader :thing
16
+ #
17
+ # seed do
18
+ # @thing = make Entity, name: 'thing'
19
+ # end
20
+ # end
21
+ #
10
22
  def seed *methods, &block
11
23
  seeds.push(proc { methods.flatten.each { |method| send(method) } }) unless methods.empty?
12
24
  seeds.push block if block
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gamefic
4
- VERSION = '4.0.1'
4
+ VERSION = '4.1.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamefic
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.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: 2025-01-26 00:00:00.000000000 Z
11
+ date: 2025-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opal