EventManager
اعلان
public static class Strawberry.EventSystem.EventManager
این یک کلاس static است که رویدادها را در بازی مدیریت میکند.
ویژگیها
SwallowExceptions static
اگر false باشد مدیر رویداد هنگام رخ دادن استثنا در یک handler استثنا پرتاب میکند. اگر true باشد، استثنا بلعیده و لاگ میشود. همچنین میتوانید از OnHandlerException برای مدیریت خود استثناها استفاده کنید (اگر OnHandlerException تنظیم شده باشد هیچ لاگی نوشته نمیشود). پیشفرض true است.
bool SwallowExceptions { get set }
OnHandlerException static
اگر در یک callback استثنایی رخ دهد، این با شیء Exception مدیریتنشده بهعنوان پارامتر فراخوانی میشود.
Action<Exception> OnHandlerException { get set }
متدها
Subscribe static
به یک رویداد بهصورت سراسری اشتراک میگیرد.
SubscriptionToken Subscribe<T>(Action<T> callback, int priority = 0)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
callback |
System.Action |
callback که هنگام صادر شدن رویداد فراخوانی میشود. |
priority |
System.Int32 = 0 |
اولویت callback. اولویت بالاتر یعنی زودتر فراخوانی میشود. پیشفرض 0. |
خروجی: یک توکن (SubscriptionToken) برای لغو اشتراک از رویداد.
پارامترهای نوع:
T— نوع رویداد
Subscribe static
برای یک نمونهی مشخص از شیء به یک رویداد اشتراک میگیرد.
SubscriptionToken Subscribe<T>(object sender, Action<T> callback, int priority = 0)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
sender |
System.Object |
شیء برای اشتراک (منبع) |
callback |
System.Action |
callback که هنگام صادر شدن رویداد فراخوانی میشود |
priority |
System.Int32 = 0 |
اولویت callback. اولویت بالاتر یعنی زودتر فراخوانی میشود. پیشفرض 0. |
خروجی: یک توکن برای لغو اشتراک از رویداد.
پارامترهای نوع:
T— نوع رویداد
Unsubscribe static
با توکن از یک رویداد لغو اشتراک میکند.
void Unsubscribe(SubscriptionToken token)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
token |
Strawberry.EventSystem.SubscriptionToken |
توکن برگرداندهشده از متد Subscribe |
Invoke static
یک رویداد را صادر میکند. متد فوراً اجرا نمیشود بلکه برای فریم بعد صف میشود. زمان صادر شدن با ویژگی EventCallTime شیء رویداد تعیین میشود.
void Invoke<T>(object sender, T args)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
sender |
System.Object |
شیء صادرکنندهی رویداد |
args |
T |
شیء رویداد |
پارامترهای نوع:
T— نوع رویداد
Execute static
این متد توسط کلاس Game فراخوانی میشود.
void Execute(EventCallTime eventCallTime)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
eventCallTime |
Strawberry.EventSystem.EventCallTime |
گروه رویداد برای اجرا |