mxsdoc

SystemEventHandler.ms

依存

global systemEventHandler

変数
<Struct:SystemEventHandlerStruct>

struct SystemEventHandlerStruct

イベントコールバックの処理を共通化するための仕組みを提供する。

補足

対応しているコールバックの種類は以下の通り。

  • 一般イベントコールバック

  • 時間変更コールバック

  • ビューポート再描画コールバック

private delayTimerTable

プロパティ
<Dictionary <Name> <Struct:TimerStruct>>

イベント毎の遅延タイマー。

private eventParamTable

プロパティ
<Dictionary <Name> <Any>>

イベント毎の補足情報。

private observerTable

プロパティ
<Dictionary <Name> <Array[<MAXScriptFunction>]>>

イベント毎のオブザーバ。

private globalVarName

プロパティ
<String>

自己のインスタンスを格納するグローバル変数の名前。既定値は"systemEventHandler"

public fn Add

指定したイベントにオブザーバを登録する。

パラメータ
eventType
<Name>
種類 内容
#TimeChange 時間変更
#ViewportRedraw ビューポート再描画
その他 一般イベント
パラメータ
observer
<MAXScriptFunction>

イベントコールバック用の関数。詳細はObservableStructのドキュメントを参照。

パラメータ
delayInterval:
<Integer>

最後にイベントが通知されてからコールバック関数を呼び出すまでの遅延時間。ミリ秒で指定する。既定値は0
遅延時間以内に同じイベントが通知された場合は時間をリセットして計測し直す。
これにより短い間隔で大量に発生した同一イベントの通知を一度にまとめることができる。
0を指定した場合はこの遅延処理を行わない。

戻り値
<BooleanClass>

成功した場合はtrue、失敗した場合はfalse

public fn GetRegisteredCallbackCount

指定したイベントに登録されているSystemEventHandlerStruct由来のコールバックの数を取得する。

パラメータ
eventType
<Name>
戻り値
<Integer>

public fn Install

インストールする。

戻り値
<OkClass>
補足

静的メソッド。

public fn InvokeGeneralEvent

一般イベントが通知された時に呼ばれる。

パラメータ
eventType
<Name>

イベントの名前。

パラメータ
eventParam
<Any>

イベントの補足情報。

戻り値
<OkClass>

public fn InvokeObserver

イベントに登録したコールバック関数を呼び出す。

パラメータ
type
<Name>
パラメータ
param
<Struct:TimerStruct>
戻り値
<OkClass>
補足

タイマーオブジェクトから呼ばれる。

public fn InvokeTimeChange

アニメーション時間が変更された時に呼ばれる。

戻り値
<OkClass>
補足

eventParamには現在時間が渡される。

public fn InvokeViewportRedraw

ビューポートが再描画された時に呼ばれる。

戻り値
<OkClass>
補足

eventParamにはundefinedが渡される。

public fn Remove

指定したイベントからオブザーバを登録解除する。

パラメータ
eventType
<Name>
種類 内容
#TimeChange 時間変更
#ViewportRedraw ビューポート再描画
その他 一般イベント
パラメータ
observer
<MAXScriptFunction>
戻り値
<BooleanClass>

成功した場合はtrue、失敗した場合はfalse

public fn Uninstall

アンインストールする。

戻り値
<OkClass>

private fn createDelayTimer

遅延タイマーを作成する。

パラメータ
delayInterval
<Integer>
戻り値
<Struct:TimerStruct>

private fn findObserver

パラメータ
eventType
<Name>
パラメータ
observer
<MAXScriptFunction>
戻り値
<Integer>

private fn generateGeneralEventScript

一般イベント用のコールバックスクリプトを生成する。

パラメータ
eventType
<Name>
戻り値
<String>

private fn getEventParam

指定したイベントタイプの補足情報を取得する。

パラメータ
eventType
<Name>
戻り値
<Any|UndefinedClass>
補足

イベントタイプが見つからない場合はundefinedを返す。

private fn getEventTypeFromTimer

タイマーオブジェクトからイベントタイプを取得する。

パラメータ
timerObject
<Struct:TimerStruct>
戻り値
<Name|UndefinedClass>
補足

イベントタイプが見つからない場合はundefinedを返す。

private fn invokeTimer

イベントに登録したコールバック関数を呼び出す。

パラメータ
eventType
<Name>
パラメータ
eventParam
<Any>
戻り値
<OkClass>

private fn isValidTimer

パラメータ
obj
<Any>
戻り値
<BooleanClass>

private fn registerGeneralEventCallback

一般イベントのコールバック関数を登録する。

パラメータ
eventType
<Name>
戻り値
<OkClass>

private fn registerTimeChangeCallback

時間変更のコールバック関数を登録する。

戻り値
<OkClass>

private fn registerViewportRedrawCallback

ビューポート再描画のコールバック関数を登録する。

戻り値
<OkClass>

private fn unregisterAllCallbacks

全てのコールバック関数を登録解除する。

戻り値
<OkClass>

private fn unregisterGeneralEventCallback

一般イベントのコールバック関数を登録解除する。

パラメータ
eventType
<Name>
戻り値
<OkClass>

private fn unregisterTimeChangeCallback

時間変更のコールバック関数を登録解除する。

戻り値
<OkClass>

private fn unregisterViewportRedrawCallback

ビューポート再描画のコールバック関数を登録解除する。

戻り値
<OkClass>

private version

プロパティ
<Array[<Integer>]>

バージョン番号。メジャー、マイナー、パッチの順。

public fn StructName

戻り値
<Name>

public fn Dump

パラメータ
indent:
<String>
パラメータ
out:
<FileStream|StringStream|WindowStream>

出力先。既定値はlistener

戻り値
<OkClass>

public fn Equals

パラメータ
obj
<Any>
戻り値
<BooleanClass>
補足

大文字と小文字を区別する。

public fn GetVersion

戻り値
<Array[<Integer>]>