dev
This commit is contained in:
@@ -64,7 +64,7 @@ class GamesManager{
|
||||
this.list = async function(query){
|
||||
return await db.list(collection, {
|
||||
query,
|
||||
project: { name:1, id:1, sceneThumb: '$scenes.data.environment'}
|
||||
project: { name:1, id:1, thumb: 1}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
<v-btn icon="mdi-plus" variant="text" v-bind="props"></v-btn>
|
||||
</template>
|
||||
<v-list>
|
||||
<v-list-item to="/game-objects/add">Нов игрови обект</v-list-item>
|
||||
<v-list-item to="/scenarios/add">Нов сценарий</v-list-item>
|
||||
<v-list-item to="/games/add">Нова игра</v-list-item>
|
||||
<v-list-item to="/game-objects/add">{{ l.createGameObject }}</v-list-item>
|
||||
<v-list-item to="/scenarios/add">{{ l.createScenario }}</v-list-item>
|
||||
<v-list-item to="/games/add">{{ l.createGame }}</v-list-item>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
</v-app-bar>
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<template>
|
||||
<div v-show="forRendering">
|
||||
<div ref="target"></div>
|
||||
<div class="position-relative">
|
||||
<div ref="target"></div>
|
||||
<div class="renderer-gizmo"></div>
|
||||
</div>
|
||||
<v-slide-group show-arrows>
|
||||
<v-slide-group-item v-for="(a, i) in animations" :key="i" v-slot="{ isSelected }">
|
||||
<v-btn :color="isSelected ? 'primary' : undefined" class="ma-2"
|
||||
@@ -79,8 +82,8 @@ export default{
|
||||
});
|
||||
//console.log(bb)
|
||||
gameEngine.camera.position.set(bb.max.x, bb.max.y, bb.max.z);
|
||||
gameEngine.controls.target.set((bb.max.x + bb.min.x) / 2, (bb.max.y + bb.min.y) / 2, (bb.max.z + bb.min.z) / 2)
|
||||
gameEngine.controls.update();
|
||||
gameEngine.orbitControls.target.set((bb.max.x + bb.min.x) / 2, (bb.max.y + bb.min.y) / 2, (bb.max.z + bb.min.z) / 2)
|
||||
gameEngine.orbitControls.update();
|
||||
gameEngine.scene.add(gltf.scene);
|
||||
//gameEngine.scene.add(gameEngine.light);
|
||||
}
|
||||
|
||||
@@ -104,6 +104,8 @@ export default {
|
||||
currentObject(n){
|
||||
gameEngine.transformControls.attach(n.__o);
|
||||
gameEngine.gizmo.target = n.__o.position;
|
||||
//gameEngine.camera.lookAt(n.__o.position)
|
||||
gameEngine.camera.updateProjectionMatrix()
|
||||
},
|
||||
renderType(v){
|
||||
gameEngine.renderType = v;
|
||||
|
||||
@@ -150,7 +150,7 @@ class GameEngine {
|
||||
}
|
||||
|
||||
stop(){
|
||||
this.renderer.setAnimationLoop(null);
|
||||
this.renderer?.setAnimationLoop(null);
|
||||
}
|
||||
|
||||
getMouseVector(mouseEvent, domElement){
|
||||
|
||||
@@ -46,6 +46,13 @@ export default {
|
||||
}
|
||||
this.scenarios = (await this.$api.scenario.search()).data.data;
|
||||
},
|
||||
watch:{
|
||||
'object.scenario'(v){
|
||||
if (v){
|
||||
this.object.thumb = this.scenarios?.find(s=>s.id == v)?.sceneThumb?.[0];
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
id() {
|
||||
return this.$route.params?.id;
|
||||
@@ -56,7 +63,8 @@ export default {
|
||||
this.loading = true;
|
||||
try {
|
||||
let result = await this.$api.game.save(this.object);
|
||||
Object.assign(this.object, result.data.object);
|
||||
//Object.assign(this.object, result.data.object);
|
||||
this.object.id = result.data.object.id;
|
||||
if (this.id == 'add') {
|
||||
this.$router.replace({ params: { id: this.object.id } });
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<v-row>
|
||||
<v-col v-for="(v, i) in items" :key="i" cols="12" xs="6" sm="4" md="3" xl="2" class="position-relative">
|
||||
<router-link :to="`/games/${v.id}`">
|
||||
<v-img :src="`/asset/thumb/${v.thumb?.[0]}.webp`"></v-img>
|
||||
<v-img :src="`/asset/thumb/${v.thumb}.webp`"></v-img>
|
||||
</router-link>
|
||||
<div class="d-flex">
|
||||
<span class="flex-grow-1">{{ v.name }}</span>
|
||||
|
||||
Reference in New Issue
Block a user