translations

This commit is contained in:
2026-02-09 16:52:41 +02:00
parent 55de3124fe
commit 435f47a647
4 changed files with 53 additions and 30 deletions
@@ -34,6 +34,7 @@ class InteractiveObject extends EventManager{
this.maxPoints = obj.points || 0;
this.name = obj.name;
return new Promise(async (resolve, reject) => {
//TODO: refactor this!
switch (obj.type || 'GenericObject') {
case 'Group':
this.object = new Group();
@@ -164,29 +165,17 @@ class LockActivator{
GameEngine.loadTexture('locked.webp', '/static/textures/', null, [LockActivator.materialLocked, 'alphaMap'])
const InteractiveObjectTypes = [
{
id: 'GenericObject', name: 'Generic Game Object'
},{
id: 'CharacterObject', name: 'Character'
}, {
id: 'PuzzleGame1', name: 'Puzzle Game 1'
},{
id: 'PuzzleGame2', name: 'Puzzle Game 2'
},{
id: 'MazeQuizGame', name: 'Maze Quiz Game'
},{
id: 'ClassicPuzzle', name: 'Classic Puzzle Game'
},{
id: 'PairMatchingGame', name: 'Pair Matching Game'
},{
id: 'SingleQuestion', name: 'Single Question'
},{
id: 'VideoPlayer', name: 'Video Player'
},{
id: 'Particles', name: 'Particles'
},{
id: 'SceneSwitcher', name: 'Scene Switcher'
}
'GenericObject',
'CharacterObject',
'PuzzleGame1',
'PuzzleGame2',
'MazeQuizGame',
'ClassicPuzzle',
'PairMatchingGame',
'SingleQuestion',
'VideoPlayer',
'Particles',
'SceneSwitcher',
];
export { InteractiveObject, InteractiveObjectTypes, InteractiveObjectsImports }
+1 -1
View File
@@ -23,7 +23,7 @@
</teleport>
<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
:items="InteractiveObjectTypes.map(e=>({title: e.name, value: e.id}))"></v-select>
:items="InteractiveObjectTypes.map(e=>({title: l.interactiveObjects[e], value: e}))"></v-select>
<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.id" v-model="modelValue.id"></v-text-field> -->
+4 -4
View File
@@ -12,27 +12,27 @@
<v-img v-if="modelValue.environment" :src="`/asset/thumb/${modelValue.environment}.webp`" />
<asset-selector @select="assignEnvironment" :type="['Panorama']">
<template v-slot:activator="props">
<v-btn v-bind="props" prepend-icon="mdi-panorama-sphere-outline" block color="light-blue-darken-4">Select environment</v-btn>
<v-btn v-bind="props" prepend-icon="mdi-panorama-sphere-outline" block color="light-blue-darken-4">{{ l.selectEnvironment }}</v-btn>
</template>
</asset-selector>
<v-img v-if="modelValue.scene" :src="`/asset/thumb/${modelValue.scene}.webp`" />
<asset-selector @select="assignScene" :type="['Scene']">
<template v-slot:activator="props">
<v-btn v-bind="props" prepend-icon="mdi-panorama-outline" block color="orange-darken-3" class="my-4">Select scene</v-btn>
<v-btn v-bind="props" prepend-icon="mdi-panorama-outline" block color="orange-darken-3" class="my-4">{{ l.selectScene }}</v-btn>
</template>
</asset-selector>
<v-img v-if="modelValue.intro" :src="`/asset/thumb/${modelValue.intro}.webp`" />
<asset-selector @select="assignIntro" :type="['Video']">
<template v-slot:activator="props">
<v-btn v-bind="props" prepend-icon="mdi-filmstrip" block color="deep-orange-darken-4" class="my-4">Select introduction</v-btn>
<v-btn v-bind="props" prepend-icon="mdi-filmstrip" block color="deep-orange-darken-4" class="my-4">{{ l.selectIntroduction }}</v-btn>
</template>
</asset-selector>
<asset-selector @select="assignAudio" :type="['Audio']">
<template v-slot:activator="props">
<v-btn v-bind="props" prepend-icon="mdi-volume-medium" block color="deep-purple-accent-2" class="my-4">Select ambient sound</v-btn>
<v-btn v-bind="props" prepend-icon="mdi-volume-medium" block color="deep-purple-accent-2" class="my-4">{{ l.selectAmbientSound }}</v-btn>
</template>
</asset-selector>