SystemEventHandler.ms
- systemEventHandler
- SystemEventHandlerStruct
- delayTimerTable
- eventParamTable
- observerTable
- globalVarName
- Add
- GetRegisteredCallbackCount
- Install
- InvokeGeneralEvent
- InvokeObserver
- InvokeTimeChange
- InvokeViewportRedraw
- Remove
- Uninstall
- createDelayTimer
- findObserver
- generateGeneralEventScript
- getEventParam
- getEventTypeFromTimer
- invokeTimer
- isValidTimer
- registerGeneralEventCallback
- registerTimeChangeCallback
- registerViewportRedrawCallback
- unregisterAllCallbacks
- unregisterGeneralEventCallback
- unregisterTimeChangeCallback
- unregisterViewportRedrawCallback
- version
- StructName
- Dump
- Equals
- GetVersion
- 依存
currentTime
startupLoader
std
systemEventHandler
SystemEventHandlerStruct
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>]>