roblox object event
v1.1.0
@rbxts/كائن-حدث
تتيح حزمة NPM الخاصة بـ ROBLOX-TS المطورين بتنفيذ الأحداث المخصصة للفئات المخصصة ، دون اللجوء إلى 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
- واجهة RBXScriptSignal
- التي تدعم Connect()
و Wait()
، فقط في حالة تفضل استخدامها على أنها ملزمة.SubscribedConnections
- مجموعة من ObjectEventConnection
S مع جميع الاتصالات التي تستمع حاليًا إلى الحدث. ObjectEventConnection
APIDisconnect()
- تفصل عن الحدثReconnect()
- يعود إلى الانفصالIsConnected()
- إرجاع true
إذا كان الاتصال يستمع إلى الحدث (هذا ، وليس فصل () "ed) ، false
خلاف ذلك.Event
- ObjectEvent
المرتبط بهذا الاتصالListener
- الوظيفة المرتبطة بهذا الاتصال