예제 #1
0
    // Alarm list related

    // Save user setting in case user close the app
    public static void SaveAlarmListUserData(_AlarmListUserData ud)
    {
        BinaryFormatter bf     = new BinaryFormatter();
        string          path   = Application.persistentDataPath + "/AlarmListUserData.b2cud";
        FileStream      stream = new FileStream(path, FileMode.Create);

        bf.Serialize(stream, ud);
        stream.Close();
    }
예제 #2
0
    public static _AlarmListUserData LoadAlarmListUserData()
    {
        string path = Application.persistentDataPath + "/AlarmListUserData.b2cud";

        if (File.Exists(path))
        {
            BinaryFormatter    bf     = new BinaryFormatter();
            FileStream         stream = new FileStream(path, FileMode.Open);
            _AlarmListUserData ud     = bf.Deserialize(stream) as _AlarmListUserData;
            stream.Close();
            return(ud);
        }
        return(null);
    }
예제 #3
0
    public static void SaveAlarmListToFile()
    {
        _AlarmListUserData ud = new _AlarmListUserData();

        ud.nid = Notifications.Id;
        if (ui_alarmlist.Count > 0)
        {
            ud.numAlarms     = ui_alarmlist.Count;
            ud.id            = new int[ud.numAlarms];
            ud.profile_idx   = new int[ud.numAlarms];
            ud.hr_dp_val     = new int[ud.numAlarms];
            ud.min_dp_val    = new int[ud.numAlarms];
            ud.ampm_dp_val   = new int[ud.numAlarms];
            ud.repeat_dp_val = new int[ud.numAlarms];
            ud.ringer_dp_val = new int[ud.numAlarms];
            ud.label_if_val  = new string[ud.numAlarms];
            for (int i = 0; i < ui_alarmlist.Count; ++i)
            {
                AlarmElement ae_comp = ui_alarmlist[i].GetComponent <AlarmElement>();
                ud.id[i]            = ae_comp.Id;
                ud.profile_idx[i]   = ae_comp.profile_idx;
                ud.hr_dp_val[i]     = ae_comp.hr_dp_val;
                ud.min_dp_val[i]    = ae_comp.min_dp_val;
                ud.ampm_dp_val[i]   = ae_comp.ampm_dp_val;
                ud.repeat_dp_val[i] = ae_comp.repeat_dp_val;
                ud.ringer_dp_val[i] = ae_comp.ringer_dp_val;
                ud.label_if_val[i]  = ae_comp.label_if_val;
            }
        }
        else
        {
            ud.numAlarms     = 0;
            ud.id            = new int[] { };
            ud.profile_idx   = new int[] { };
            ud.hr_dp_val     = new int[] { };
            ud.min_dp_val    = new int[] { };
            ud.ampm_dp_val   = new int[] { };
            ud.repeat_dp_val = new int[] { };
            ud.ringer_dp_val = new int[] { };
            ud.label_if_val  = new string[] { };
        }
        SaveSystem.SaveAlarmListUserData(ud);
    }
예제 #4
0
    public void LoadAlarmListFromFile()
    {
        _AlarmListUserData ud = SaveSystem.LoadAlarmListUserData();

        if (ud != null)
        {
            Notifications.Id = ud.nid;
            for (int i = 0; i < ud.numAlarms; ++i)
            {
                var    newAlarm = Instantiate(AlarmElementPrefab, AppManager.Prefabs[2].transform);
                string time     = (ud.ampm_dp_val[i] == 0) ? "上午 " : "下午 ";
                time += ud.hr_dp_val[i].ToString();
                time += ":";
                time += ud.min_dp_val[i] < 10 ? "0" + ud.min_dp_val[i] : ud.min_dp_val[i].ToString();
                time += " ";
                var ae = newAlarm.GetComponent <AlarmElement>();
                ae.TimeString.text = time;
                ae.Id             = ud.id[i];
                ae.profile_idx    = ud.profile_idx[i];
                ae.ringer_dp_val  = ud.ringer_dp_val[i];
                ae.Profile.sprite = ae.profile_sprites[ae.ringer_dp_val];
                ae.hr_dp_val      = ud.hr_dp_val[i];
                ae.min_dp_val     = ud.min_dp_val[i];
                ae.ampm_dp_val    = ud.ampm_dp_val[i];
                ae.repeat_dp_val  = ud.repeat_dp_val[i];
                ae.label_if_val   = ud.label_if_val[i];
                ui_alarmlist.Add(newAlarm);
            }
        }
        else
        {
            // first time open app;
            iOSNotificationCenter.RemoveAllScheduledNotifications();
            if (!Tutorial.playedTutorial)
            {
                Instantiate(AppManager.Prefabs[3], GameObject.Find("Tut").transform);
            }
            SaveAlarmListToFile();
        }
    }