加入碰撞和粒子发射路径
This commit is contained in:
1 parent
026ee74d48
commit
72d8daa283
12 files changed
+1365
-1276
No files matched your search
@@ -1,5 +1,5 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { EmitterConfig, defaultConfig, ParticleState, type SceneCollider } from '../core/particleEmitter'
|
||||
import { EmitterConfig, defaultConfig, ensureEmitterConfig, ParticleState, type SceneCollider } from '../core/particleEmitter'
|
||||
import type { SpineSceneObject } from '../spine/spineTypes'
|
||||
import { releaseSpineAsset, retainSpineAsset } from '../spine/spineAssetRegistry'
|
||||
import { cloneEditorValue } from '../editor/editorClone'
|
||||
@@ -20,8 +20,6 @@ export interface ParticleSystem {
|
||||
export interface CollisionBody extends SceneCollider {
|
||||
name: string
|
||||
visible: boolean
|
||||
tags: string[]
|
||||
selectedTag: string
|
||||
followPath: boolean
|
||||
followPathId: number
|
||||
followDuration: number
|
||||
@@ -254,8 +252,6 @@ export const useParticleStore = defineStore('particle', {
|
||||
id,
|
||||
name: `Collider${id}`,
|
||||
visible: true,
|
||||
tags: ['Default'],
|
||||
selectedTag: 'Default',
|
||||
shape: 'circle',
|
||||
enabled: true,
|
||||
x: 0,
|
||||
@@ -402,6 +398,10 @@ export const useParticleStore = defineStore('particle', {
|
||||
removeCollider(id: number) {
|
||||
const index = this.colliders.findIndex((item) => item.id === id)
|
||||
if (index >= 0) this.colliders.splice(index, 1)
|
||||
for (const system of this.systems) {
|
||||
const config = ensureEmitterConfig(system.config as any)
|
||||
config.collisionColliderIds = config.collisionColliderIds.filter((colliderId) => colliderId !== id)
|
||||
}
|
||||
if (this.activeObjectType === 'collision' && this.activeObjectId === id) {
|
||||
const fallback = this.systems[0]
|
||||
this.activeObjectType = fallback ? 'particle' : 'collision'
|
||||
|
||||
Reference in new issue
Block a user