[前へ] [目次へ] [次へ]

ParticleEmitter_Method (script/fgs/system_multipart.fges)


このクラスはエミッターメソッドを稼働するためのパーティクルエミッタークラスです。
エミッターメソッドは独立したスレッドで実行され、
@@HALT_PARTICLE 中断識別子によって中断できるように記述する必要があります。

●継承/注入

   このクラスは継承/注入をしていません。

●インターフェイスとインターフェイスメソッド

   implements IParticleEmitter
          Init
          IsReady
          Update
          Halt


●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
internal操作メソッド Haltエミッターメソッドの処理を中止します
internal操作メソッド FarExecエミッターメソッドを起動します(サブスレッド側処理)
internal操作メソッド FarExecBindエミッターメソッドを起動します(サブスレッド側処理)
internal操作メソッド FarExecBindCエミッターメソッドを起動します(サブスレッド側処理)
public操作メソッド Execエミッターメソッドを起動します
public操作メソッド ExecBindエミッターメソッドを起動します
public操作メソッド ExecBindCエミッターメソッドを起動します

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

名前概要
readable met_threadエミッターメソッド用スレッドハンドル
readable isreadyエミッターメソッド準備完了フラグ
readable hostエミッターを管理しているパーティクルホスト
public memhostエミッター寿命オブジェクト用メモリ管理オブジェクト




ParticleEmitter_Method::IParticleEmitter@@Init

void IParticleEmitter@@Init(editable IParticleHost host)

   エミッターを初期化します。
   このメソッドから戻った後は Halt が呼ばれる可能性があります。
   このメソッド中に処理中止を行えるようにしてください。

editable IParticleHost host :このオブジェクトを管理するホストオブジェクト

先頭へ


ParticleEmitter_Method::IParticleEmitter@@IsReady

Bool IParticleEmitter@@IsReady(editable IParticleHost host)const

   エミッターを開始できる状態になっているか判定します。
   このメソッドが真を返すまではエミッターは更新されません。
   
   ただし、開始準備が出来ていなくても Halt は呼ばれる可能性があります。

戻り値:エミッターを開始できる状態になっていれば真を返します。

editable IParticleHost host :このオブジェクトを管理するホストオブジェクト

先頭へ


ParticleEmitter_Method::IParticleEmitter@@Update

Bool IParticleEmitter@@Update(editable IParticleHost host)

   エミッターの状態を1フレーム分更新します。
   エミッターがパーティクルを生成する場合は host に対して生成してください。
   
   このメソッドが偽を返すとエミッター処理が完了したとみなされ、
   エミッターオブジェクトが削除されます。
   この時、 Halt は呼び出されません。

戻り値:エミッターの処理を継続する場合は真を返します。

editable IParticleHost host :このオブジェクトを管理するホストオブジェクト

先頭へ


ParticleEmitter_Method::IParticleEmitter@@Halt

void IParticleEmitter@@Halt(editable IParticleHost host)

   エミッターの処理を中止することを通知します。
   このメソッドが呼び出された後、エミッターオブジェクトは削除されます。
   
   このメソッドはエミッターの初期化以降、完了までの間に
   パーティクルホスト側の都合でエミッター処理を中止する場合に呼び出されます。
   エミッターの開始前でも呼び出されることに注意してください。

editable IParticleHost host :このオブジェクトを管理するホストオブジェクト

先頭へ


ParticleEmitter_Method::Halt

internal void Halt()

   エミッターの処理を中止することを通知します。
   
   このメソッドが呼び出された時にエミッターメソッドが実行中だった場合、
   エミッターメソッドに対する中断要求が送出されます。
   
   このメソッドはエミッターメソッドが中断または終了するまで処理を返しません。

先頭へ


ParticleEmitter_Method::FarExec

internal void FarExec( INativeMethod emitter_method, Arguments emitter_arg)

   エミッターメソッドを起動するためのサブスレッド側エントリーメソッド。
   
   このメソッドは @@HALT_PARTICLE 中断識別子を受け付けるように宣言した後、
   エミッターメソッドを呼び出します。
   
INativeMethod emitter_method :起動するエミッターメソッド
Arguments emitter_arg :エミッターメソッドの引数リスト

先頭へ


ParticleEmitter_Method::FarExecBind

internal void FarExecBind(editable Any hostobj, FGESMethod emitter_method, Arguments emitter_arg)

   エミッターメソッドを起動するためのサブスレッド側エントリーメソッド。
   
   このメソッドは @@HALT_PARTICLE 中断識別子を受け付けるように宣言した後、
   エミッターメソッドを呼び出します。
   
editable Any hostobj :エミッターメソッドのホストオブジェクト
FGESMethod emitter_method :起動するエミッターメソッド
Arguments emitter_arg :エミッターメソッドの引数リスト

先頭へ


ParticleEmitter_Method::FarExecBindC

internal void FarExecBindC( Any hostobj, FGESMethod emitter_method, Arguments emitter_arg)

   エミッターメソッドを起動するためのサブスレッド側エントリーメソッド。
   
   このメソッドは @@HALT_PARTICLE 中断識別子を受け付けるように宣言した後、
   エミッターメソッドを呼び出します。
   
Any hostobj :エミッターメソッドのホストオブジェクト
FGESMethod emitter_method :起動するエミッターメソッド
Arguments emitter_arg :エミッターメソッドの引数リスト

先頭へ


ParticleEmitter_Method::Exec

