Browse Source

feat: 狩猎任务图标按难度区分颜色

- 炼狱难度:红色调
- 困难难度:橙色调
- 普通难度:原色
master
hanqin 4 weeks ago
parent
commit
6ded608b83
  1. 19
      Build_God_Game/src/views/DailyMissionView.vue

19
Build_God_Game/src/views/DailyMissionView.vue

@ -145,13 +145,28 @@ const getProgressText = (mission: DailyMission) => {
return `${targetType} ${progress.currentCount}/${progress.targetCount} ${targetName}` return `${targetType} ${progress.currentCount}/${progress.targetCount} ${targetName}`
} }
const getMissionIcon = (type: MissionType) => { const getMissionIcon = (type: MissionType, difficulty: MissionDifficulty) => {
if (type === MissionType.Collection) { if (type === MissionType.Collection) {
return collectionIcon return collectionIcon
} }
// For hunting, use different filters based on difficulty
return huntingNormalIcon 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({ const MissionCardContent = defineComponent({
name: 'MissionCardContent', name: 'MissionCardContent',
props: { props: {
@ -165,7 +180,7 @@ const MissionCardContent = defineComponent({
return () => h('div', { class: 'mission-card-content' }, [ return () => h('div', { class: 'mission-card-content' }, [
h('div', { class: 'card-header' }, [ h('div', { class: 'card-header' }, [
h('div', { class: 'card-title-row' }, [ 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-title' }, props.mission.missionTitle),
]), ]),
h('span', { class: ['card-status', getStatusClass(props.mission.status)] }, getStatusText(props.mission.status)), h('span', { class: ['card-status', getStatusClass(props.mission.status)] }, getStatusText(props.mission.status)),

Loading…
Cancel
Save