refactor web

This commit is contained in:
bridge
2025-11-21 01:38:41 +08:00
parent 5a51b6638d
commit 41d2103ffc
14 changed files with 863 additions and 559 deletions

View File

@@ -0,0 +1,28 @@
import { Ticker } from 'pixi.js'
import { onMounted, onUnmounted } from 'vue'
const sharedTicker = new Ticker()
let consumerCount = 0
export function useSharedTicker(callback: (delta: number) => void) {
const runner = (ticker: Ticker) => {
callback(ticker.deltaTime)
}
onMounted(() => {
consumerCount += 1
sharedTicker.add(runner)
if (!sharedTicker.started) {
sharedTicker.start()
}
})
onUnmounted(() => {
sharedTicker.remove(runner)
consumerCount = Math.max(consumerCount - 1, 0)
if (consumerCount === 0) {
sharedTicker.stop()
}
})
}