roblox object event
v1.1.0
@rbxts/objek-event
Paket NPM ini untuk Roblox-TS memungkinkan pengembang untuk mengimplementasikan acara khusus untuk kelas khusus, tanpa menggunakan BindableEvents
.
Ini harus sangat berguna untuk proyek -proyek yang sangat bergantung pada paradigma OOP untuk perpustakaan dan komponen game lainnya.
Modul dapat digunakan baik dalam skrip LUA (U) murni (melalui Rojo atau cara lain) atau dengan roblox-ts (termasuk pemeriksaan tipe kompilasi-waktu).
/////// 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 { }
Untuk mengizinkan semua jenis argumen, dari angka apa pun:
let event = new ObjectEvent < [ ... unknown ] > ( )
ObjectEvent
Connect(f)
- f
adalah fungsi yang mengambil argumen yang diketik sesuai dan mengembalikan void
. Mengembalikan ObjectEventConnection
Wait()
- hasilkan utas sampai acara dipecat. Mengembalikan nilai yang diketik sesuai.Fire(...)
- Menembak acara. Argumen harus jumlah dan jenis acara yang sama.Event
- Antarmuka seperti RBXScriptSignal
yang mendukung Connect()
dan Wait()
, untuk berjaga -jaga jika Anda lebih suka menggunakannya sebagai pengikat.SubscribedConnections
- Array ObjectEventConnection
S dengan semua koneksi yang saat ini mendengarkan acara tersebut. ObjectEventConnection
Disconnect()
- Putus dari acara tersebutReconnect()
- Mengembalikan pemutusanIsConnected()
- Mengembalikan true
jika koneksi mendengarkan acara (ini adalah, tidak disconnect () 'ed), false
sebaliknya.Event
- ObjectEvent
yang terkait dengan koneksi iniListener
- fungsi yang terkait dengan koneksi ini