Rough treat spawning

This commit is contained in:
hz
2026-01-31 12:01:32 -06:00
parent ea384d8c7b
commit a3e1b6c29e
8 changed files with 1390 additions and 0 deletions
+390
View File
@@ -0,0 +1,390 @@
fileFormatVersion: 2
guid: ee688c75d9060e742a4b07b60973dbd0
TextureImporter:
internalIDToNameTable:
- first:
213: -3145328045451892686
second: Idle-Sheet_0
- first:
213: -6552843917330368855
second: Idle-Sheet_1
- first:
213: 7309844833446704383
second: Idle-Sheet_2
- first:
213: -1701584443341091289
second: Idle-Sheet_3
- first:
213: 4619437029804489033
second: Idle-Sheet_4
- first:
213: -4551553420487462637
second: Idle-Sheet_5
- first:
213: -8319592003026277099
second: Idle-Sheet_6
- first:
213: -3047600694729459556
second: Idle-Sheet_7
- first:
213: 3010836181190408298
second: Idle-Sheet_8
- first:
213: 8233634471385200856
second: Idle-Sheet_9
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: Idle-Sheet_0
rect:
serializedVersion: 2
x: 8
y: 29
width: 15
height: 31
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 23824ccaecc8954d0800000000000000
internalID: -3145328045451892686
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Idle-Sheet_1
rect:
serializedVersion: 2
x: 38
y: 27
width: 18
height: 32
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 9a6b1f6fc2f9f05a0800000000000000
internalID: -6552843917330368855
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Idle-Sheet_2
rect:
serializedVersion: 2
x: 70
y: 27
width: 18
height: 32
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: ff4b0d49529c17560800000000000000
internalID: 7309844833446704383
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Idle-Sheet_3
rect:
serializedVersion: 2
x: 102
y: 27
width: 18
height: 32
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 72ec253d6f1c268e0800000000000000
internalID: -1701584443341091289
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Idle-Sheet_4
rect:
serializedVersion: 2
x: 134
y: 27
width: 18
height: 32
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 94938c7f0898b1040800000000000000
internalID: 4619437029804489033
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Idle-Sheet_5
rect:
serializedVersion: 2
x: 4
y: 0
width: 21
height: 26
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 31171ab7742a5d0c0800000000000000
internalID: -4551553420487462637
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Idle-Sheet_6
rect:
serializedVersion: 2
x: 38
y: 2
width: 22
height: 25
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 51d207ff62fda8c80800000000000000
internalID: -8319592003026277099
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Idle-Sheet_7
rect:
serializedVersion: 2
x: 69
y: 6
width: 19
height: 21
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: c98ba65a05fb4b5d0800000000000000
internalID: -3047600694729459556
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Idle-Sheet_8
rect:
serializedVersion: 2
x: 106
y: 3
width: 15
height: 24
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: a687fb00e83a8c920800000000000000
internalID: 3010836181190408298
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Idle-Sheet_9
rect:
serializedVersion: 2
x: 138
y: 5
width: 15
height: 22
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 8d873559deeb34270800000000000000
internalID: 8233634471385200856
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
Idle-Sheet_0: -3145328045451892686
Idle-Sheet_1: -6552843917330368855
Idle-Sheet_2: 7309844833446704383
Idle-Sheet_3: -1701584443341091289
Idle-Sheet_4: 4619437029804489033
Idle-Sheet_5: -4551553420487462637
Idle-Sheet_6: -8319592003026277099
Idle-Sheet_7: -3047600694729459556
Idle-Sheet_8: 3010836181190408298
Idle-Sheet_9: 8233634471385200856
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
+305
View File
@@ -0,0 +1,305 @@
fileFormatVersion: 2
guid: 00487e6dd5045c34a8701203824577f4
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 62a9f0aa5b59740cfbadc7e5f9823bb0, type: 3}
importerVersion: 2
textureImporterSettings:
alphaSource: 1
mipMapMode: 0
enableMipMap: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
convertToNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
swizzle: 50462976
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
nPOTScale: 1
sRGBTexture: 1
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 0
flipbookColumns: 0
ignorePngGamma: 0
cookieMode: 0
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
normalMap: 0
textureFormat: 0
maxTextureSize: 0
lightmap: 0
compressionQuality: 0
linearTexture: 0
grayScaleToAlpha: 0
rGBM: 0
cubemapConvolutionSteps: 0
cubemapConvolutionExponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
applyGammaDecoding: 0
previousAsepriteImporterSettings:
fileImportMode: 1
importHiddenLayers: 0
layerImportMode: 1
defaultPivotSpace: 0
defaultPivotAlignment: 7
customPivotPosition: {x: 0.5, y: 0.5}
mosaicPadding: 4
spritePadding: 0
generateModelPrefab: 1
generateAnimationClips: 1
addSortingGroup: 1
addShadowCasters: 0
generateIndividualEvents: 1
generateSpriteAtlas: 1
asepriteImporterSettings:
fileImportMode: 1
importHiddenLayers: 0
layerImportMode: 1
defaultPivotSpace: 0
defaultPivotAlignment: 7
customPivotPosition: {x: 0.5, y: 0.5}
mosaicPadding: 4
spritePadding: 0
generateModelPrefab: 1
generateAnimationClips: 1
addSortingGroup: 1
addShadowCasters: 0
generateIndividualEvents: 1
generateSpriteAtlas: 1
importFileNodeState: 1
platformSettingsDirtyTick: 0
textureAssetName:
singleSpriteImportData:
- name:
originalName:
pivot: {x: 0, y: 0}
alignment: 0
border: {x: 0, y: 0, z: 0, w: 0}
customData:
rect:
serializedVersion: 2
x: 0
y: 0
width: 0
height: 0
spriteID:
spriteBone: []
spriteOutline: []
vertices: []
spritePhysicsOutline: []
indices:
edges: []
tessellationDetail: 0
uvTransform: {x: 0, y: 0}
animatedSpriteImportData:
- name: Frame_0
originalName:
pivot: {x: 0.57894737, y: 0}
alignment: 9
border: {x: 0, y: 0, z: 0, w: 0}
customData:
rect:
serializedVersion: 2
x: 4
y: 4
width: 19
height: 59
spriteID: 9c0ffe55b715a7846bb2fb9d02c48665
spriteBone: []
spriteOutline: []
vertices: []
spritePhysicsOutline: []
indices:
edges: []
tessellationDetail: 0
uvTransform: {x: 4, y: 4}
- name: Frame_1
originalName:
pivot: {x: 0.45000002, y: -0.054545455}
alignment: 9
border: {x: 0, y: 0, z: 0, w: 0}
customData:
rect:
serializedVersion: 2
x: 31
y: 4
width: 20
height: 55
spriteID: b0071601a00eb95428a706dcf63e2246
spriteBone: []
spriteOutline: []
vertices: []
spritePhysicsOutline: []
indices:
edges: []
tessellationDetail: 0
uvTransform: {x: 31, y: 4}
- name: Frame_2
originalName:
pivot: {x: 0.5882353, y: -0.13725491}
alignment: 9
border: {x: 0, y: 0, z: 0, w: 0}
customData:
rect:
serializedVersion: 2
x: 59
y: 4
width: 17
height: 51
spriteID: fed4daef1ccd2994eba43ec6b39ca733
spriteBone: []
spriteOutline: []
vertices: []
spritePhysicsOutline: []
indices:
edges: []
tessellationDetail: 0
uvTransform: {x: 59, y: 4}
- name: Frame_3
originalName:
pivot: {x: 0.5294118, y: -0.074074075}
alignment: 9
border: {x: 0, y: 0, z: 0, w: 0}
customData:
rect:
serializedVersion: 2
x: 31
y: 67
width: 17
height: 54
spriteID: 17bdc4c31380669428614f4d18fd64ea
spriteBone: []
spriteOutline: []
vertices: []
spritePhysicsOutline: []
indices:
edges: []
tessellationDetail: 0
uvTransform: {x: 31, y: 67}
- name: Frame_4
originalName:
pivot: {x: 0.5294118, y: -0.11538462}
alignment: 9
border: {x: 0, y: 0, z: 0, w: 0}
customData:
rect:
serializedVersion: 2
x: 4
y: 71
width: 17
height: 52
spriteID: c5c59e2cf43ada64cb43c9fd997f1c30
spriteBone: []
spriteOutline: []
vertices: []
spritePhysicsOutline: []
indices:
edges: []
tessellationDetail: 0
uvTransform: {x: 4, y: 71}
spriteSheetImportData: []
tileSetImportData: []
asepriteLayers:
- layerIndex: 0
uuid:
value0: 1266177044
value1: 0
value2: 0
value3: 0
guid: 0
name: Idle
layerFlags: 0
layerType: 0
blendMode: 0
cells:
- name: Frame_0
frameIndex: 0
additiveSortOrder: 0
cellRect:
x: 5
y: 0
width: 19
height: 59
spriteId: 9c0ffe55b715a7846bb2fb9d02c48665
- name: Frame_1
frameIndex: 1
additiveSortOrder: 0
cellRect:
x: 7
y: 3
width: 20
height: 55
spriteId: b0071601a00eb95428a706dcf63e2246
- name: Frame_2
frameIndex: 2
additiveSortOrder: 0
cellRect:
x: 6
y: 7
width: 17
height: 51
spriteId: fed4daef1ccd2994eba43ec6b39ca733
- name: Frame_3
frameIndex: 3
additiveSortOrder: 0
cellRect:
x: 7
y: 4
width: 17
height: 54
spriteId: 17bdc4c31380669428614f4d18fd64ea
- name: Frame_4
frameIndex: 4
additiveSortOrder: 0
cellRect:
x: 7
y: 6
width: 17
height: 52
spriteId: c5c59e2cf43ada64cb43c9fd997f1c30
linkedCells: []
tileCells: []
tileSetIndex: 0
parentIndex: -1
tileSets: []
platformSettings: []
generatePhysicsShape: 0
secondarySpriteTextures: []
spritePackingTag:
canvasSize: {x: 32, y: 64}
previousTextureSize: {x: 128, y: 128}
+390
View File
@@ -0,0 +1,390 @@
fileFormatVersion: 2
guid: 066772fcfdc602a4a9de77ec278f6b15
TextureImporter:
internalIDToNameTable:
- first:
213: 8755586062601758735
second: WhiteIdle-Sheet_0
- first:
213: -6498563521012007108
second: WhiteIdle-Sheet_1
- first:
213: -355294566065011671
second: WhiteIdle-Sheet_2
- first:
213: 6461784275695469678
second: WhiteIdle-Sheet_3
- first:
213: 2172644080437676170
second: WhiteIdle-Sheet_4
- first:
213: 298177540469929514
second: WhiteIdle-Sheet_5
- first:
213: 7511295215646650169
second: WhiteIdle-Sheet_6
- first:
213: -5570797389715581006
second: WhiteIdle-Sheet_7
- first:
213: -7292519459637379912
second: WhiteIdle-Sheet_8
- first:
213: 2272829048438686400
second: WhiteIdle-Sheet_9
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: WhiteIdle-Sheet_0
rect:
serializedVersion: 2
x: 8
y: 29
width: 15
height: 31
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: f082db58227128970800000000000000
internalID: 8755586062601758735
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: WhiteIdle-Sheet_1
rect:
serializedVersion: 2
x: 38
y: 27
width: 18
height: 32
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: c3f74c398e670d5a0800000000000000
internalID: -6498563521012007108
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: WhiteIdle-Sheet_2
rect:
serializedVersion: 2
x: 70
y: 27
width: 18
height: 32
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 924811f797db11bf0800000000000000
internalID: -355294566065011671
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: WhiteIdle-Sheet_3
rect:
serializedVersion: 2
x: 102
y: 27
width: 18
height: 32
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: e648800109edca950800000000000000
internalID: 6461784275695469678
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: WhiteIdle-Sheet_4
rect:
serializedVersion: 2
x: 134
y: 27
width: 18
height: 32
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: a88c7dda748c62e10800000000000000
internalID: 2172644080437676170
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: WhiteIdle-Sheet_5
rect:
serializedVersion: 2
x: 4
y: 0
width: 21
height: 26
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: a26b5bba4e6532400800000000000000
internalID: 298177540469929514
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: WhiteIdle-Sheet_6
rect:
serializedVersion: 2
x: 38
y: 2
width: 22
height: 25
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 93fa5bbb33b7d3860800000000000000
internalID: 7511295215646650169
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: WhiteIdle-Sheet_7
rect:
serializedVersion: 2
x: 69
y: 6
width: 19
height: 21
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 2b754561a4d80b2b0800000000000000
internalID: -5570797389715581006
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: WhiteIdle-Sheet_8
rect:
serializedVersion: 2
x: 106
y: 3
width: 15
height: 24
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 8bcb0ba5034cbca90800000000000000
internalID: -7292519459637379912
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: WhiteIdle-Sheet_9
rect:
serializedVersion: 2
x: 138
y: 5
width: 15
height: 22
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
customData:
outline: []
physicsShape: []
tessellationDetail: -1
bones: []
spriteID: 0c280634af5ba8f10800000000000000
internalID: 2272829048438686400
vertices: []
indices:
edges: []
weights: []
outline: []
customData:
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable:
WhiteIdle-Sheet_0: 8755586062601758735
WhiteIdle-Sheet_1: -6498563521012007108
WhiteIdle-Sheet_2: -355294566065011671
WhiteIdle-Sheet_3: 6461784275695469678
WhiteIdle-Sheet_4: 2172644080437676170
WhiteIdle-Sheet_5: 298177540469929514
WhiteIdle-Sheet_6: 7511295215646650169
WhiteIdle-Sheet_7: -5570797389715581006
WhiteIdle-Sheet_8: -7292519459637379912
WhiteIdle-Sheet_9: 2272829048438686400
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:
+106
View File
@@ -0,0 +1,106 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1000000000000000000
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1000000000000000001}
- component: {fileID: 1000000000000000002}
- component: {fileID: 1000000000000000003}
m_Layer: 0
m_Name: Treat
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1000000000000000001
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1000000000000000000}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.1, y: 0.1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &1000000000000000002
SpriteRenderer:
serializedVersion: 2
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1000000000000000000}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RayTracingAccelStructBuildFlagsOverride: 0
m_RayTracingAccelStructBuildFlags: 1
m_SmallMeshCulling: 1
m_ForceMeshLod: -1
m_MeshLodSelectionBias: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_GlobalIlluminationMeshLod: 0
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 2
m_MaskInteraction: 0
m_Sprite: {fileID: 0}
m_Color: {r: 1, g: 0.85, b: 0.2, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 0
m_SpriteSortPoint: 0
--- !u!114 &1000000000000000003
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1000000000000000000}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 13a3649e0bdf48b4afa233a4a4b64820, type: 3}
m_Name:
m_EditorClassIdentifier:
+7
View File
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 31e630c3bd57412bb4882033297c1fbf
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+59
View File
@@ -183,6 +183,64 @@ BoxCollider2D:
m_AutoTiling: 0 m_AutoTiling: 0
m_Size: {x: 3.5, y: 2.07} m_Size: {x: 3.5, y: 2.07}
m_EdgeRadius: 0 m_EdgeRadius: 0
--- !u!1 &200100000
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 200100001}
- component: {fileID: 200100002}
m_Layer: 0
m_Name: Treat Spawner
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &200100001
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 200100000}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &200100002
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 200100000}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8c0d77dd1488410bb1718b1f8f96fa7d, type: 3}
m_Name:
m_EditorClassIdentifier:
treatPrefab: {fileID: 1000000000000000000, guid: 31e630c3bd57412bb4882033297c1fbf, type: 3}
treatParent: {fileID: 0}
spawnAreaCenter: {x: 0, y: 2}
spawnAreaSize: {x: 16, y: 8}
groundMask:
serializedVersion: 2
m_Bits: 4294967295
groundRaycastHeight: 10
minSpawnInterval: 2.5
maxSpawnInterval: 4
maxTreats: 0
minSpawnSeparation: 1.5
maxSampleAttempts: 8
recentPositionsCount: 6
--- !u!212 &99338071 --- !u!212 &99338071
SpriteRenderer: SpriteRenderer:
serializedVersion: 2 serializedVersion: 2
@@ -1816,3 +1874,4 @@ SceneRoots:
- {fileID: 1118230347} - {fileID: 1118230347}
- {fileID: 477169536} - {fileID: 477169536}
- {fileID: 689117240} - {fileID: 689117240}
- {fileID: 200100001}
+122
View File
@@ -0,0 +1,122 @@
using UnityEngine;
using System.Collections.Generic;
public class TreatSpawner : MonoBehaviour
{
[SerializeField] private GameObject treatPrefab;
[SerializeField] private Transform treatParent;
[SerializeField] private Vector2 spawnAreaCenter = Vector2.zero;
[SerializeField] private Vector2 spawnAreaSize = new Vector2(10f, 5f);
[SerializeField] private LayerMask groundMask = ~0;
[SerializeField] private float groundRaycastHeight = 10f;
[SerializeField] private float minSpawnInterval = 1f;
[SerializeField] private float maxSpawnInterval = 2f;
[SerializeField] private int maxTreats = 0;
[SerializeField] private float minSpawnSeparation = 1.5f;
[SerializeField] private int maxSampleAttempts = 8;
[SerializeField] private int recentPositionsCount = 6;
private float nextSpawnTime;
private readonly Queue<Vector2> recentPositions = new Queue<Vector2>();
private void OnEnable()
{
ScheduleNextSpawn();
}
private void Update()
{
if (treatPrefab == null || Time.time < nextSpawnTime)
{
return;
}
if (maxTreats > 0 && treatParent != null && treatParent.childCount >= maxTreats)
{
ScheduleNextSpawn();
return;
}
SpawnTreat();
ScheduleNextSpawn();
}
private void SpawnTreat()
{
var position = FindSpawnPosition();
var instance = Instantiate(treatPrefab, position, Quaternion.identity);
if (treatParent != null)
{
instance.transform.SetParent(treatParent);
}
if (recentPositionsCount > 0)
{
recentPositions.Enqueue(position);
while (recentPositions.Count > recentPositionsCount)
{
recentPositions.Dequeue();
}
}
}
private void ScheduleNextSpawn()
{
var min = Mathf.Max(0.01f, minSpawnInterval);
var max = Mathf.Max(min, maxSpawnInterval);
nextSpawnTime = Time.time + Random.Range(min, max);
}
private Vector2 FindSpawnPosition()
{
var halfSize = spawnAreaSize * 0.5f;
var attempts = Mathf.Max(1, maxSampleAttempts);
for (var i = 0; i < attempts; i++)
{
var randomX = Random.Range(spawnAreaCenter.x - halfSize.x, spawnAreaCenter.x + halfSize.x);
var rayStart = new Vector2(randomX, spawnAreaCenter.y + groundRaycastHeight);
var hit = Physics2D.Raycast(rayStart, Vector2.down, groundRaycastHeight * 2f, groundMask);
var candidate = hit.collider != null
? hit.point
: new Vector2(randomX, spawnAreaCenter.y);
if (IsFarEnough(candidate))
{
return candidate;
}
}
var fallbackX = Random.Range(spawnAreaCenter.x - halfSize.x, spawnAreaCenter.x + halfSize.x);
var fallbackStart = new Vector2(fallbackX, spawnAreaCenter.y + groundRaycastHeight);
var fallbackHit = Physics2D.Raycast(fallbackStart, Vector2.down, groundRaycastHeight * 2f, groundMask);
return fallbackHit.collider != null
? fallbackHit.point
: new Vector2(fallbackX, spawnAreaCenter.y);
}
private bool IsFarEnough(Vector2 candidate)
{
if (minSpawnSeparation <= 0f || recentPositions.Count == 0)
{
return true;
}
foreach (var position in recentPositions)
{
if ((candidate - position).sqrMagnitude < minSpawnSeparation * minSpawnSeparation)
{
return false;
}
}
return true;
}
private void OnDrawGizmosSelected()
{
Gizmos.color = new Color(1f, 0.85f, 0.1f, 0.35f);
Gizmos.DrawWireCube(spawnAreaCenter, spawnAreaSize);
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8c0d77dd1488410bb1718b1f8f96fa7d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: