show icons next to interactive object type

This commit is contained in:
2026-04-13 19:14:44 +03:00
parent 8c9c02b4c1
commit 4e2405d29e
+13 -1
View File
@@ -11,6 +11,9 @@
<line :x1="vd.x1" :y1="vd.y1" :x2="parent.vd.x1" :y2="parent.vd.y1"></line> <line :x1="vd.x1" :y1="vd.y1" :x2="parent.vd.x1" :y2="parent.vd.y1"></line>
<svg-icon :src="`/asset/thumb/${modelValue.go||modelValue.type}.webp`" :x="vd.x1" :y="vd.y1" :size="37"></svg-icon> <svg-icon :src="`/asset/thumb/${modelValue.go||modelValue.type}.webp`" :x="vd.x1" :y="vd.y1" :size="37"></svg-icon>
<text :x="vd.x1" :y="vd.y1" dy="58">{{ modelValue.title }}</text> <text :x="vd.x1" :y="vd.y1" dy="58">{{ modelValue.title }}</text>
<image v-if="modelValue.go" :href="`/asset/thumb/${modelValue.type}.webp`" width="25" class="cursor-pointer"
:x="vd.x1 + 37 - 10" :y="vd.y1 - 37 - 10">
</image>
<image v-if="modelValue.go" href="/static/svg/play-circle.svg" width="20" class="cursor-pointer" <image v-if="modelValue.go" href="/static/svg/play-circle.svg" width="20" class="cursor-pointer"
:x="vd.x1 + 37 - 10" :y="vd.y1 + 37 - 10" @click="$emit('preview', modelValue.go)"> :x="vd.x1 + 37 - 10" :y="vd.y1 + 37 - 10" @click="$emit('preview', modelValue.go)">
</image> </image>
@@ -23,7 +26,15 @@
</teleport> </teleport>
<v-card v-if="selected" :title="modelValue.title" class="mx-2" variant="text"> <v-card v-if="selected" :title="modelValue.title" class="mx-2" variant="text">
<v-select :label="l.gameObjectType" v-model="modelValue.type" density="compact" hide-details <v-select :label="l.gameObjectType" v-model="modelValue.type" density="compact" hide-details
:items="InteractiveObjectTypes.map(e=>({title: l.interactiveObjects[e], value: e}))"></v-select> :items="InteractiveObjectTypes.map(e=>({title: l.interactiveObjects[e], value: e}))">
<template v-slot:item="{ props }">
<v-list-item v-bind="props">
<template v-slot:append>
<img :src="`/asset/thumb/${props.value}.webp`" height="37"></img>
</template>
</v-list-item>
</template>
</v-select>
<v-form class="pt-4"> <v-form class="pt-4">
<v-text-field density="compact" :label="l.name" v-model="modelValue.title"></v-text-field> <v-text-field density="compact" :label="l.name" v-model="modelValue.title"></v-text-field>
<!-- <v-text-field density="compact" :label="l.id" v-model="modelValue.id"></v-text-field> --> <!-- <v-text-field density="compact" :label="l.id" v-model="modelValue.id"></v-text-field> -->
@@ -96,6 +107,7 @@ export default {
this.modelValue.points ??= 10; this.modelValue.points ??= 10;
this.modelValue.activationScore ??= 0; this.modelValue.activationScore ??= 0;
this.modelValue.type ??= 'GenericObject'; this.modelValue.type ??= 'GenericObject';
//this.modelValue.title ??= this.l.interactiveObjects[this.modelValue.type]
this.activationTypes = this.activationTypes.map(t=>({title: this.l.activationTypes[t], value: t})) this.activationTypes = this.activationTypes.map(t=>({title: this.l.activationTypes[t], value: t}))
if (components[this.modelValue.type].__transform){ if (components[this.modelValue.type].__transform){
components[this.modelValue.type].__transform(this.modelValue) components[this.modelValue.type].__transform(this.modelValue)