|
|
|
@ -1,7 +1,9 @@
@@ -1,7 +1,9 @@
|
|
|
|
|
<template> |
|
|
|
|
<div :class="['dungeon', 'df' + dungeon.difficulty]" @contextmenu.prevent.stop="emit('battle')" |
|
|
|
|
@dblclick="emit('battle')" @mouseover="showTips" @mouseleave="closeTips"> |
|
|
|
|
<div class="icon"></div> |
|
|
|
|
<div class="icon"> |
|
|
|
|
<img class="icon-img" :src="dungeon_icon[dungeon.difficulty]"> |
|
|
|
|
</div> |
|
|
|
|
<div class="lv">lv{{ dungeon.lv }}</div> |
|
|
|
|
<!-- --> |
|
|
|
|
<div class="tip" v-if="tipsShow" :style='tipsStyle'> |
|
|
|
@ -16,6 +18,7 @@
@@ -16,6 +18,7 @@
|
|
|
|
|
import { useStore } from "vuex"; |
|
|
|
|
import { computed, onMounted, ref, watch } from "vue"; |
|
|
|
|
import { useI18n } from "vue3-i18n"; |
|
|
|
|
import { dungeon_icon } from "@/config"; |
|
|
|
|
|
|
|
|
|
const { t } = useI18n(); |
|
|
|
|
const { state, commit, dispatch } = useStore(); |
|
|
|
@ -88,11 +91,15 @@ onMounted(() => {
@@ -88,11 +91,15 @@ onMounted(() => {
|
|
|
|
|
margin-top: 0.2rem; |
|
|
|
|
margin-left: 0.2rem; |
|
|
|
|
border-radius: 50%; |
|
|
|
|
background-image: url(@/assets/icons/d1.png); |
|
|
|
|
background-color: rgba(100, 255, 36, 0.6); |
|
|
|
|
background-repeat: no-repeat; |
|
|
|
|
background-position: center center; |
|
|
|
|
background-size: 30px 29px; |
|
|
|
|
|
|
|
|
|
.icon-img { |
|
|
|
|
width: 100%; |
|
|
|
|
height: 100%; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.lv { |
|
|
|
@ -122,7 +129,6 @@ onMounted(() => {
@@ -122,7 +129,6 @@ onMounted(() => {
|
|
|
|
|
box-shadow: 0 0 4px 4px rgba(245, 241, 0, 0.6); |
|
|
|
|
|
|
|
|
|
.icon { |
|
|
|
|
background-image: url(@/assets/icons/d2.png); |
|
|
|
|
background-color: rgba(245, 241, 0, 0.6); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -132,7 +138,6 @@ onMounted(() => {
@@ -132,7 +138,6 @@ onMounted(() => {
|
|
|
|
|
box-shadow: 0 0 4px 4px rgba(245, 54, 54, 0.5); |
|
|
|
|
|
|
|
|
|
.icon { |
|
|
|
|
background-image: url(@/assets/icons/d3.png); |
|
|
|
|
background-color: rgba(245, 54, 54, 0.6); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|