基底イベント†Category:仕様メモ SSPを中心に、MATERIAからイベントを増やしているゴースト実行環境は多い。 これらのイベントにゴーストが全部対応することは、実行環境が多数ある現在、困難が伴う。 一方で、増えたイベントの多くは、従来からあるイベントと意味・位置づけ・通知内容がよく似ている、「派生型」のイベントが多い。 たとえば、OnGhostChangedイベントに対するOnGhostCalledイベントがそうだ。 こうしたイベントは、元となったイベント(C++のクラス継承の用語に倣い、以後「基底イベント」と呼称)のトーク内容を使っても、 違和感が少ない*1と推定できる。 そこで、ゴースト実行環境が派生イベントを通知する際、基底イベント名を同時に通知することを提案する。 ゴーストは通知イベントを知らなかった場合、BaseIDヘッダで通知される基底イベントを使い、応答することが出来る。*2 例1†#pre(link,number){{ この例では、SSPがOnGhostCalledの基底イベント「OnGhostChanged」を通知している。 例2†なお現在は存在しないが、「派生型イベントの更に派生型イベント」を通知する場合、カンマ区切りで左から継承順にイベント名を列挙することとする。 #pre(link,number){{ この例では、DAEがOnGhostCalledの派生型イベント「OnGhostMaterialized」を通知している。OnGhostCalledはOnGhostChangedの派生型イベントなので、BaseIDに列挙されている。 派生リスト案†芝やんさん案-1†
SSP 1.11.00 Pre17実装(予定)†基本的には芝やんさん案1といっしょです。
DAE 0.2.0 Beta10実装†SSP 1.11.00 Pre17実装 + 日記で書いたものです。 ツッコミ†
|