Class: Miyako::Diagram::Processor
- Includes:
- Animation, Layout, SpriteBase
- Defined in:
- lib/Miyako/API/diagram.rb
Overview
遷移図操作クラス
遷移図形式の処理を制御するクラス
Instance Attribute Summary collapse
-
#diagram ⇒ Object
readonly
遷移図本体。Manager クラスのインスタンス.
-
#visible ⇒ Object
レンダリングの可否(true->描画 false->非描画).
Instance Method Summary collapse
-
#[](name) ⇒ Object
指定した名前のノードを取得する name:: ノード名(文字列・シンボル) 返却値:: ノード名に対応したノードのインスタンス.
-
#dispose ⇒ Object
各ノードに格納されているインスタンスを解放する.
-
#finish? ⇒ Boolean
遷移図形式の処理が終了しているかどうかを取得する 遷移図処理が終了したときと停止(Diagram::Processor#stop メソッドを実行)した時に finish? メソッドは true を返す 返却値:: 処理が終了していれば(開始前ならば) true を返す.
-
#initialize {|@diagram| ... } ⇒ Processor
constructor
インスタンスを生成する 遷移図形式のインスタンス群を生成する ブロックを必ず取り(取らないとエラー)、ブロック内では、遷移図の構成を実装する (Manager#add, Manager#add_arrow の各メソッドを参照) 返却値:: 生成されたインスタンス.
-
#initialize_copy(obj) ⇒ Object
:nodocs:.
-
#nodes ⇒ Object
登録しているノード名のリストを取得する 返却値:: ノード名リスト.
-
#now ⇒ Object
現在実行しているノード名を取得する 返却値:: ノード名(文字列・シンボル).
-
#now_node ⇒ Object
現在実行しているノードを取得する 返却値:: ノードのインスタンス.
-
#pause ⇒ Object
実行中の処理を停止させる resume メソッドが呼び出されるまで停止は復帰されない.
-
#render ⇒ Object
レンダリング処理を行う 現在処理中のノードのrenderメソッドを呼び出す。 visibleメソッドの値がfalseのときは描画されない。.
-
#renderer ⇒ Object
レンダリングのみのインスタンスを生成する MVCを推し進めるため、別の場所でレンダリングを行いたい場合に生成する。 返却値:: DiagramRenderer クラスのインスタンス.
-
#resume ⇒ Object
停止状態から復帰する このメソッドを呼び出すまで停止状態を保つ.
-
#start ⇒ Object
遷移図形式の処理を開始する.
-
#stop ⇒ Object
実行中の処理を中断させる.
-
#update(*params) ⇒ Object
処理の更新を行う 現在処理中のノードupdateメソッドを呼び出す。 params:: パラメータ群。省略可能.
-
#update_input(*params) ⇒ Object
入力デバイスに関わる処理を行う 現在処理中のノードのupdate_inputメソッドを呼び出す。 params:: パラメータ群。省略可能.
Methods included from Layout
#add_snap_child, #bottom, #bottom!, #broad_rect, #center, #center!, #centering, #centering!, #copy_layout, #delete_snap_child, #get_snap_children, #get_snap_sprite, #h, #include_snap_child?, #init_layout, #layout_dispose, #left, #left!, #middle, #middle!, #move, #move!, #move_to, #move_to!, #on_move, #outside_bottom, #outside_bottom!, #outside_left, #outside_left!, #outside_right, #outside_right!, #outside_top, #outside_top!, #pos, #rect, #relative_move_to, #relative_move_to!, #reset_snap, #right, #right!, #segment, #set_layout_size, #set_snap_children, #set_snap_sprite, #size, #snap, #top, #top!, #update_layout, #update_layout_position, #w, #x, #y
Methods included from Animation
[], []=, anim_hash, reset, #reset, start, stop, update, update_animation, #update_animation
Methods included from SpriteBase
#bitmap, #hide, #image_rect, #image_size, #oh, #oh=, #ow, #ow=, #ox, #ox=, #oy, #oy=, #part_rect, #rect, #render_d, #render_to, #render_xy, #render_xy_to, #show, #to_sprite, #to_unit
Constructor Details
#initialize {|@diagram| ... } ⇒ Processor
インスタンスを生成する
遷移図形式のインスタンス群を生成する ブロックを必ず取り(取らないとエラー)、ブロック内では、遷移図の構成を実装する (Manager#add, Manager#add_arrow の各メソッドを参照)
- 返却値
-
生成されたインスタンス
484 485 486 487 488 489 490 491 |
# File 'lib/Miyako/API/diagram.rb', line 484 def initialize init_layout set_layout_size(1,1) @states = {:execute => false, :pause => false, :type1 => false } @diagram = Miyako::Diagram::Manager.new @visible = true yield @diagram if block_given? end |
Instance Attribute Details
#diagram ⇒ Object (readonly)
遷移図本体。Manager クラスのインスタンス
476 477 478 |
# File 'lib/Miyako/API/diagram.rb', line 476 def diagram @diagram end |
#visible ⇒ Object
レンダリングの可否(true->描画 false->非描画)
477 478 479 |
# File 'lib/Miyako/API/diagram.rb', line 477 def visible @visible end |
Instance Method Details
#[](name) ⇒ Object
指定した名前のノードを取得する
- name
-
ノード名(文字列・シンボル)
- 返却値
-
ノード名に対応したノードのインスタンス
573 574 575 |
# File 'lib/Miyako/API/diagram.rb', line 573 def [](name) return @diagram[name] end |
#dispose ⇒ Object
各ノードに格納されているインスタンスを解放する
559 560 561 |
# File 'lib/Miyako/API/diagram.rb', line 559 def dispose @diagram.dispose end |
#finish? ⇒ Boolean
遷移図形式の処理が終了しているかどうかを取得する
遷移図処理が終了したときと停止(Diagram::Processor#stop メソッドを実行)した時に finish? メソッドは true を返す
- 返却値
-
処理が終了していれば(開始前ならば) true を返す
554 555 556 |
# File 'lib/Miyako/API/diagram.rb', line 554 def finish? @diagram.finish? end |
#initialize_copy(obj) ⇒ Object
:nodocs:
493 494 495 496 |
# File 'lib/Miyako/API/diagram.rb', line 493 def initialize_copy(obj) #:nodocs: @states = @states.dup @diagram = @diagram.dup end |
#nodes ⇒ Object
登録しているノード名のリストを取得する
- 返却値
-
ノード名リスト
591 592 593 |
# File 'lib/Miyako/API/diagram.rb', line 591 def nodes return @diagram.nodes end |
#now ⇒ Object
現在実行しているノード名を取得する
- 返却値
-
ノード名(文字列・シンボル)
579 580 581 |
# File 'lib/Miyako/API/diagram.rb', line 579 def now return @diagram.now end |
#now_node ⇒ Object
現在実行しているノードを取得する
- 返却値
-
ノードのインスタンス
585 586 587 |
# File 'lib/Miyako/API/diagram.rb', line 585 def now_node return @diagram.now_node end |
#pause ⇒ Object
実行中の処理を停止させる
resume メソッドが呼び出されるまで停止は復帰されない
514 515 516 517 |
# File 'lib/Miyako/API/diagram.rb', line 514 def pause return unless @states[:execute] @states[:pause] = true end |
#render ⇒ Object
レンダリング処理を行う
現在処理中のノードのrenderメソッドを呼び出す。 visibleメソッドの値がfalseのときは描画されない。
546 547 548 549 |
# File 'lib/Miyako/API/diagram.rb', line 546 def render return unless @visible @diagram.render end |
#renderer ⇒ Object
レンダリングのみのインスタンスを生成する
MVCを推し進めるため、別の場所でレンダリングを行いたい場合に生成する。
- 返却値
-
DiagramRenderer クラスのインスタンス
566 567 568 |
# File 'lib/Miyako/API/diagram.rb', line 566 def renderer return Miyako::Diagram::Renderer.new(self.method(:render)) end |
#resume ⇒ Object
停止状態から復帰する
このメソッドを呼び出すまで停止状態を保つ
521 522 523 524 |
# File 'lib/Miyako/API/diagram.rb', line 521 def resume return unless @states[:execute] @states[:pause] = false end |
#start ⇒ Object
遷移図形式の処理を開始する
499 500 501 502 503 |
# File 'lib/Miyako/API/diagram.rb', line 499 def start return if @states[:execute] @diagram.start @states[:execute] = true end |
#stop ⇒ Object
実行中の処理を中断させる
506 507 508 509 510 |
# File 'lib/Miyako/API/diagram.rb', line 506 def stop return unless @states[:execute] @diagram.stop @states[:execute] = false end |
#update(*params) ⇒ Object
処理の更新を行う
現在処理中のノードupdateメソッドを呼び出す。
- params
-
パラメータ群。省略可能
537 538 539 540 541 |
# File 'lib/Miyako/API/diagram.rb', line 537 def update(*params) return if @states[:pause] @diagram.update(*params) @states[:execute] = false if @diagram.finish? end |
#update_input(*params) ⇒ Object
入力デバイスに関わる処理を行う
現在処理中のノードのupdate_inputメソッドを呼び出す。
- params
-
パラメータ群。省略可能
529 530 531 532 |
# File 'lib/Miyako/API/diagram.rb', line 529 def update_input(*params) return if @states[:pause] @diagram.update_input(*params) end |