diff --git a/src/companion.rs b/src/companion.rs index 8f0128e..785a8a2 100644 --- a/src/companion.rs +++ b/src/companion.rs @@ -1,7 +1,7 @@ use crate::memory::Memory; use crate::game_formatter::{MemoryRarity, DiagnosisType}; use serde::{Deserialize, Serialize}; -use chrono::{DateTime, Utc}; +use chrono::{DateTime, Utc, Datelike}; /// コンパニオンキャラクター #[derive(Debug, Clone, Serialize, Deserialize)] diff --git a/src/game_formatter.rs b/src/game_formatter.rs index 86e84bf..9391949 100644 --- a/src/game_formatter.rs +++ b/src/game_formatter.rs @@ -1,5 +1,6 @@ use crate::memory::Memory; use serde::{Deserialize, Serialize}; +use chrono::Datelike; /// メモリーのレア度 #[derive(Debug, Clone, Serialize, Deserialize)] diff --git a/src/memory.rs b/src/memory.rs index 62f002c..fbae5d8 100644 --- a/src/memory.rs +++ b/src/memory.rs @@ -238,7 +238,7 @@ impl MemoryManager { // 優先度順に記憶を取得 pub fn get_memories_by_priority(&self) -> Vec<&Memory> { let mut memories: Vec<_> = self.memories.values().collect(); - memories.sort_by(|a, b| b.priority_score.cmp(&a.priority_score)); + memories.sort_by(|a, b| b.priority_score.partial_cmp(&a.priority_score).unwrap_or(std::cmp::Ordering::Equal)); memories }