Skip to content

Commit 04d3582

Browse files
fix: update CI
1 parent 4c75f7d commit 04d3582

File tree

2 files changed

+28
-29
lines changed

2 files changed

+28
-29
lines changed

.prettierrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
"singleQuote": true,
55
"tabWidth": 2,
66
"printWidth": 120,
7-
"useTabs": false
7+
"useTabs": false,
8+
"endOfLine": "auto"
89
}

src/core/SpriteAnimator.tsx

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as React from 'react'
2-
import { useFrame, useThree, Vector3 } from '@react-three/fiber'
2+
import { useFrame, Vector3 } from '@react-three/fiber'
33
import * as THREE from 'three'
44

55
export type SpriteAnimatorProps = {
@@ -53,7 +53,6 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
5353
},
5454
fref
5555
) => {
56-
const v = useThree((state) => state.viewport)
5756
const spriteData = React.useRef<any>(null)
5857
const [isJsonReady, setJsonReady] = React.useState(false)
5958
const hasEnded = React.useRef(false)
@@ -118,13 +117,6 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
118117
modifySpritePosition()
119118
}, [spriteTexture, flipX])
120119

121-
React.useEffect(() => {
122-
if (autoPlay === false) {
123-
if (play) {
124-
}
125-
}
126-
}, [pause])
127-
128120
React.useEffect(() => {
129121
if (autoPlay) {
130122
pauseRef.current = false
@@ -148,7 +140,7 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
148140
const parseSpriteData = (json: any, _spriteTexture: THREE.Texture): void => {
149141
// sprite only case
150142
if (json === null) {
151-
if (_spriteTexture && numberOfFrames) {
143+
if (numberOfFrames) {
152144
//get size from texture
153145
const width = _spriteTexture.image.width
154146
const height = _spriteTexture.image.height
@@ -161,8 +153,8 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
161153
meta: {
162154
version: '1.0',
163155
size: { w: width, h: height },
164-
scale: '1'
165-
}
156+
scale: '1',
157+
},
166158
}
167159

168160
if (parseInt(frameWidth.toString(), 10) === frameWidth) {
@@ -173,12 +165,12 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
173165
rotated: false,
174166
trimmed: false,
175167
spriteSourceSize: { x: 0, y: 0, w: frameWidth, h: frameHeight },
176-
sourceSize: { w: frameWidth, h: height }
168+
sourceSize: { w: frameWidth, h: height },
177169
})
178170
}
179171
}
180172
}
181-
} else if (_spriteTexture) {
173+
} else {
182174
spriteData.current = json
183175
spriteData.current.frames = Array.isArray(json.frames) ? json.frames : parseFrames()
184176
totalFrames.current = Array.isArray(json.frames) ? json.frames.length : Object.keys(json.frames).length
@@ -207,7 +199,7 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
207199
for (let i = 0; i < delimiters.length; i++) {
208200
sprites[delimiters[i]] = []
209201

210-
for (let innerKey in data['frames']) {
202+
for (const innerKey in data['frames']) {
211203
const value = data['frames'][innerKey]
212204
const frameData = value['frame']
213205
const x = frameData['x']
@@ -217,14 +209,14 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
217209
const sourceWidth = value['sourceSize']['w']
218210
const sourceHeight = value['sourceSize']['h']
219211

220-
if (typeof innerKey === 'string' && innerKey.toLowerCase().indexOf(delimiters[i].toLowerCase()) !== -1) {
212+
if (innerKey.toLowerCase().indexOf(delimiters[i].toLowerCase()) !== -1) {
221213
sprites[delimiters[i]].push({
222214
x: x,
223215
y: y,
224216
w: width,
225217
h: height,
226218
frame: frameData,
227-
sourceSize: { w: sourceWidth, h: sourceHeight }
219+
sourceSize: { w: sourceWidth, h: sourceHeight },
228220
})
229221
}
230222
}
@@ -245,7 +237,7 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
245237
if (!spriteData.current) return
246238
const {
247239
meta: { size: metaInfo },
248-
frames
240+
frames,
249241
} = spriteData.current
250242

251243
const { w: frameW, h: frameH } = Array.isArray(frames)
@@ -277,26 +269,24 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
277269
const diff = now - timerOffset.current
278270
const {
279271
meta: { size: metaInfo },
280-
frames
272+
frames,
281273
} = spriteData.current
282274
const { w: frameW, h: frameH } = getFirstItem(frames).sourceSize
283275
const spriteFrames = Array.isArray(frames) ? frames : frameName ? frames[frameName] : []
284276

285-
let finalValX = 0
286-
let finalValY = 0
287277
const _endFrame = endFrame || spriteFrames.length - 1
288278

289279
if (currentFrame.current > _endFrame) {
290280
currentFrame.current = loop ? startFrame ?? 0 : 0
291281
if (loop) {
292282
onLoopEnd?.({
293283
currentFrameName: frameName,
294-
currentFrame: currentFrame.current
284+
currentFrame: currentFrame.current,
295285
})
296286
} else {
297287
onEnd?.({
298288
currentFrameName: frameName,
299-
currentFrame: currentFrame.current
289+
currentFrame: currentFrame.current,
300290
})
301291
hasEnded.current = resetOnEnd ? false : true
302292
if (resetOnEnd) {
@@ -329,20 +319,22 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
329319
const framesV = (metaInfo.h - 1) / frameH
330320
const {
331321
frame: { x: frameX, y: frameY },
332-
sourceSize: { w: originalSizeX, h: originalSizeY }
322+
sourceSize: { w: originalSizeX, h: originalSizeY },
333323
} = spriteFrames[currentFrame.current]
334324
const frameOffsetX = 1 / framesH
335325
const frameOffsetY = 1 / framesV
336326
finalValX =
337-
flipOffset > 0 ? frameOffsetX * (frameX / originalSizeX) : frameOffsetX * (frameX / originalSizeX) - matRef.current.map.repeat.x
327+
flipOffset > 0
328+
? frameOffsetX * (frameX / originalSizeX)
329+
: frameOffsetX * (frameX / originalSizeX) - matRef.current.map.repeat.x
338330
finalValY = Math.abs(1 - frameOffsetY) - frameOffsetY * (frameY / originalSizeY)
339331

340332
matRef.current.map.offset.x = finalValX
341333
matRef.current.map.offset.y = finalValY
342334
}
343335

344336
// *** Warning! It runs on every frame! ***
345-
useFrame((state, delta) => {
337+
useFrame((_state, _delta) => {
346338
if (!spriteData.current?.frames || !matRef.current?.map) {
347339
return
348340
}
@@ -370,11 +362,17 @@ export const SpriteAnimator: React.FC<SpriteAnimatorProps> = (
370362
}
371363

372364
return (
373-
<group {...props}>
365+
<group ref={fref} {...props}>
374366
<React.Suspense fallback={null}>
375367
{displayAsSprite && (
376368
<sprite ref={spriteRef} scale={aspect}>
377-
<spriteMaterial toneMapped={false} ref={matRef} map={spriteTexture} transparent={true} alphaTest={alphaTest ?? 0.0} />
369+
<spriteMaterial
370+
toneMapped={false}
371+
ref={matRef}
372+
map={spriteTexture}
373+
transparent={true}
374+
alphaTest={alphaTest ?? 0.0}
375+
/>
378376
</sprite>
379377
)}
380378
{!displayAsSprite && (

0 commit comments

Comments
 (0)