Files
SpineParticlesWeb/src/views/ParticlePanel.vue
T
2026-09-11 10:00:38 +08:00

48 lines
2.0 KiB
Vue

<template>
<div class="panel">
<div class="panel-header">
<span>Spine粒子编辑器-Yeomai</span>
</div>
<div class="panel-scroll">
<ProjectConfigSection />
<SceneObjectsSection />
<template v-if="activeObjectType === 'particle' && sys">
<EmissionSection />
<ParticleAttributesSection />
<ParticleAppearanceSection />
<ParticleModifiersSection />
<ExportSettingsSection />
</template>
</div>
<ParticleExportFooter />
</div>
</template>
<script setup lang="ts">
import ProjectConfigSection from './particle-panel/ProjectConfigSection.vue'
import SceneObjectsSection from './particle-panel/SceneObjectsSection.vue'
import EmissionSection from './particle-panel/EmissionSection.vue'
import ParticleAttributesSection from './particle-panel/ParticleAttributesSection.vue'
import ParticleAppearanceSection from './particle-panel/ParticleAppearanceSection.vue'
import ParticleModifiersSection from './particle-panel/ParticleModifiersSection.vue'
import ExportSettingsSection from './particle-panel/ExportSettingsSection.vue'
import ParticleExportFooter from './particle-panel/ParticleExportFooter.vue'
import { provideParticlePanel } from './particle-panel/particlePanelContext'
const { activeObjectType, sys } = provideParticlePanel()
</script>
<style scoped>
.panel { display: flex; width: 100%; height: 100%; flex-direction: column; overflow: hidden; background: #14141f; border-left: 1px solid #2a2a3c; padding: 12px; box-sizing: border-box; }
.panel-scroll { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior: contain; padding-right: 2px; scrollbar-width: thin; scrollbar-color: #2e2e44 transparent; }
.panel-scroll::-webkit-scrollbar { width: 6px; }
.panel-scroll::-webkit-scrollbar-track { background: transparent; }
.panel-scroll::-webkit-scrollbar-thumb { background: #2e2e44; border-radius: 3px; }
.panel-scroll::-webkit-scrollbar-thumb:hover { background: #3a3a55; }
.panel-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; flex: 0 0 auto; font-weight: 700; color: #ccd; }
</style>