/// <summary> /// 表示を更新 /// </summary> public void OnUpdateView() { AlarmSaveObject savedata = AlarmDataManager.instance.GetAlarm(this.viewAlarmIndex); this.titleText_.text = savedata.title; this.timeText_.text = savedata.time[3].ToString("00") + ":" + savedata.time[4].ToString("00"); this.sumdayFlagImage_.color = (savedata.isActivateOnDayOfWeek[0]) ? this.alarmSettingButtonsManager_.sundayActiveColor : this.alarmSettingButtonsManager_.sundayDeactiveColor; this.mondayFlagImage_.color = (savedata.isActivateOnDayOfWeek[1]) ? this.alarmSettingButtonsManager_.mondayActiveColor : this.alarmSettingButtonsManager_.mondayDeactiveColor; this.tuesdayFlagImage_.color = (savedata.isActivateOnDayOfWeek[2]) ? this.alarmSettingButtonsManager_.tuesdayActiveColor : this.alarmSettingButtonsManager_.tuesdayDeactiveColor; this.wednesdayFlagImage_.color = (savedata.isActivateOnDayOfWeek[3]) ? this.alarmSettingButtonsManager_.wednesdayActiveColor : this.alarmSettingButtonsManager_.wednesdayDeactiveColor; this.thursdayFlagImage_.color = (savedata.isActivateOnDayOfWeek[4]) ? this.alarmSettingButtonsManager_.thursdayActiveColor : this.alarmSettingButtonsManager_.thursdayDeactiveColor; this.fridayFlagImage_.color = (savedata.isActivateOnDayOfWeek[5]) ? this.alarmSettingButtonsManager_.fridayActiveColor : this.alarmSettingButtonsManager_.fridayDeactiveColor; this.saturdayFlagImage_.color = (savedata.isActivateOnDayOfWeek[6]) ? this.alarmSettingButtonsManager_.saturdayActiveColor : this.alarmSettingButtonsManager_.saturdayDeactiveColor; }
public void OnChangeView(int _alarmIndex) { AlarmSaveObject data = AlarmDataManager.instance.GetAlarm(_alarmIndex); this.titleText_.text = data.title; this.messageText_.text = data.message; }
/// <summary> /// 新規作成 /// </summary> private void Create() { Debug.Log("Create alarm data."); // TODO: サイズを変更できるようにしたい int size = 4; this.saveData_.alarmArray_ = new AlarmSaveObject[4]; for(int i=0; i<size; ++i) { AlarmSaveObject data = new AlarmSaveObject(); data.id = i + 1; data.title = "Alarm" + data.id.ToString(); this.saveData_.alarmArray_[i] = data; } }
/// <summary> /// アラーム設定の設定 /// </summary> /// <param name="_index">設定するインデックス</param> /// <param name="_saveObject">設定データ</param> public void SetAlarm(int _index, AlarmSaveObject _saveObject) { bool isKill = this.saveData_.alarmArray_[_index].isActive; int killId = this.saveData_.alarmArray_[_index].id; this.saveData_.alarmArray_[_index] = _saveObject; if(_saveObject.isActive) { this.ResetAlarm(_index); } else if(isKill) { if(this.isConnectAndroid_) { this.androidConnector_.KillAlarm(killId); } } }
/// <summary> /// 保存していたアラームの開始 /// </summary> /// <param name="_index">アラームインデックス</param> public void StartSavedAlarm(int _index) { AlarmSaveObject alarm = this.saveData_.alarmArray_[_index]; if(alarm.isActive) { DateTime time = new DateTime( alarm.time[0], alarm.time[1], alarm.time[2], alarm.time[3], alarm.time[4], alarm.time[5] ); Debug.Log("Start : " + time.ToString()); if(this.isConnectAndroid_) { // アンドロイド端末に通知 this.androidConnector_.SetAlarm(alarm.id, time); } } }
/// <summary> /// アラームのチェック /// </summary> /// <param name="_index">アラームインデックス</param> /// <returns>true:時間になった false:時間になっていない</returns> private bool CheckAlarm(int _index) { AlarmSaveObject alarm = this.saveData_.alarmArray_[_index]; // 年が小さすぎる値のときは無視 if(alarm.time[0] < 1000) { return false; } if(alarm.IsActivateOnDayOfWeek(DateTime.Now.DayOfWeek)) { DateTime time = new DateTime( alarm.time[0], alarm.time[1], alarm.time[2], alarm.time[3], alarm.time[4], alarm.time[5] ); if(time <= DateTime.Now) { // 過ぎている return true; } } return false; }
/// <summary> /// アラームの再設定 /// </summary> /// <param name="_index">アラームインデックス</param> public void ResetAlarm(int _index) { AlarmSaveObject alarm = this.saveData_.alarmArray_[_index]; if(alarm.isActive) { DateTime time = new DateTime( DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, alarm.time[3], alarm.time[4], alarm.time[5] ); if(alarm.IsActivateOnDayOfWeek(DateTime.Now.DayOfWeek)) { // 今日が対象のとき if(time > DateTime.Now) { this.saveData_.alarmArray_[_index].time[0] = DateTime.Now.Year; this.saveData_.alarmArray_[_index].time[1] = DateTime.Now.Month; this.saveData_.alarmArray_[_index].time[2] = DateTime.Now.Day; Debug.Log("Set : " + time.ToString()); // まだすぎていないなら今日に設定する if(this.isConnectAndroid_) { this.androidConnector_.SetAlarm(alarm.id, time); } return; } } // 1週間分調べる for(int i=0; i<7; ++i) { time = time.AddDays(1.0); if(alarm.IsActivateOnDayOfWeek(time.DayOfWeek)) { this.saveData_.alarmArray_[_index].time[0] = time.Year; this.saveData_.alarmArray_[_index].time[1] = time.Month; this.saveData_.alarmArray_[_index].time[2] = time.Day; Debug.Log("Set : " + time.ToString()); // 設定 if(this.isConnectAndroid_) { this.androidConnector_.SetAlarm(alarm.id, time); } return; } } } }