public Bool Exec( INativeMethod emitter_method,...)

   エミッターメソッドを起動します。
   このメソッドは他のエミッターメソッド起動メソッドを含め、エミッターオブジェクト1つにつき1回しか呼び出せません。
   
   エミッターメソッドは専用のスレッドで起動され、このオブジェクトが更新される度に実行されます。
   この時、エミッターメソッドが pause する度に1フレーム分の処理をしたとみなされます。
   
   エミッターメソッドが isready 引数に真を設定するまでは同期処理されます。
   エミッターメソッド側で引数をコピーする必要がある場合は同期処理中に行ってください。
   同期処理が終了した後、エミッターメソッドはスレッド切り替えが発生するまではそのまま実行されます。
   このメソッドは同期処理終了後、エミッターメソッドの完了を待たずに処理を返します。
   また、エミッターメソッドが終了するとエミッターも完了します。
   
   エミッターメソッドは戻り値がなく、2つ以上の引数を取る必要があります。
   エミッターメソッドの第1引数、第2引数は以下で固定で、第3引数以降は自由です。
   第1引数: editable Bool isready :[出力]エミッターの準備完了フラグ。
         このフラグが真に設定されるまでは同期実行され、エミッターは開始されません。
   第2引数: editable IParticleHost host :[入出力]エミッターが所属するパーティクルホスト。
         エミッターが生成するパーティクルはこのオブジェクト管理で生成してください。
   第3引数以降:このメソッドの第2引数以降がそのまま渡されます。
   
戻り値:エミッターメソッドの起動に成功した場合は真を返します。

INativeMethod emitter_method :起動するエミッターメソッド。
(可変長引数) :エミッターメソッドの引数としてそのまま渡されます。

先頭へ


ParticleEmitter_Method::ExecBind

public Bool ExecBind(editable Any hostobj, FGESMethod emitter_method,...)

   エミッターメソッドを起動します。
   このメソッドは他のエミッターメソッド起動メソッドを含め、エミッターオブジェクト1つにつき1回しか呼び出せません。
   
   エミッターメソッドは専用のスレッドで起動され、このオブジェクトが更新される度に実行されます。
   この時、エミッターメソッドが pause する度に1フレーム分の処理をしたとみなされます。
   
   エミッターメソッドが isready 引数に真を設定するまでは同期処理されます。
   エミッターメソッド側で引数をコピーする必要がある場合は同期処理中に行ってください。
   同期処理が終了した後、エミッターメソッドはスレッド切り替えが発生するまではそのまま実行されます。
   このメソッドは同期処理終了後、エミッターメソッドの完了を待たずに処理を返します。
   また、エミッターメソッドが終了するとエミッターも完了します。
   
   エミッターメソッドは戻り値がなく、2つ以上の引数を取る必要があります。
   エミッターメソッドの第1引数、第2引数は以下で固定で、第3引数以降は自由です。
   第1引数: editable Bool isready :[出力]エミッターの準備完了フラグ。
         このフラグが真に設定されるまでは同期実行され、エミッターは開始されません。
   第2引数: editable IParticleHost host :[入出力]エミッターが所属するパーティクルホスト。
         エミッターが生成するパーティクルはこのオブジェクト管理で生成してください。
   第3引数以降:このメソッドの第3引数以降がそのまま渡されます。
   
戻り値:エミッターメソッドの起動に成功した場合は真を返します。

editable Any hostobj :エミッターメソッドのホストオブジェクト。
FGESMethod emitter_method :起動するエミッターメソッド。
(可変長引数) :エミッターメソッドの引数としてそのまま渡されます。

先頭へ


ParticleEmitter_Method::ExecBindC

public Bool ExecBindC( Any hostobj, FGESMethod emitter_method,...)

   エミッターメソッドを起動します。
   このメソッドは他のエミッターメソッド起動メソッドを含め、エミッターオブジェクト1つにつき1回しか呼び出せません。
   
   エミッターメソッドは専用のスレッドで起動され、このオブジェクトが更新される度に実行されます。
   この時、エミッターメソッドが pause する度に1フレーム分の処理をしたとみなされます。
   
   エミッターメソッドが isready 引数に真を設定するまでは同期処理されます。
   エミッターメソッド側で引数をコピーする必要がある場合は同期処理中に行ってください。
   同期処理が終了した後、エミッターメソッドはスレッド切り替えが発生するまではそのまま実行されます。
   このメソッドは同期処理終了後、エミッターメソッドの完了を待たずに処理を返します。
   また、エミッターメソッドが終了するとエミッターも完了します。
   
   エミッターメソッドは戻り値がなく、2つ以上の引数を取る必要があります。
   エミッターメソッドの第1引数、第2引数は以下で固定で、第3引数以降は自由です。
   第1引数: editable Bool isready :[出力]エミッターの準備完了フラグ。
         このフラグが真に設定されるまでは同期実行され、エミッターは開始されません。
   第2引数: editable IParticleHost host :[入出力]エミッターが所属するパーティクルホスト。
         エミッターが生成するパーティクルはこのオブジェクト管理で生成してください。
   第3引数以降:このメソッドの第3引数以降がそのまま渡されます。
   
戻り値:エミッターメソッドの起動に成功した場合は真を返します。

Any hostobj :エミッターメソッドのホストオブジェクト。
FGESMethod emitter_method :起動するエミッターメソッド。
(可変長引数) :エミッターメソッドの引数としてそのまま渡されます。

先頭へ


ParticleEmitter_Method::met_thread

readable HThread met_thread

   エミッターメソッドを駆動するスレッドのハンドル。

先頭へ


ParticleEmitter_Method::isready

readable Bool isready

   エミッターメソッドが起動し、準備完了すると真になるフラグ。

先頭へ


ParticleEmitter_Method::host

readable Pointer<IParticleHost> host

   このエミッターを管理しているパーティクルホスト。

先頭へ


ParticleEmitter_Method::memhost

public MemoryHost memhost

   エミッター寿命オブジェクト用のメモリ管理オブジェクト。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2023/02/01