roblox object event
v1.1.0
@rbxts/object-event
Roblox-TS用のこのNPMパッケージにより、開発者はBindableEvents
に頼ることなく、カスタムクラスのカスタムイベントを実装できます。
これは、ライブラリやその他のゲームコンポーネントのOOPパラダイムに大きく依存しているプロジェクトに特に役立つはずです。
このモジュールは、純粋なLUA(U)スクリプト(Rojoまたはその他の方法を介して)またはRoblox-TS(コンパイルタイムタイプチェックを含む)で使用できます。
/////// Module.ts ///////
import ObjectEvent from "@rbxts/object-event"
const event = new ObjectEvent < [ number , String , Vector3 ] > ( )
event . Connect ( ( id , msg , position ) => {
// We can safely assume that:
// id is a number
// msg is a string
// position is a Vector3
} )
export event
/////// Waiter.server.ts ///////
import { event } from "./Module"
event . Fire ( 10 , "oof" , new Vector3 ( 1 , 2 , 3 ) ) // all good
event . Fire ( 10 , "oof" ) // will not compile!
export { }
あらゆる種類の議論を許可するには、任意の数字:
let event = new ObjectEvent < [ ... unknown ] > ( )
ObjectEvent
APIConnect(f)
f
それに応じて入力された引数を取得し、 void
を返す関数です。 ObjectEventConnection
返しますWait()
- イベントが解雇されるまでスレッドを生成します。それに応じて入力された値を返します。Fire(...)
- イベントを発射します。引数は、イベントの同じ数とタイプでなければなりません。Event
-BindableEventとして使用することを好む場合に備えて、 Connect()
とWait()
をサポートするRBXScriptSignal
のようなインターフェイス。SubscribedConnections
ObjectEventConnection
の配列は、現在イベントを聴いているすべての接続を備えています。 ObjectEventConnection
APIDisconnect()
- イベントから切断しますReconnect()
- 切断を元に戻しますIsConnected()
- 接続がイベントを聞いている場合はtrue
を返します(これは、disconnect() 'edではありません)、それ以外の場合はfalse
。Event
- この接続に関連付けられたObjectEvent
Listener
- この接続に関連付けられた関数