From 6ded608b83bd8f53099e8a3ff0762637b4b56273 Mon Sep 17 00:00:00 2001 From: hanqin Date: Wed, 15 Apr 2026 13:46:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=8B=A9=E7=8C=8E=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E6=8C=89=E9=9A=BE=E5=BA=A6=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 炼狱难度:红色调 - 困难难度:橙色调 - 普通难度:原色 --- Build_God_Game/src/views/DailyMissionView.vue | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Build_God_Game/src/views/DailyMissionView.vue b/Build_God_Game/src/views/DailyMissionView.vue index 2ab8eab..1ef3128 100644 --- a/Build_God_Game/src/views/DailyMissionView.vue +++ b/Build_God_Game/src/views/DailyMissionView.vue @@ -145,13 +145,28 @@ const getProgressText = (mission: DailyMission) => { return `${targetType} ${progress.currentCount}/${progress.targetCount} ${targetName}` } -const getMissionIcon = (type: MissionType) => { +const getMissionIcon = (type: MissionType, difficulty: MissionDifficulty) => { if (type === MissionType.Collection) { return collectionIcon } + // For hunting, use different filters based on difficulty return huntingNormalIcon } +const getMissionIconFilter = (type: MissionType, difficulty: MissionDifficulty) => { + if (type === MissionType.Collection) { + return 'none' + } + switch (difficulty) { + case MissionDifficulty.Purgatory: + return 'hue-rotate(-10deg) saturate(1.5) brightness(0.8)' + case MissionDifficulty.Hard: + return 'hue-rotate(-30deg) saturate(1.2)' + default: + return 'none' + } +} + const MissionCardContent = defineComponent({ name: 'MissionCardContent', props: { @@ -165,7 +180,7 @@ const MissionCardContent = defineComponent({ return () => h('div', { class: 'mission-card-content' }, [ h('div', { class: 'card-header' }, [ h('div', { class: 'card-title-row' }, [ - h('div', { class: 'card-icon', innerHTML: getMissionIcon(props.mission.missionType) }), + h('div', { class: 'card-icon', style: `filter: ${getMissionIconFilter(props.mission.missionType, props.mission.difficulty)}`, innerHTML: getMissionIcon(props.mission.missionType, props.mission.difficulty) }), h('span', { class: 'card-title' }, props.mission.missionTitle), ]), h('span', { class: ['card-status', getStatusClass(props.mission.status)] }, getStatusText(props.mission.status)),