29 if (detail_text !=
"")
74 protected static const string JSON_FILE_PATH =
"scripts/data/notifications.json";
145 rpc.
Write(show_time);
146 rpc.
Write(title_text);
147 rpc.
Write(detail_text);
150 rpc.
Send(null,
ERPCs.RPC_SEND_NOTIFICATION_EXTENDED,
true, player);
180 rpc.
Write(show_time);
181 rpc.
Write(detail_text);
183 rpc.
Send(null,
ERPCs.RPC_SEND_NOTIFICATION,
true, player);
199 m_Instance.m_OnNotificationAdded.Invoke(data);
204 m_Instance.m_DeferredArray.Insert(dataDeferred);
223 m_Instance.m_OnNotificationAdded.Invoke(data);
229 m_Instance.m_DeferredArray.Insert(dataDeferred);
237 if (
g_Game.GetGameState() != DayZGameState.IN_GAME &&
g_Game.GetGameState() != DayZGameState.MAIN_MENU)
246 if (visibleNotificationData.GetRemainingTime() <= 0.0)
247 expiredNotifications.Insert(visibleNotificationData);
254 m_Instance.m_OnNotificationRemoved.Invoke(expiredNotificationData);
255 m_Instance.m_TimeArray.RemoveItem(expiredNotificationData);
259 int count =
m_Instance.m_DeferredArray.Count();
261 m_Instance.m_TimeArray.Insert(deferredNotificationData);
262 m_Instance.m_OnNotificationAdded.Invoke(deferredNotificationData);
294 notificationTypes.Insert(notificationType);
298 for (
int i = 0; i <
m_Instance.m_DataArray.Count(); ++i)
300 notificationTypes.RemoveItem(
m_Instance.m_DataArray.GetKey(i));
303 if (notificationTypes.Count() > 0)
308 "please_add_an_icon",
309 "please_add_a_title",
310 "optional_description",
313 m_Instance.m_DataArray.Insert(notificationType2, notificationData);
NotificationType
DEPRECATED (moved into NotificationSystem)
@ INVITE_FAIL_SAME_SERVER
static const float NOTIFICATION_FADE_TIME
void NotificationRuntimeData(float time, NotificationData data, string detail_text)
void SetTime(float time)
DEPRECATED.
void UpdateRemainingTime(float updateInterval)
enum NotificationType m_StaticData
ref ScriptInvoker m_OnNotificationAdded
static const string JSON_FILE_PATH
static void LoadNotificationData()
ref ScriptInvoker m_OnNotificationRemoved
NotificationData GetNotificationData(NotificationType type)
static void SendNotificationToPlayer(Man player, NotificationType type, float show_time, string detail_text="")
Send notification from default types to player from server.
ref map< NotificationType, ref NotificationData > m_DataArray
const float NOTIFICATION_FADE_TIME
static void SendNotificationToPlayerExtended(Man player, float show_time, string title_text, string detail_text="", string icon="")
Send custom notification to player from server.
ref array< ref NotificationRuntimeData > m_DeferredArray
static const float UPDATE_INTERVAL_THRESHOLD
static void AddNotificationExtended(float show_time, string title_text, string detail_text="", string icon="")
Send custom notification from to local player.
static ref NotificationSystem m_Instance
static void InitInstance()
static NotificationSystem GetInstance()
static void CleanupInstance()
ref array< ref NotificationRuntimeData > m_TimeArray
static const int MAX_NOTIFICATIONS
static void SendNotificationToPlayerIdentity(PlayerIdentity player, NotificationType type, float show_time, string detail_text="")
Send notification from default types to player identity from server.
const int DEFAULT_TIME_DISPLAYED
void NotificationSystem()
static void AddNotification(NotificationType type, float show_time, string detail_text="")
Send notification from default types to local player.
static void SendNotificationToPlayerIdentityExtended(PlayerIdentity player, float show_time, string title_text, string detail_text="", string icon="")
Send custom notification to player identity from server.
static void Update(float timeslice)
The class that will be instanced (moddable)
ScriptInvoker Class provide list of callbacks usage:
proto native void Send(Object target, int rpc_type, bool guaranteed, PlayerIdentity recipient=NULL)
Initiate remote procedure call. When called on client, RPC is evaluated on server; When called on ser...
proto bool Write(void value_out)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.