using System; using System.Collections; using System.Runtime.CompilerServices; namespace UnityEngine.iOS { public sealed class LocalNotification { private IntPtr notificationWrapper; private static long m_NSReferenceDateTicks; public DateTime fireDate { get { return new DateTime((long)(this.GetFireDate() * 10000000.0) + LocalNotification.m_NSReferenceDateTicks); } set { this.SetFireDate((double)(value.ToUniversalTime().Ticks - LocalNotification.m_NSReferenceDateTicks) / 10000000.0); } } public extern string timeZone { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public extern CalendarUnit repeatInterval { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public extern CalendarIdentifier repeatCalendar { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public extern string alertBody { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public extern string alertAction { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public extern bool hasAction { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public extern string alertLaunchImage { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public extern int applicationIconBadgeNumber { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public extern string soundName { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public static extern string defaultSoundName { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; } public extern IDictionary userInfo { [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] get; [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] set; } public LocalNotification() { this.InitWrapper(); } static LocalNotification() { // Note: this type is marked as 'beforefieldinit'. DateTime dateTime = new DateTime(2001, 1, 1, 0, 0, 0, DateTimeKind.Utc); LocalNotification.m_NSReferenceDateTicks = dateTime.Ticks; } [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] private extern double GetFireDate(); [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] private extern void SetFireDate(double dt); [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] private extern void Destroy(); ~LocalNotification() { this.Destroy(); } [WrapperlessIcall] [MethodImpl(MethodImplOptions.InternalCall)] private extern void InitWrapper(); } }