/// <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; } } } }
/// <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; }