ruby-miyako-mswin32 2.1.10 → 2.1.11
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.
- data/README +89 -16
- data/lib/Miyako/API/choices.rb +17 -3
- data/lib/Miyako/API/i_yuki.rb +136 -21
- data/lib/Miyako/API/layout.rb +110 -107
- data/lib/Miyako/API/modules.rb +60 -13
- data/lib/Miyako/API/sprite_animation.rb +32 -37
- data/lib/Miyako/API/sprite_list.rb +34 -0
- data/lib/Miyako/API/textbox.rb +1 -1
- data/lib/Miyako/API/yuki.rb +136 -22
- data/lib/Miyako/EXT/drawer.rb +117 -0
- data/lib/Miyako/miyako.rb +2 -2
- data/lib/Miyako/miyako_no_katana.so +0 -0
- data/sample/drawer_sample.rb +67 -0
- metadata +4 -2
data/README
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
*******************************************************************************
|
2
2
|
【 作者名 】 サイロス誠
|
3
3
|
【 ソフト名 】 Interactive Media Authoring System "Miyako"
|
4
|
-
【 バージョン 】 2.1.
|
5
|
-
【 作成日 】 2010/
|
4
|
+
【 バージョン 】 2.1.11
|
5
|
+
【 作成日 】 2010/05/01
|
6
6
|
【 種別 】 フリーウェア
|
7
7
|
【 開発言語 】 Ruby 1.9.1
|
8
8
|
【 ランタイム 】 Ruby 1.9.1~,Ruby/SDL 2.1~,SDL
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
【 注意事項 】
|
17
17
|
|
18
|
-
本バージョンは、2.1.
|
18
|
+
本バージョンは、2.1.11公式リリース版です。
|
19
19
|
本バージョンでは、ドキュメント・リファレンスは不十分ですが、「サイログ。」内や、サンプルプログラムの紹介等で随時ドキュメントを公開して行きます。
|
20
20
|
(RDOC化を進めていますので、我こそはと思う方は是非・・・)
|
21
21
|
|
@@ -91,24 +91,21 @@ PAD : BUFFALO BGC-FC802
|
|
91
91
|
OS : Microsoft WindowsXp SP3
|
92
92
|
Microsoft WindowsVista Ultimate(x64) SP1
|
93
93
|
DEV : Notepad++ v5.3.1-6
|
94
|
-
|
94
|
+
mingw32版Ruby 1.9.2dev + Ruby/SDL 2.1.1
|
95
95
|
MinGW+MSYS(miyako_no_katanaビルド)
|
96
|
-
rcairo-1.8.0(miyako-cairo検証用)
|
97
96
|
|
98
97
|
<サブ開発PC>
|
99
|
-
Panasonic Let'sNOTE Light
|
100
|
-
CPU :
|
101
|
-
MEM :
|
98
|
+
Panasonic Let'sNOTE Light S9
|
99
|
+
CPU : Core i5
|
100
|
+
MEM : 4GB(2GBx2)
|
102
101
|
PAD : SANWA SUPPLY JY-P1W
|
103
|
-
OS : Microsoft
|
102
|
+
OS : Microsoft Windows7 x64
|
104
103
|
DEV : Notepad++ v5.3.1-6
|
105
|
-
mswin32版Ruby 1.9.
|
106
|
-
MinGW+MSYS(miyako_no_katanaビルド)
|
104
|
+
mswin32版Ruby 1.9.2dev + Ruby/SDL 2.1.1
|
107
105
|
|
108
106
|
【 動作確認環境 】
|
109
107
|
|
110
|
-
上記環境に追加して、
|
111
|
-
Ubuntu9.04(x86)+Ruby1.9.1+Ruby/SDL2.1.0で動作確認済み
|
108
|
+
上記環境に追加して、Ubuntu9.04(x86)+Ruby1.9.1+Ruby/SDL2.1.1で動作確認済み
|
112
109
|
|
113
110
|
【 動作環境 】
|
114
111
|
|
@@ -121,10 +118,9 @@ WindowsXp Home/Pro、WindowsVista、Linux、MacOSX等、Ruby/SDLが動作する
|
|
121
118
|
ビデオメモリ :8MB(32bitカラー対応、64MB以上奨励)
|
122
119
|
サウンドカード:必須(出来ればSoundBlaster Live!クラス)
|
123
120
|
|
124
|
-
Ruby1.9.1以降
|
121
|
+
Ruby1.9.1以降(Ruby1.9.2対応)
|
125
122
|
Ruby/SDL 2.1+対応SDLライブラリ群
|
126
123
|
(SDL、SDL_ttf、SDL_image、SDL_Mixer、SGE、smpeg)
|
127
|
-
rcairo 1.8.0以降(miyako-cairo使用時)
|
128
124
|
|
129
125
|
【 ファイル構成 】
|
130
126
|
|
@@ -1620,7 +1616,6 @@ v2.1.9(2010.03.07)
|
|
1620
1616
|
・ScenarioEngine#canceled?が正しく動作しない(オブジェクトの参照間違い)バグを修正
|
1621
1617
|
・InitiativeScenarioEngine#canceled?が正しく動作しない(オブジェクトの参照間違い)バグを修正
|
1622
1618
|
・Audio::SE#startの記述ミスを修正
|
1623
|
-
・SpriteListクラスのオブジェクトからsnap等のレイアウト関係メソッドを呼び出すとプログラムが墜ちるバグを修正
|
1624
1619
|
<機能改善>
|
1625
1620
|
・シーン管理(Story,Scene)に、オブジェクトの引き継ぎ機能を追加
|
1626
1621
|
・シーン終了時、返却値に[次シーン名,オブジェクト]を渡すことで、次シーンでは、全シーンの状態などを受け取ることが可能になった
|
@@ -1654,5 +1649,83 @@ v2.1.9(2010.03.07)
|
|
1654
1649
|
<インスタンスメソッド追加>
|
1655
1650
|
<インスタンスメソッド廃止>
|
1656
1651
|
|
1652
|
+
v2.1.10(2010.04.20)
|
1653
|
+
<バグ修正>
|
1654
|
+
・SpriteListクラスのオブジェクトからsnap等のレイアウト関係メソッドを呼び出すとプログラムが墜ちるバグを修正
|
1655
|
+
・Input.updateメソッドの処理に、イベントを逆順に取得する問題があった箇所を修正
|
1656
|
+
<機能改善>
|
1657
|
+
<仕様変更>
|
1658
|
+
<ファイル追加>
|
1659
|
+
<ファイル削除>
|
1660
|
+
<グローバル変数追加>
|
1661
|
+
<定数追加>
|
1662
|
+
<定数削除>
|
1663
|
+
<構造体追加>
|
1664
|
+
<クラス追加>
|
1665
|
+
<モジュール追加>
|
1666
|
+
<mixin>
|
1667
|
+
<クラス・モジュールメソッド追加>
|
1668
|
+
<クラス・モジュールメソッド廃止>
|
1669
|
+
<モジュール関数追加>
|
1670
|
+
<モジュール関数廃止>
|
1671
|
+
<インスタンスメソッド追加>
|
1672
|
+
<インスタンスメソッド廃止>
|
1673
|
+
<ドキュメント>
|
1674
|
+
・リファレンスマニュアルの項目追加
|
1675
|
+
|
1676
|
+
v2.1.11(2010.05.01)
|
1677
|
+
<バグ修正>
|
1678
|
+
・エラーメッセージの修正(ScenarioEngine,InitiativeScenarioEngine)
|
1679
|
+
<機能改善>
|
1680
|
+
<仕様変更>
|
1681
|
+
・ScenarioEngine/InitiativeScenarioEngine#commandメソッドの見直し
|
1682
|
+
・インタフェース使用に変化なし
|
1683
|
+
・配列の中身がChoicesクラスオブジェクト(の配列)のときにも対応した
|
1684
|
+
・Choice構造体の:rightと:upの順番を入れ替え
|
1685
|
+
・SpriteAnimation.newメソッドの:sprite引数に加えて、:sprites引数に置き換え可能とした
|
1686
|
+
・SpriteAnimation#render,render_toの高速化を廃止
|
1687
|
+
・SpriteAnimation#newに渡すスプライトの範囲を拡大(要素はSpriteBase・Layoutモジュールを取り込んだ物なら何でも良くなった)
|
1688
|
+
<ファイル追加>
|
1689
|
+
・lib/EXT/drawer.rb
|
1690
|
+
・sample/drawer_sample.rb
|
1691
|
+
<ファイル削除>
|
1692
|
+
<グローバル変数追加>
|
1693
|
+
<定数追加>
|
1694
|
+
<定数削除>
|
1695
|
+
<構造体追加>
|
1696
|
+
<クラス追加>
|
1697
|
+
Drawer
|
1698
|
+
<モジュール追加>
|
1699
|
+
<mixin>
|
1700
|
+
<クラス・モジュールメソッド追加>
|
1701
|
+
<クラス・モジュールメソッド廃止>
|
1702
|
+
<モジュール関数追加>
|
1703
|
+
・SpriteBase#.ox=
|
1704
|
+
・SpriteBase#.oy=
|
1705
|
+
・SpriteBase#.ow=
|
1706
|
+
・SpriteBase#.oh=
|
1707
|
+
・SpriteArray#.render_xy
|
1708
|
+
・SpriteArray#.render_xy_to
|
1709
|
+
<モジュール関数廃止>
|
1710
|
+
<インスタンスメソッド追加>
|
1711
|
+
・ScenarioEngine::Command#to_choice
|
1712
|
+
・ScenarioEngine::CommandEx#to_choice
|
1713
|
+
・ScenarioEngine#start_all
|
1714
|
+
・ScenarioEngine#stop_all
|
1715
|
+
・ScenarioEngine#reset_all
|
1716
|
+
・ScenarioEngine#animation_all
|
1717
|
+
・InitiativeScenarioEngine::Command#to_choice
|
1718
|
+
・InitiativeScenarioEngine::CommandEx#to_choice
|
1719
|
+
・InitiativeScenarioEngine#start_all
|
1720
|
+
・InitiativeScenarioEngine#stop_all
|
1721
|
+
・InitiativeScenarioEngine#reset_all
|
1722
|
+
・InitiativeScenarioEngine#animation_all
|
1723
|
+
・Choice#arrow
|
1724
|
+
・SpriteList#render_xy
|
1725
|
+
・SpriteList#render_xy_to
|
1726
|
+
<インスタンスメソッド廃止>
|
1727
|
+
<ドキュメント>
|
1728
|
+
・リファレンスマニュアルの項目追加
|
1729
|
+
|
1657
1730
|
*******************************************************************************
|
1658
1731
|
このReadMeファイルは「れ~どめ~えじた~」によって作成されました。
|
data/lib/Miyako/API/choices.rb
CHANGED
@@ -26,6 +26,8 @@ module Miyako
|
|
26
26
|
include Animation
|
27
27
|
include Layout
|
28
28
|
|
29
|
+
DIRECTION_LIST = [:up, :down, :left, :right, :base]
|
30
|
+
|
29
31
|
attr_accessor :visible #レンダリングの可否(true->描画 false->非描画)
|
30
32
|
|
31
33
|
def initialize(*params)
|
@@ -120,6 +122,18 @@ module Miyako
|
|
120
122
|
min_y, max_y = yy.minmax
|
121
123
|
return Rect.new(min_x, min_y, max_x-min_x, max_y-min_y)
|
122
124
|
end
|
125
|
+
|
126
|
+
#===方向と移動先とを関連づける
|
127
|
+
# _hash_:: (方向)=>(移動先)の関係を持つハッシュ
|
128
|
+
# ハッシュキーは、:up,:down,:left,:right,:baseの5つ
|
129
|
+
#返却値:: 生成された矩形(Rect構造体のインスタンス)
|
130
|
+
def arrow(hash)
|
131
|
+
hash.each{|key, value|
|
132
|
+
raise MiakoValueError, "illegal hash key!" unless DIRECTION_LIST.include?(key)
|
133
|
+
self[key] = value
|
134
|
+
}
|
135
|
+
return self
|
136
|
+
end
|
123
137
|
end
|
124
138
|
|
125
139
|
#==選択肢構造体
|
@@ -136,10 +150,10 @@ module Miyako
|
|
136
150
|
#_selected_:: 選択肢が選択されているときはtrue、選択されていないときはfalse
|
137
151
|
#_result_:: 選択した結果を示すインスタンス
|
138
152
|
#_left_:: 左方向を選択したときに参照するChoice構造体のインスタンス
|
139
|
-
#_right_:: 右方向を選択したときに参照するChoice構造体のインスタンス
|
140
153
|
#_up_:: 上方向を選択したときに参照するChoice構造体のインスタンス
|
154
|
+
#_right_:: 右方向を選択したときに参照するChoice構造体のインスタンス
|
141
155
|
#_down_:: 下方向を選択したときに参照するChoice構造体のインスタンス
|
142
|
-
#_base_::
|
156
|
+
#_base_:: 構造体が要素となっているChoices
|
143
157
|
#_attribute_:: 属性を示すハッシュ
|
144
158
|
#_end_select_proc_:: この選択肢を選択したときに優先的に処理するブロック。
|
145
159
|
#ブロックは1つの引数を取る(コマンド選択テキストボックス))。
|
@@ -147,7 +161,7 @@ module Miyako
|
|
147
161
|
#_name_:: 選択肢の名前。名前を明示的に指定しないときは、オブジェクトIDを文字列化したものが入る
|
148
162
|
Choice = ChoiceStruct.new(:body, :body_selected, :body_disable,
|
149
163
|
:condition, :enable, :selected, :result,
|
150
|
-
:left, :
|
164
|
+
:left, :up, :right, :down,
|
151
165
|
:base, :attribute, :end_select_proc, :name)
|
152
166
|
|
153
167
|
#==選択肢を管理するクラス
|
data/lib/Miyako/API/i_yuki.rb
CHANGED
@@ -71,6 +71,8 @@ module Miyako
|
|
71
71
|
include SpriteBase
|
72
72
|
include Animation
|
73
73
|
|
74
|
+
ALL_TRUE = lambda{ true }
|
75
|
+
|
74
76
|
#==キャンセルを示す構造体
|
75
77
|
#コマンド選択がキャンセルされたときに生成される構造体
|
76
78
|
Canceled = Struct.new(:dummy)
|
@@ -84,6 +86,43 @@ module Miyako
|
|
84
86
|
#_enabe_:: コマンド選択の時はtrue、選択不可の時はfalseを設定
|
85
87
|
Command = Struct.new(:body, :body_selected, :body_disable, :enable, :condition, :result)
|
86
88
|
|
89
|
+
class Command
|
90
|
+
# Command構造体をChoice構造体に変換する
|
91
|
+
def to_choice(font=Font.sans_serif, size=16, color=Color[:white])
|
92
|
+
org_font_color = font.color
|
93
|
+
org_font_size = font.size
|
94
|
+
|
95
|
+
font.color = color
|
96
|
+
tmp = self[:body]
|
97
|
+
body = tmp.method(:to_sprite).arity == 0 ? tmp.to_sprite : tmp.to_sprite(font)
|
98
|
+
|
99
|
+
font.color = Color[:red]
|
100
|
+
tmp = self[:body_selected]
|
101
|
+
body_selected = tmp ? (tmp.method(:to_sprite).arity == 0 ? tmp.to_sprite : tmp.to_sprite(font)) : body
|
102
|
+
|
103
|
+
font.color = Color[:dark_gray]
|
104
|
+
tmp = self[:body_disable]
|
105
|
+
body_disable= tmp ? (tmp.method(:to_sprite).arity == 0 ? tmp.to_sprite : tmp.to_sprite(font)) : body
|
106
|
+
|
107
|
+
cond = self[:condition] || ALL_TRUE
|
108
|
+
|
109
|
+
choice = Choice.new(body, body_selected, body_disable,
|
110
|
+
cond, self[:enable], false, self[:result],
|
111
|
+
nil, nil, nil, nil,
|
112
|
+
nil, {}, lambda{}, nil)
|
113
|
+
choice.left = choice
|
114
|
+
choice.right = choice
|
115
|
+
choice.up = choice
|
116
|
+
choice.down = choice
|
117
|
+
choice.name = choice.__id__.to_s
|
118
|
+
|
119
|
+
font.color = org_font_color
|
120
|
+
font.size = org_font_size
|
121
|
+
|
122
|
+
choice
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
87
126
|
#==コマンド構造体
|
88
127
|
#_body_:: コマンドの名称(移動する、調べるなど、アイコンなどの画像も可)
|
89
128
|
#_body_selected_:: 選択時コマンドの名称(移動する、調べるなど、アイコンなどの画像も可)(省略時は、bodyと同一)
|
@@ -95,6 +134,43 @@ module Miyako
|
|
95
134
|
#_enabe_:: コマンド選択の時はtrue、選択不可の時はfalseを設定
|
96
135
|
CommandEX = Struct.new(:body, :body_selected, :condition, :body_disable, :enable, :result, :end_select_proc)
|
97
136
|
|
137
|
+
class CommandEx
|
138
|
+
# Command構造体をChoice構造体に変換する
|
139
|
+
def to_choice(font=Font.sans_serif, size=16, color=Color[:white])
|
140
|
+
org_font_color = font.color
|
141
|
+
org_font_size = font.size
|
142
|
+
|
143
|
+
font.color = color
|
144
|
+
tmp = self[:body]
|
145
|
+
body = tmp.method(:to_sprite).arity == 0 ? tmp.to_sprite : tmp.to_sprite(font)
|
146
|
+
|
147
|
+
font.color = Color[:red]
|
148
|
+
tmp = self[:body_selected]
|
149
|
+
body_selected = tmp ? (tmp.method(:to_sprite).arity == 0 ? tmp.to_sprite : tmp.to_sprite(font)) : body
|
150
|
+
|
151
|
+
font.color = Color[:dark_gray]
|
152
|
+
tmp = self[:body_disable]
|
153
|
+
body_disable= tmp ? (tmp.method(:to_sprite).arity == 0 ? tmp.to_sprite : tmp.to_sprite(font)) : body
|
154
|
+
|
155
|
+
cond = self[:condition] || ALL_TRUE
|
156
|
+
|
157
|
+
choice = Choice.new(body, body_selected, body_disable,
|
158
|
+
cond, self[:enable], false, self[:result],
|
159
|
+
nil, nil, nil, nil,
|
160
|
+
nil, {}, self[:end_select_proc], nil)
|
161
|
+
choice.left = choice
|
162
|
+
choice.right = choice
|
163
|
+
choice.up = choice
|
164
|
+
choice.down = choice
|
165
|
+
choice.name = choice.__id__.to_s
|
166
|
+
|
167
|
+
font.color = org_font_color
|
168
|
+
font.size = org_font_size
|
169
|
+
|
170
|
+
choice
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
98
174
|
attr_reader :visibles, :pre_visibles, :bgs, :base
|
99
175
|
attr_reader :valign
|
100
176
|
#release_checks:: ポーズ解除を問い合わせるブロックの配列。
|
@@ -224,7 +300,7 @@ module Miyako
|
|
224
300
|
|
225
301
|
@engine_stack = []
|
226
302
|
|
227
|
-
raise MiyakoProcError, "
|
303
|
+
raise MiyakoProcError, "Argument count is not same block parameter count!" if proc && proc.arity.abs != params.length
|
228
304
|
instance_exec(*params, &proc) if block_given?
|
229
305
|
end
|
230
306
|
|
@@ -274,6 +350,38 @@ module Miyako
|
|
274
350
|
self.pre_visibles.render
|
275
351
|
end
|
276
352
|
|
353
|
+
def start_all
|
354
|
+
self.bgs.start
|
355
|
+
self.visibles.start
|
356
|
+
self.textbox_all.start
|
357
|
+
self.commandbox_all.start unless self.box_shared?
|
358
|
+
self.pre_visibles.start
|
359
|
+
end
|
360
|
+
|
361
|
+
def stop_all
|
362
|
+
self.bgs.stop
|
363
|
+
self.visibles.stop
|
364
|
+
self.textbox_all.stop
|
365
|
+
self.commandbox_all.stop unless self.box_shared?
|
366
|
+
self.pre_visibles.stop
|
367
|
+
end
|
368
|
+
|
369
|
+
def reset_all
|
370
|
+
self.bgs.reset
|
371
|
+
self.visibles.reset
|
372
|
+
self.textbox_all.reset
|
373
|
+
self.commandbox_all.reset unless self.box_shared?
|
374
|
+
self.pre_visibles.reset
|
375
|
+
end
|
376
|
+
|
377
|
+
def animation_all
|
378
|
+
self.bgs.update_animation
|
379
|
+
self.visibles.update_animation
|
380
|
+
self.textbox_all.update_animation
|
381
|
+
self.commandbox_all.update_animation unless self.box_shared?
|
382
|
+
self.pre_visibles.update_animation
|
383
|
+
end
|
384
|
+
|
277
385
|
#===Yuki#showで表示指定した画像を描画する
|
278
386
|
#描画順は、showメソッドで指定した順に描画される(先に指定した画像は後ろに表示される)
|
279
387
|
#なお、visibleの値がfalseの時は描画されない。
|
@@ -798,7 +906,7 @@ module Miyako
|
|
798
906
|
@now_page = nil
|
799
907
|
@first_page = nil
|
800
908
|
|
801
|
-
raise MiyakoProcError, "
|
909
|
+
raise MiyakoProcError, "Argument count is not same block parameter count!" if proc && proc.arity.abs != params.length
|
802
910
|
instance_exec(*params, &proc) if proc
|
803
911
|
|
804
912
|
return self
|
@@ -829,9 +937,9 @@ module Miyako
|
|
829
937
|
#返却値:: 自分自身を返す
|
830
938
|
def start_plot(base, plot_proc = nil, *params, &plot_block)
|
831
939
|
raise MiyakoValueError, "Yuki Error! Textbox is not selected!" unless @text_box
|
832
|
-
raise MiyakoProcError, "
|
833
|
-
raise MiyakoProcError, "
|
834
|
-
raise MiyakoProcError, "
|
940
|
+
raise MiyakoProcError, "Argument count is not same block parameter count!" if plot_proc && plot_proc.arity.abs != params.length
|
941
|
+
raise MiyakoProcError, "Argument count is not same block parameter count!" if plot_block && plot_block.arity.abs != params.length
|
942
|
+
raise MiyakoProcError, "Argument count is not same block parameter count!" if @exec_plot && @exec_plot.arity.abs != params.length
|
835
943
|
@base = base
|
836
944
|
plot_facade(plot_proc, *params, &plot_block)
|
837
945
|
return self
|
@@ -1314,7 +1422,7 @@ module Miyako
|
|
1314
1422
|
#引数無しのブロックを渡せば、コマンド選択開始前に、決定判別・キャンセル判別に必要な前処理を施すことが出来る
|
1315
1423
|
#選択中、update_innerメソッドを呼び出し、続けて、処理をYuki#startもしくはYuki#update呼び出し直後に戻す
|
1316
1424
|
#Yuki#updateが呼び出されても選択中の場合は、再び上記の処理を繰り返す
|
1317
|
-
#_command_list_:: 表示するコマンド群。各要素はCommand
|
1425
|
+
#_command_list_:: 表示するコマンド群。各要素はCommand構造体/CommandEx構造体/Choicesクラスオブジェクトの配列
|
1318
1426
|
#_cancel_to_:: キャンセルボタンを押したときの結果。デフォルトはnil(キャンセル無効)
|
1319
1427
|
#_chain_block_:: コマンドの表示方法。TextBox#create_choices_chainメソッド参照
|
1320
1428
|
#返却値:: 自分自身を返す
|
@@ -1322,22 +1430,29 @@ module Miyako
|
|
1322
1430
|
raise MiyakoValueError, "Yuki Error! Commandbox is not selected!" unless @command_box
|
1323
1431
|
@cancel = cancel_to
|
1324
1432
|
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1330
|
-
|
1331
|
-
|
1332
|
-
|
1333
|
-
|
1334
|
-
|
1433
|
+
if command_list.kind_of?(Choices)
|
1434
|
+
@pre_command.each{|proc| proc.call}
|
1435
|
+
@pre_cancel.each{|proc| proc.call}
|
1436
|
+
@command_box_all.show if @command_box_all.object_id != @text_box_all.object_id
|
1437
|
+
@command_box.command(command_list)
|
1438
|
+
else
|
1439
|
+
choices = []
|
1440
|
+
command_list.each{|cm|
|
1441
|
+
if (cm[:condition] == nil || cm[:condition].call)
|
1442
|
+
cm_array = [cm[:body], cm[:body_selected], cm[:body_disable], cm[:enable], cm[:result]]
|
1443
|
+
methods = cm.methods
|
1444
|
+
cm_array << (methods.include?(:end_select_proc) ? cm[:end_select_proc] : nil)
|
1445
|
+
choices.push(cm_array)
|
1446
|
+
end
|
1447
|
+
}
|
1448
|
+
return self if choices.length == 0
|
1449
|
+
|
1450
|
+
@pre_command.each{|proc| proc.call}
|
1451
|
+
@pre_cancel.each{|proc| proc.call}
|
1452
|
+
@command_box_all.show if @command_box_all.object_id != @text_box_all.object_id
|
1453
|
+
@command_box.command(@command_box.create_choices_chain(choices, &chain_block))
|
1454
|
+
end
|
1335
1455
|
|
1336
|
-
@pre_command.each{|proc| proc.call}
|
1337
|
-
@pre_cancel.each{|proc| proc.call}
|
1338
|
-
yield if block_given?
|
1339
|
-
@command_box_all.show if @command_box_all.object_id != @text_box_all.object_id
|
1340
|
-
@command_box.command(@command_box.create_choices_chain(choices, &chain_block))
|
1341
1456
|
@result = nil
|
1342
1457
|
selecting = true
|
1343
1458
|
reset_selecting
|