Merge branch 'megaminerjenny:master' into master

This commit is contained in:
saladplainzone 2022-06-11 13:41:07 -07:00 committed by GitHub
commit 745bd01724
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 5160 additions and 1559 deletions

View file

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 957177531333f744abeb6082b4c44bc0, type: 3}
m_Name: PostProcessOutline
m_EditorClassIdentifier:
active: 1
active: 0
enabled:
overrideState: 1
value: 1

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -768,7 +768,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4052947733920485538}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 948f4100a11a5c24981795d21301da5c, type: 3}
m_Name:
@ -847,7 +847,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4052947733920485538}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2a7b4608cc97a8940ad8a9229d742532, type: 3}
m_Name:
@ -1799,6 +1799,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
EligibleHits: []
scheduledInputs: []
firstEnable: 0
renderQuadTrans: {fileID: 743597382397742394}
camPivot: {fileID: 7562518461416892310}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7e0cc2db9ca9adb4f9bdc147674424c9
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View file

@ -66,7 +66,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

View file

@ -0,0 +1,240 @@
fileFormatVersion: 2
guid: 23e56abfe5ab36140b22aba3e82d1a69
TextureImporter:
internalIDToNameTable:
- first:
213: -2972489128794067300
second: Background Elements_0
- first:
213: -7442281247027042577
second: Background Elements_1
- first:
213: -4408535834297646924
second: Background Elements_2
- first:
213: 2356066476548809487
second: Background Elements_3
- first:
213: -3829839989203116485
second: Background Elements_4
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 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: 1000
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
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: Background Elements_0
rect:
serializedVersion: 2
x: 12
y: 6
width: 3374
height: 1568
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: c9ee483e2e89fb6d0800000000000000
internalID: -2972489128794067300
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Background Elements_1
rect:
serializedVersion: 2
x: 3505
y: 2606
width: 569
height: 541
alignment: 9
pivot: {x: 0.4811212, y: 0.5226545}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: fe6e66003a4b7b890800000000000000
internalID: -7442281247027042577
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Background Elements_2
rect:
serializedVersion: 2
x: 3075
y: 3244
width: 964
height: 816
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 4b0cb11240cb1d2c0800000000000000
internalID: -4408535834297646924
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Background Elements_3
rect:
serializedVersion: 2
x: 2709
y: 3766
width: 268
height: 286
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: f03e5e93afd62b020800000000000000
internalID: 2356066476548809487
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: Background Elements_4
rect:
serializedVersion: 2
x: 31
y: 3481
width: 579
height: 587
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: b3e56f832dca9dac0800000000000000
internalID: -3829839989203116485
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,013 KiB

View file

@ -0,0 +1,96 @@
fileFormatVersion: 2
guid: c6d37a6f54a36304e962b8db2d10d9bc
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 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: 1
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
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -101,7 +101,7 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _OffBright: 0.5
- _OutSmoothness: 0.001
- _OutSmoothness: 0.075
- _OutThickness: 0.6
- _OutlineSoftness: 0
- _OutlineUVSpeedX: 0
@ -118,7 +118,7 @@ Material:
- _ScaleY: 1
- _ShaderFlags: 0
- _Sharpness: 0
- _Smoothness: 0.001
- _Smoothness: 0.075
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SpecularPower: 2
@ -130,7 +130,7 @@ Material:
- _StencilWriteMask: 255
- _TextureHeight: 512
- _TextureWidth: 512
- _Thickness: 0.9
- _Thickness: 0.85
- _UVSec: 0
- _UnderlayDilate: 0
- _UnderlayOffsetX: 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -22,7 +22,7 @@ TextureImporter:
second: NorthOn
- first:
213: -8244262083605341031
second: EastOn
second: WestOn
- first:
213: -4789233240444048905
second: RightOn
@ -38,6 +38,30 @@ TextureImporter:
- first:
213: -5863448563183388835
second: UpOn
- first:
213: -598839719690993186
second: ShoulderLeftOn
- first:
213: 7882489078324362733
second: ShoulderRightOn
- first:
213: -1348493139139215224
second: ShoulderLeftOff
- first:
213: 6499095914430324874
second: ShoulderRightOff
- first:
213: -7444272823696498285
second: ShouldersOn
- first:
213: -5368843543446870761
second: ShouldersOff
- first:
213: 5518843884416884346
second: ShouldersRightOn
- first:
213: 3724681018647327355
second: ShouldersLeftOn
externalObjects: {}
serializedVersion: 11
mipmaps:
@ -68,7 +92,7 @@ TextureImporter:
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
filterMode: 2
aniso: 1
mipBias: 0
wrapU: 1
@ -190,7 +214,7 @@ TextureImporter:
edges: []
weights: []
- serializedVersion: 2
name: WestOn
name: EastOn
rect:
serializedVersion: 2
x: 191
@ -253,7 +277,7 @@ TextureImporter:
edges: []
weights: []
- serializedVersion: 2
name: EastOn
name: WestOn
rect:
serializedVersion: 2
x: 431
@ -378,6 +402,174 @@ TextureImporter:
indices:
edges: []
weights: []
- serializedVersion: 2
name: ShoulderLeftOn
rect:
serializedVersion: 2
x: 511
y: 984
width: 38
height: 38
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: ed18c6e927e70b7f0800000000000000
internalID: -598839719690993186
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ShoulderRightOn
rect:
serializedVersion: 2
x: 551
y: 984
width: 38
height: 38
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: ded7b63bd0a346d60800000000000000
internalID: 7882489078324362733
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ShoulderLeftOff
rect:
serializedVersion: 2
x: 511
y: 944
width: 38
height: 38
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 8804e8372a0394de0800000000000000
internalID: -1348493139139215224
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ShoulderRightOff
rect:
serializedVersion: 2
x: 551
y: 944
width: 38
height: 38
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: a80efccec4d613a50800000000000000
internalID: 6499095914430324874
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ShouldersOn
rect:
serializedVersion: 2
x: 591
y: 984
width: 78
height: 38
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 391e97cee41a0b890800000000000000
internalID: -7444272823696498285
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ShouldersOff
rect:
serializedVersion: 2
x: 591
y: 944
width: 78
height: 38
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 715233a1e390e75b0800000000000000
internalID: -5368843543446870761
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ShouldersRightOn
rect:
serializedVersion: 2
x: 671
y: 984
width: 78
height: 38
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: a7e5185d54fd69c40800000000000000
internalID: 5518843884416884346
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: ShouldersLeftOn
rect:
serializedVersion: 2
x: 671
y: 944
width: 78
height: 38
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: b723d1af6a9b0b330800000000000000
internalID: 3724681018647327355
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 379003d7d54b9bc4dae1d94aeb39109b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

View file

@ -0,0 +1,288 @@
fileFormatVersion: 2
guid: fb23f410a80c2f0439d7148fc9fe6932
TextureImporter:
internalIDToNameTable:
- first:
213: 696307254153927553
second: SpacemanPensive
- first:
213: 825579231639803812
second: MoaiCool
- first:
213: 5944629093363706705
second: MonkeySad
- first:
213: -2528918449702486434
second: DjThumbsUp
externalObjects: {}
serializedVersion: 11
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
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 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: 0
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 0
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
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 1024
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:
- serializedVersion: 2
name: CosmicDisgust
rect:
serializedVersion: 2
x: 1
y: 767
width: 256
height: 256
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 763dae69b74d0fc40800000000000000
internalID: 5544164768571118439
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: TrollAlien
rect:
serializedVersion: 2
x: 259
y: 895
width: 123
height: 128
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 5b4a69592141681a0800000000000000
internalID: -6807731716672281419
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: MakoSurprise
rect:
serializedVersion: 2
x: 517
y: 767
width: 236
height: 256
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 5e38ff1b6378bc310800000000000000
internalID: 1426382375977190373
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: LockstepNerd
rect:
serializedVersion: 2
x: 259
y: 670
width: 256
height: 222
alignment: 0
pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: db81b9f9d3564f410800000000000000
internalID: 1509943090421110973
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: SpacemanPensive
rect:
serializedVersion: 2
x: 389
y: 905
width: 128
height: 111
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 18b5f5a22c7c9a900800000000000000
internalID: 696307254153927553
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: MoaiCool
rect:
serializedVersion: 2
x: 754
y: 767
width: 186
height: 256
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 4a794d3efeb057b00800000000000000
internalID: 825579231639803812
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: MonkeySad
rect:
serializedVersion: 2
x: 516
y: 638
width: 195
height: 128
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: 15b65671aa09f7250800000000000000
internalID: 5944629093363706705
vertices: []
indices:
edges: []
weights: []
- serializedVersion: 2
name: DjThumbsUp
rect:
serializedVersion: 2
x: 713
y: 672
width: 128
height: 93
alignment: 0
pivot: {x: 0, y: 0}
border: {x: 0, y: 0, z: 0, w: 0}
outline: []
physicsShape: []
tessellationDetail: 0
bones: []
spriteID: e5e3d8b911a77ecd0800000000000000
internalID: -2528918449702486434
vertices: []
indices:
edges: []
weights: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View file

@ -85,6 +85,8 @@ namespace HeavenStudio
bool negativeOffset = firstBeatOffset < 0f;
bool negativeStartTime = false;
// Debug.Log("starting playback @ beat " + beat + ", offset is " + firstBeatOffset);
var startPos = GetSongPosFromBeat(beat);
if (negativeOffset)
{
@ -99,8 +101,10 @@ namespace HeavenStudio
else
time = startPos;
}
songPosBeat = time / secPerBeat;
//TODO: make this take into account past tempo changes
songPosBeat = GetBeatFromSongPos(time - firstBeatOffset);
// Debug.Log("corrected starting playback @ beat " + songPosBeat);
isPlaying = true;
isPaused = false;
@ -185,23 +189,24 @@ namespace HeavenStudio
{
Util.Jukebox.PlayOneShot("metronome");
}
else if (songPosition <= lastReportedBeat)
else if (songPositionInBeats < lastReportedBeat)
{
lastReportedBeat = (songPosition - (songPosition % secPerBeat));
lastReportedBeat = Mathf.Round(songPositionInBeats);
}
}
}
}
public bool ReportBeat(ref float lastReportedBeat, float offset = 0, bool shiftBeatToOffset = false)
public bool ReportBeat(ref float lastReportedBeat, float offset = 0, bool shiftBeatToOffset = true)
{
bool result = songPosition > (lastReportedBeat + offset) + secPerBeat;
if (result == true)
bool result = songPositionInBeats + (shiftBeatToOffset ? offset : 0f) >= (lastReportedBeat) + 1f;
if (result)
{
lastReportedBeat = (songPosition - (songPosition % secPerBeat));
if (!shiftBeatToOffset)
lastReportedBeat += offset;
lastReportedBeat += 1f;
if (lastReportedBeat < songPositionInBeats)
{
lastReportedBeat = Mathf.Round(songPositionInBeats);
}
}
return result;
}
@ -232,11 +237,93 @@ namespace HeavenStudio
return GetBeatFromPosition(position, targetBeat - margin, margin);
}
private List<Beatmap.TempoChange> GetSortedTempoChanges(Beatmap chart)
{
//iterate over all tempo changes, adding to counter
List<Beatmap.TempoChange> tempoChanges = chart.tempoChanges;
tempoChanges.Sort((x, y) => x.beat.CompareTo(y.beat)); //sorts all tempo changes by ascending time (GameManager already does this but juste en cas...)
return tempoChanges;
}
public float GetSongPosFromBeat(float beat)
{
return secPerBeat * beat;
Beatmap chart = GameManager.instance.Beatmap;
SetBpm(chart.bpm);
//initial counter
float counter = 0f;
//time of last tempo change, to know how much to add to counter
float lastTempoChangeBeat = 0f;
//iterate over all tempo changes, adding to counter
List<Beatmap.TempoChange> tempoChanges = GetSortedTempoChanges(chart);
foreach (var t in tempoChanges)
{
if (t.beat > beat)
{
// this tempo change is past our requested time, abort
break;
}
// Debug.Log("tempo change at " + t.beat);
counter += (t.beat - lastTempoChangeBeat) * secPerBeat;
// Debug.Log("counter is now " + counter);
// now update to new bpm
SetBpm(t.tempo);
lastTempoChangeBeat = t.beat;
}
//passed all past tempo changes, now extrapolate from last tempo change until requested position
counter += (beat - lastTempoChangeBeat) * secPerBeat;
// Debug.Log("GetSongPosFromBeat returning " + counter);
return counter;
}
//thank you @wooningcharithri#7419 for the psuedo-code
private float BeatsToSecs(float beats, float bpm)
{
// Debug.Log("BeatsToSecs returning " + beats / bpm * 60);
return beats / bpm * 60f;
}
private float SecsToBeats(float s, float bpm)
{
// Debug.Log("SecsToBeats returning " + s / 60f / bpm);
return s / 60f * bpm;
}
public float GetBeatFromSongPos(float seconds)
{
// Debug.Log("Getting beat of seconds " + seconds);
Beatmap chart = GameManager.instance.Beatmap;
float lastTempoChangeBeat = 0f;
float lastBpm = chart.bpm;
float counterSeconds = -firstBeatOffset;
List<Beatmap.TempoChange> tempoChanges = GetSortedTempoChanges(chart);
foreach (var t in tempoChanges)
{
float beatToNext = t.beat - lastTempoChangeBeat;
float secToNext = BeatsToSecs(beatToNext, lastBpm);
float nextSecs = counterSeconds + secToNext;
// Debug.Log("nextSecs is " + nextSecs + ", seconds " + seconds);
if (nextSecs >= seconds)
break;
lastTempoChangeBeat = t.beat;
lastBpm = t.tempo;
counterSeconds = nextSecs;
}
// Debug.Log("lastTempoChangeBeat is " + lastTempoChangeBeat + ", counterSeconds is " + counterSeconds);
return lastTempoChangeBeat + SecsToBeats(seconds - counterSeconds, lastBpm);
}
//
// convert real seconds to beats
public float GetRestFromRealTime(float seconds)
{
@ -257,7 +344,7 @@ namespace HeavenStudio
public float SongLengthInBeats()
{
if (!musicSource.clip) return 0;
return musicSource.clip.length / secPerBeat;
return GetBeatFromSongPos(musicSource.clip.length);
}
public bool SongPosLessThanClipLength(float t)

View file

@ -82,9 +82,12 @@ namespace HeavenStudio
// this entire thing is a mess redo it later
//pos
positionEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "move camera" });
// legacy event
positionEvents.AddRange(EventCaller.GetAllInGameManagerList("gameManager", new string[] { "move camera" }));
//rot
rotationEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "rotate camera" });
positionEvents.AddRange(EventCaller.GetAllInGameManagerList("gameManager", new string[] { "rotate camera" }));
//scale (TODO)
// scaleEvents = EventCaller.GetAllInGameManagerList("vfx", new string[] { "scale camera" });

View file

@ -151,7 +151,7 @@ namespace HeavenStudio
// LateUpdate works a bit better(?) but causes some bugs (like issues with bop animations).
private void Update()
{
if (Beatmap.entities.Count < 1)
if (BeatmapEntities() < 1) //bruh really you forgot to ckeck tempo changes
return;
if (!Conductor.instance.isPlaying)
return;
@ -159,6 +159,18 @@ namespace HeavenStudio
List<float> entities = Beatmap.entities.Select(c => c.beat).ToList();
List<float> tempoChanges = Beatmap.tempoChanges.Select(c => c.beat).ToList();
if (currentTempoEvent < Beatmap.tempoChanges.Count && currentTempoEvent >= 0)
{
// Debug.Log("Checking Tempo Change at " + tempoChanges[currentTempoEvent] + ", current beat " + Conductor.instance.songPositionInBeats);
if (Conductor.instance.songPositionInBeats >= tempoChanges[currentTempoEvent])
{
// Debug.Log("Tempo Change at " + Conductor.instance.songPositionInBeats + " of bpm " + Beatmap.tempoChanges[currentTempoEvent].tempo);
Conductor.instance.SetBpm(Beatmap.tempoChanges[currentTempoEvent].tempo);
Conductor.instance.timeSinceLastTempoChange = Time.time;
currentTempoEvent++;
}
}
if (currentEvent < Beatmap.entities.Count && currentEvent >= 0)
{
if (Conductor.instance.songPositionInBeats >= entities[currentEvent] /*&& SongPosLessThanClipLength(Conductor.instance.songPositionInBeats)*/)
@ -194,16 +206,6 @@ namespace HeavenStudio
// currentEvent += gameManagerEntities.Count;
}
}
if (currentTempoEvent < Beatmap.tempoChanges.Count && currentTempoEvent >= 0)
{
if (Conductor.instance.songPositionInBeats >= tempoChanges[currentTempoEvent])
{
Conductor.instance.songBpm = Beatmap.tempoChanges[currentTempoEvent].tempo;
Conductor.instance.timeSinceLastTempoChange = Time.time;
currentTempoEvent++;
}
}
}
public void ToggleInputs(bool inputs)
@ -325,9 +327,20 @@ namespace HeavenStudio
if (Beatmap.tempoChanges.Count > 0)
{
currentTempoEvent = 0;
List<float> tempoChanges = Beatmap.tempoChanges.Select(c => c.beat).ToList();
currentTempoEvent = tempoChanges.IndexOf(Mathp.GetClosestInList(tempoChanges, beat));
//for tempo changes, just go over all of em until the last one we pass
for (int t = 0; t < tempoChanges.Count; t++)
{
// Debug.Log("checking tempo event " + t + " against beat " + beat + "( tc beat " + tempoChanges[t] + ")");
if (tempoChanges[t] > beat)
{
break;
}
currentTempoEvent = t;
}
// Debug.Log("currentTempoEvent is now " + currentTempoEvent);
}
}

View file

@ -270,7 +270,7 @@ namespace HeavenStudio.Games
public void StartMarching(float beat)
{
marchStartBeat = beat;
marchOffset = (marchStartBeat % 1) * Conductor.instance.secPerBeat / Conductor.instance.musicSource.pitch;
marchOffset = marchStartBeat % 1;
currentMarchBeat = 0;
stepCount = 0;

View file

@ -28,18 +28,25 @@ namespace HeavenStudio.Games.Scripts_FanClub
float clappingStartTime = Single.MinValue;
public void AddHit(float beat, int type)
public void AddHit(float beat, int type = 0)
{
if (player)
{
if (type == 0) // normal clap
FanClub.instance.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, ClapJust, ClapThrough, Out);
else if (type == 1) // jump
FanClub.instance.ScheduleInput(beat, 1f, InputType.STANDARD_UP, JumpJust, JumpThrough, JumpOut);
else if (type == 2) //"kamone" charge
FanClub.instance.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, ChargeClapJust, ClapThrough, Out);
else //"kamone" long clap (first)
FanClub.instance.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, LongClapJust, ClapThrough, Out);
switch (type)
{
case 0:
FanClub.instance.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, ClapJust, ClapThrough, Out);
break;
case 1:
FanClub.instance.ScheduleInput(beat, 1f, InputType.STANDARD_UP, JumpJust, JumpThrough, JumpOut);
break;
case 2:
FanClub.instance.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, ChargeClapJust, ClapThrough, Out);
break;
default:
FanClub.instance.ScheduleInput(beat, 1f, InputType.STANDARD_DOWN, LongClapJust, ClapThrough, Out);
break;
}
}
}
@ -107,12 +114,9 @@ namespace HeavenStudio.Games.Scripts_FanClub
}
if (PlayerInput.PressedUp())
{
if (stopCharge)
if (clappingStartTime != Single.MinValue && cond.songPositionInBeats > clappingStartTime + 2f && stopCharge && !FanClub.instance.IsExpectingInputNow())
{
if (!FanClub.instance.IsExpectingInputNow())
{
JumpStart(false);
}
JumpStart(false);
}
else
{

View file

@ -240,9 +240,18 @@ namespace HeavenStudio.Games.Global
}
else if (idolShown)
{
IdolAnimator.Play("IdolHide", -1, 0);
IdolAnimator.speed = (1f / cond.pitchedSecPerBeat) * 0.5f;
idolShown = false;
if (prog < 1f)
{
IdolAnimator.Play("NoPose", -1, 0);
IdolAnimator.speed = 1;
idolShown = false;
}
else
{
IdolAnimator.Play("IdolHide", -1, 0);
IdolAnimator.speed = (1f / cond.pitchedSecPerBeat) * 0.5f;
idolShown = false;
}
}
}
}

View file

@ -0,0 +1,37 @@
using HeavenStudio.Util;
using System;
using System.Collections.Generic;
using UnityEngine;
namespace HeavenStudio.Games.Loaders
{
using static Minigames;
public static class RvlRocketLoader
{
public static Minigame AddGame(EventCaller eventCaller) {
return new Minigame("launch party", "Launch Party \n<color=#eb5454>[WIP don't use]</color>", "000000", false, false, new List<GameAction>()
{
});
}
}
}
namespace HeavenStudio.Games
{
// using Scripts_LaunchParty;
public class LaunchParty : Minigame
{
// Start is called before the first frame update
void Awake()
{
}
// Update is called once per frame
void Update()
{
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1a577665b40b237409cfbaa7cdcfbf6a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -116,7 +116,7 @@ namespace HeavenStudio.Games
float t1 = closest.startBeat + closest.timer;
float t2 = toCompare.startBeat + toCompare.timer;
Debug.Log("t1=" + t1 + " -- t2=" + t2);
// Debug.Log("t1=" + t1 + " -- t2=" + t2);
if (t2 < t1) closest = toCompare;
}

View file

@ -58,11 +58,10 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
else
t = jumpPos;
Monkey.transform.rotation = Quaternion.Euler(0, 0, Mathf.Lerp(22.5f, -22.5f, t));
anim.Play("MonkeyJump0" + jumpAlt, -1, jumpPos);
anim.DoScaledAnimation("MonkeyJump0" + jumpAlt, startJumpTime, jumpLength);
}
else
anim.Play("MonkeyJump", -1, jumpPos);
anim.speed = 0;
anim.DoScaledAnimation("MonkeyJump", startJumpTime, jumpLength);
}
else
{
@ -70,8 +69,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
{
hasJumped = false;
PajamaParty.instance.DoBedImpact();
anim.Play("MonkeyLand", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
anim.DoScaledAnimationAsync("MonkeyLand");
Monkey.transform.rotation = Quaternion.Euler(0, 0, 0);
jumpAlt = 0;
}
@ -97,8 +95,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
Projectile.transform.rotation = Quaternion.Euler(0, 0, 0);
if (hasThrown)
{
anim.Play("MonkeyBeat", -1, 0);
anim.speed = 1f;
anim.DoUnscaledAnimation("MonkeyBeat");
Projectile.SetActive(false);
hasThrown = false;
}
@ -117,14 +114,12 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
public void Charge(float beat)
{
anim.Play("MonkeyReady", -1, 0);
anim.speed = 1f;
anim.DoUnscaledAnimation("MonkeyReady");
}
public void Throw(float beat)
{
anim.Play("MonkeyThrow", -1, 0);
anim.speed = 1f;
anim.DoUnscaledAnimation("MonkeyThrow");
startThrowTime = beat;
Projectile.SetActive(true);
}
@ -148,57 +143,25 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
List<BeatAction.Action> seq =
new List<BeatAction.Action>()
{
new BeatAction.Action( beat, delegate {
anim.Play("MonkeySleep00", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
}
),
new BeatAction.Action( beat + 0.5f, delegate {
anim.Play("MonkeySleep01", -1, 0);
anim.speed = 1f;
}
),
new BeatAction.Action( beat, delegate { anim.DoScaledAnimationAsync("MonkeySleep00"); }),
new BeatAction.Action( beat + 0.5f, delegate { anim.DoUnscaledAnimation("MonkeySleep01"); }),
};
if (col == 0 || col == 4)
{
seq.Add(new BeatAction.Action( beat + 1f, delegate {
anim.Play("MonkeySleep02", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
}
));
seq.Add(new BeatAction.Action( beat + 1f, delegate { anim.DoScaledAnimationAsync("MonkeySleep02"); }));
}
else if (col == 1 || col == 3)
{
seq.Add(new BeatAction.Action( beat + 1.5f, delegate {
anim.Play("MonkeyReadySleep", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
}
));
seq.Add(new BeatAction.Action( beat + 2.5f, delegate {
anim.Play("MonkeySleep02", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
}
));
seq.Add(new BeatAction.Action( beat + 1.5f, delegate { anim.DoScaledAnimationAsync("MonkeyReadySleep"); }));
seq.Add(new BeatAction.Action( beat + 2.5f, delegate { anim.DoScaledAnimationAsync("MonkeySleep02"); }));
}
else
{
seq.Add(new BeatAction.Action( beat + 3f, delegate {
anim.Play("MonkeyReadySleep", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
}
));
seq.Add(new BeatAction.Action( beat + 4f, delegate {
anim.Play("MonkeySleep02", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
}
));
seq.Add(new BeatAction.Action( beat + 3f, delegate { anim.DoScaledAnimationAsync("MonkeyReadySleep"); }));
seq.Add(new BeatAction.Action( beat + 4f, delegate { anim.DoScaledAnimationAsync("MonkeySleep02"); }));
}
seq.Add(new BeatAction.Action( beat + 7f, delegate {
anim.Play("MonkeyAwake", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
}
));
seq.Add(new BeatAction.Action( beat + 7f, delegate { anim.DoScaledAnimationAsync("MonkeyAwake"); }));
BeatAction.New(Monkey, seq);
}

View file

@ -72,8 +72,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
Player.transform.localPosition = new Vector3(0, jumpHeight * yWeight);
Shadow.transform.localScale = new Vector3((1f-yWeight*0.2f) * 1.65f, (1f-yWeight*0.2f), 1f);
// handles the shirt lifting
anim.Play("MakoJump", -1, jumpPos);
anim.speed = 0;
anim.DoScaledAnimation("MakoJump", startJumpTime, jumpLength);
}
else
{
@ -84,12 +83,11 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
hasJumped = false;
PajamaParty.instance.DoBedImpact();
if (jumpNg)
anim.Play("MakoCatchNg", -1, 0);
anim.DoScaledAnimationAsync("MakoCatchNg");
else if (jumpHeight != 4f)
anim.Play("MakoCatch", -1, 0);
anim.DoScaledAnimationAsync("MakoCatch");
else
anim.Play("MakoLand", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
anim.DoScaledAnimationAsync("MakoLand");
jumpNg = false;
}
startJumpTime = Single.MinValue;
@ -110,8 +108,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
}
else
{
Projectile.GetComponent<Animator>().Play("ThrowOut", -1, jumpPos);
Projectile.GetComponent<Animator>().speed = 0;
Projectile.GetComponent<Animator>().DoScaledAnimation("ThrowOut", startThrowTime, throwLength);
}
Projectile.transform.rotation = Quaternion.Euler(0, 0, Projectile.transform.rotation.eulerAngles.z - (360f * Time.deltaTime));
}
@ -125,16 +122,15 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
{
if (throwNg)
{
anim.Play("MakoCatchNg", -1, 0);
anim.DoUnscaledAnimation("MakoCatchNg");
}
else
{
anim.Play("MakoCatch", -1, 0);
anim.DoUnscaledAnimation("MakoCatch");
}
//TODO: change when locales are a thing
Jukebox.PlayOneShotGame("pajamaParty/jp/catch" + UnityEngine.Random.Range(0, 2)); //bruh
anim.speed = 1f;
Projectile.SetActive(false);
hasThrown = false;
throwNg = false;
@ -153,10 +149,9 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
if (drop)
{
throwType = false;
Projectile.GetComponent<Animator>().Play("ThrowOut", -1, 0);
Projectile.GetComponent<Animator>().speed = 0;
Projectile.transform.rotation = Quaternion.Euler(0, 0, 360f * UnityEngine.Random.Range(0f, 1f));
throwLength = 0.5f;
Projectile.GetComponent<Animator>().DoScaledAnimation("ThrowOut", startThrowTime, throwLength);
Projectile.transform.rotation = Quaternion.Euler(0, 0, 360f * UnityEngine.Random.Range(0f, 1f));
}
else
{
@ -181,8 +176,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
public void StartCharge()
{
canJump = false;
anim.Play("MakoReady");
anim.speed = 1f;
anim.DoUnscaledAnimation("MakoReady");
charging = true;
}
@ -193,22 +187,17 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
charging = false;
canCharge = false;
if (hit)
{
anim.Play("MakoThrow");
anim.speed = 1f;
}
anim.DoUnscaledAnimation("MakoThrow");
else
{
anim.Play("MakoThrowOut");
anim.speed = (1f / cond.pitchedSecPerBeat) * 0.5f;
anim.DoScaledAnimationAsync("MakoThrowOut", 0.5f);
BeatAction.New(Player, new List<BeatAction.Action>()
{
new BeatAction.Action(
beat + 0.5f,
delegate {
anim.Play("MakoPickUp", -1, 0);
anim.DoScaledAnimationAsync("MakoPickUp");
Jukebox.PlayOneShotGame("pajamaParty/jp/catch" + UnityEngine.Random.Range(0, 2)); //bruh
anim.speed = 1f / cond.pitchedSecPerBeat;
Projectile.SetActive(false);
canCharge = true;
canJump = true;
@ -221,8 +210,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
public void PlayerThrough(float beat)
{
var cond = Conductor.instance;
anim.Play("MakoThrough", -1, 0);
anim.speed = (1f / cond.pitchedSecPerBeat) * 0.5f;
anim.DoScaledAnimationAsync("MakoThrough", 0.5f);
charging = false;
canCharge = false;
canJump = false;
@ -352,8 +340,8 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
canCharge = true;
hasJumped = false;
PajamaParty.instance.DoBedImpact();
anim.Play("MakoLand", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
anim.DoScaledAnimationAsync("MakoLand");
}
startJumpTime = Single.MinValue;
Player.transform.localPosition = new Vector3(0, 0);
@ -363,15 +351,11 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
{
new BeatAction.Action(
beat,
delegate { anim.Play("MakoSleep00", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
}
delegate { anim.DoScaledAnimationAsync("MakoSleep00"); }
),
new BeatAction.Action(
beat + 0.5f,
delegate { anim.Play("MakoSleep01", -1, 0);
anim.speed = 1f;
}
delegate { anim.DoUnscaledAnimation("MakoSleep01"); }
),
new BeatAction.Action(
beat + 1f,
@ -383,10 +367,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
beat + 3f,
delegate {
if (canSleep)
{
anim.Play(alt ? "MakoReadySleep01" : "MakoReadySleep", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
}
anim.DoScaledAnimationAsync(alt ? "MakoReadySleep01" : "MakoReadySleep");
}
),
new BeatAction.Action(
@ -407,23 +388,18 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
caller.CanHit(false);
canSleep = false;
if (state <= -1f || state >= 1f)
{
anim.Play("MakoSleepNg", -1, 0);
}
anim.DoUnscaledAnimation("MakoSleepNg");
else
{
Jukebox.PlayOneShotGame("pajamaParty/siesta4");
anim.Play("MakoSleepJust", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
anim.DoScaledAnimationAsync("MakoSleepJust");
BeatAction.New(Player, new List<BeatAction.Action>()
{
new BeatAction.Action(
caller.startBeat + 7f,
delegate {
anim.Play("MakoAwake", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
anim.DoScaledAnimationAsync("MakoAwake");
Jukebox.PlayOneShotGame("pajamaParty/siestaDone");
}
),
@ -437,8 +413,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
var cond = Conductor.instance;
if (canSleep)
{
anim.Play("MakoSleepThrough", -1, 0);
anim.speed = 1f / cond.pitchedSecPerBeat;
anim.DoScaledAnimationAsync("MakoSleepThrough", -1, 0);
caller.CanHit(false);
canSleep = false;
}
@ -449,9 +424,7 @@ namespace HeavenStudio.Games.Scripts_PajamaParty
var cond = Conductor.instance;
if (canSleep)
{
anim.Play("MakoSleepOut", -1, 0);
anim.speed = (1f / cond.pitchedSecPerBeat) * 0.5f;
anim.DoScaledAnimationAsync("MakoSleepOut", 0.5f);
Jukebox.PlayOneShotGame("pajamaParty/siestaBad");
caller.CanHit(false);
canSleep = false;

View file

@ -129,11 +129,7 @@ namespace HeavenStudio.Editor.Track
}
private void AddTempoChange(bool create, Beatmap.TempoChange tempoChange_ = null)
{
// TEMP: DISABLED UNTIL CRITICAL FIXES
if (create)
return;
{
GameObject tempoChange = Instantiate(RefTempoChange.gameObject, this.transform);
tempoChange.transform.GetChild(0).GetComponent<Image>().color = EditorTheme.theme.properties.TempoLayerCol.Hex2RGB();

View file

@ -296,7 +296,7 @@ namespace HeavenStudio.Editor.Track
if (movingPlayback)
{
RectTransformUtility.ScreenPointToLocalPointInRectangle(TimelineContent, Input.mousePosition, Editor.instance.EditorCamera, out lastMousePos);
TimelineSlider.localPosition = new Vector3(Mathf.Clamp(Mathp.Round2Nearest(lastMousePos.x + 0.12f, Timeline.SnapInterval()), 0, Mathf.Infinity), TimelineSlider.transform.localPosition.y);
TimelineSlider.localPosition = new Vector3(Mathf.Max(Mathp.Round2Nearest(lastMousePos.x + 0.12f, Timeline.SnapInterval()), 0), TimelineSlider.transform.localPosition.y);
if (TimelineSlider.localPosition.x != lastBeatPos)
Conductor.instance.SetBeat(TimelineSlider.transform.localPosition.x);

View file

@ -4,7 +4,7 @@ using UnityEngine;
using DG.Tweening;
using HeavenStudio.Util;
using HeavenStudio.Editor.Track;
using HeavenStudio.Games;
using System;
@ -121,7 +121,7 @@ namespace HeavenStudio
new Minigame("gameManager", "Game Manager", "", false, true, new List<GameAction>()
{
new GameAction("switchGame", delegate { GameManager.instance.SwitchGame(eventCaller.currentSwitchGame, eventCaller.currentEntity.beat); }, 0.5f, inactiveFunction: delegate { GameManager.instance.SwitchGame(eventCaller.currentSwitchGame, eventCaller.currentEntity.beat); }),
new GameAction("end", delegate { Debug.Log("end"); }),
new GameAction("end", delegate { Debug.Log("end"); GameManager.instance.Stop(0); Timeline.instance?.SetTimeButtonColors(true, false, false);}),
new GameAction("skill star", delegate { }, 1f, true),
new GameAction("flash", delegate
{

View file

@ -9,5 +9,64 @@ namespace HeavenStudio.Util
float compare = anim.GetCurrentAnimatorStateInfo(0).speed;
return anim.GetCurrentAnimatorStateInfo(0).normalizedTime >= compare && !anim.IsInTransition(0);
}
/// <summary>
/// Sets animator's progress on an animation based on current song beat between startTime and length
/// function must be called in actor's Update loop to update properly
/// </summary>
/// <param name="anim">Animator to update</param>
/// <param name="animName">name of animation to play</param>
/// <param name="startTime">reference start time of animation (progress 0.0)</param>
/// <param name="length">duration of animation (progress 1.0)</param>
/// <param name="timeScale">multiplier for animation progress (smaller values make animation slower)</param>
/// <param name="animLayer">animator layer to play animation on</param>
public static void DoScaledAnimation(this Animator anim, string animName, float startTime, float length = 1f, float timeScale = 1f, int animLayer = -1)
{
float pos = Conductor.instance.GetPositionFromBeat(startTime, length) * timeScale;
anim.Play(animName, animLayer, pos);
anim.speed = 0;
}
/// <summary>
/// Sets animator progress on an animation according to pos
/// </summary>
/// <param name="anim">Animator to update</param>
/// <param name="animName">name of animation to play</param>
/// <param name="pos">position to set animation progress to (0.0 - 1.0)</param>
/// <param name="animLayer">animator layer to play animation on</param>
public static void DoNormalizedAnimation(this Animator anim, string animName, float pos = 0f, int animLayer = -1)
{
anim.Play(animName, animLayer, pos);
anim.speed = 0;
}
/// <summary>
/// Plays animation on animator, scaling speed to song BPM
/// call this funtion once, when playing an animation
/// </summary>
/// <param name="anim">Animator to play animation on</param>
/// <param name="animName">name of animation to play</param>
/// <param name="timeScale">multiplier for animation speed</param>
/// <param name="startPos">starting progress of animation</param>
/// <param name="animLayer">animator layer to play animation on</param>
public static void DoScaledAnimationAsync(this Animator anim, string animName, float timeScale = 1f, float startPos = 0f, int animLayer = -1)
{
anim.Play(animName, animLayer, startPos);
anim.speed = (1f / Conductor.instance.pitchedSecPerBeat) * timeScale;
}
/// <summary>
/// Plays animation on animator, at default speed
/// this is the least nessecary function here lol
/// </summary>
/// <param name="anim">Animator to play animation on</param>
/// <param name="animName">name of animation to play</param>
/// <param name="startPos">starting progress of animation</param>
/// <param name="animLayer">animator layer to play animation on</param>
public static void DoUnscaledAnimation(this Animator anim, string animName, float startPos = 0f, int animLayer = -1)
{
anim.Play(animName, animLayer, startPos);
anim.speed = 1f;
}
}
}

View file

@ -67,8 +67,8 @@ MonoBehaviour:
m_Unicode: 65534
m_GlyphIndex: 4
m_Scale: 1.5
m_Name: WestOn
m_HashCode: -855200524
m_Name: EastOn
m_HashCode: -1705581022
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 5
@ -85,8 +85,8 @@ MonoBehaviour:
m_Unicode: 65534
m_GlyphIndex: 7
m_Scale: 1.5
m_Name: EastOn
m_HashCode: -1705581022
m_Name: WestOn
m_HashCode: -855200524
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 8
@ -111,6 +111,54 @@ MonoBehaviour:
m_Scale: 1.5
m_Name: UpOn
m_HashCode: 2934980
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 13
m_Scale: 1.5
m_Name: ShoulderLeftOff
m_HashCode: -1280656566
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 14
m_Scale: 1.5
m_Name: ShoulderLeftOn
m_HashCode: -429259356
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 15
m_Scale: 1.5
m_Name: ShoulderRightOff
m_HashCode: -1969608591
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 16
m_Scale: 1.5
m_Name: ShoulderRightOn
m_HashCode: -1621491393
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 17
m_Scale: 1.5
m_Name: ShouldersRightOn
m_HashCode: -174982548
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 18
m_Scale: 1.5
m_Name: ShouldersOff
m_HashCode: 1566278530
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 19
m_Scale: 1.5
m_Name: ShouldersOn
m_HashCode: -733440148
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 20
m_Scale: 1.5
m_Name: ShouldersLeftOn
m_HashCode: 1546430871
m_SpriteGlyphTable:
- m_Index: 0
m_Metrics:
@ -186,7 +234,7 @@ MonoBehaviour:
m_Height: 78
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -8397132687541991269, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
sprite: {fileID: 8406874011085310447, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 5
m_Metrics:
m_Width: 78
@ -231,7 +279,7 @@ MonoBehaviour:
m_Height: 78
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -8244262083605341031, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
sprite: {fileID: -8397132687541991269, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 8
m_Metrics:
m_Width: 67
@ -292,6 +340,126 @@ MonoBehaviour:
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -5863448563183388835, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 13
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 32
m_HorizontalAdvance: 38
m_GlyphRect:
m_X: 511
m_Y: 944
m_Width: 38
m_Height: 38
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -1348493139139215224, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 14
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 32
m_HorizontalAdvance: 38
m_GlyphRect:
m_X: 511
m_Y: 984
m_Width: 38
m_Height: 38
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -598839719690993186, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 15
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 32
m_HorizontalAdvance: 38
m_GlyphRect:
m_X: 551
m_Y: 944
m_Width: 38
m_Height: 38
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: 6499095914430324874, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 16
m_Metrics:
m_Width: 38
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 32
m_HorizontalAdvance: 38
m_GlyphRect:
m_X: 551
m_Y: 984
m_Width: 38
m_Height: 38
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: 7882489078324362733, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 17
m_Metrics:
m_Width: 78
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 32
m_HorizontalAdvance: 78
m_GlyphRect:
m_X: 671
m_Y: 944
m_Width: 78
m_Height: 38
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: 3724681018647327355, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 18
m_Metrics:
m_Width: 78
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 32
m_HorizontalAdvance: 78
m_GlyphRect:
m_X: 591
m_Y: 944
m_Width: 78
m_Height: 38
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -5368843543446870761, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 19
m_Metrics:
m_Width: 78
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 32
m_HorizontalAdvance: 78
m_GlyphRect:
m_X: 591
m_Y: 984
m_Width: 78
m_Height: 38
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -7444272823696498285, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
- m_Index: 20
m_Metrics:
m_Width: 78
m_Height: 38
m_HorizontalBearingX: 0
m_HorizontalBearingY: 19
m_HorizontalAdvance: 78
m_GlyphRect:
m_X: 671
m_Y: 984
m_Width: 78
m_Height: 38
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: 5518843884416884346, guid: 149c162f840b9e9428b96653dd8e40ba, type: 3}
spriteInfoList: []
fallbackSpriteAssets: []
--- !u!21 &7258175733076811168

View file

@ -0,0 +1,248 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 84a92b25f83d49b9bc132d206b370281, type: 3}
m_Name: HeavenEmoji
m_EditorClassIdentifier:
hashCode: -1921020833
material: {fileID: 1810431749039276685}
materialHashCode: 0
m_Version: 1.1.0
m_FaceInfo:
m_FaceIndex: 0
m_FamilyName:
m_StyleName:
m_PointSize: 0
m_Scale: 0
m_LineHeight: 0
m_AscentLine: 0
m_CapLine: 0
m_MeanLine: 0
m_Baseline: 0
m_DescentLine: 0
m_SuperscriptOffset: 0
m_SuperscriptSize: 0
m_SubscriptOffset: 0
m_SubscriptSize: 0
m_UnderlineOffset: 0
m_UnderlineThickness: 0
m_StrikethroughOffset: 0
m_StrikethroughThickness: 0
m_TabWidth: 0
spriteSheet: {fileID: 2800000, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
m_SpriteCharacterTable:
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 0
m_Scale: 1.5
m_Name: DonkTroll
m_HashCode: -387075033
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 1
m_Scale: 1.75
m_Name: CosmicDisgust
m_HashCode: 1555084851
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 2
m_Scale: 1.75
m_Name: MakoSurprise
m_HashCode: -581768703
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 3
m_Scale: 1.8
m_Name: LockstepNerd
m_HashCode: -1140652764
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 4
m_Scale: 1.5
m_Name: DjThumbsUp
m_HashCode: 1876350078
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 5
m_Scale: 1.75
m_Name: MoaiCool
m_HashCode: -1571705083
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 6
m_Scale: 1.45
m_Name: MonkeySad
m_HashCode: -309481747
- m_ElementType: 2
m_Unicode: 65534
m_GlyphIndex: 7
m_Scale: 1.75
m_Name: SpacemanPensive
m_HashCode: -326738892
m_SpriteGlyphTable:
- m_Index: 0
m_Metrics:
m_Width: 123
m_Height: 128
m_HorizontalBearingX: 0
m_HorizontalBearingY: 100
m_HorizontalAdvance: 123
m_GlyphRect:
m_X: 259
m_Y: 895
m_Width: 123
m_Height: 128
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: 8520508767416187551, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
- m_Index: 1
m_Metrics:
m_Width: 256
m_Height: 256
m_HorizontalBearingX: 0
m_HorizontalBearingY: 200
m_HorizontalAdvance: 256
m_GlyphRect:
m_X: 1
m_Y: 767
m_Width: 256
m_Height: 256
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -8499381173796814039, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
- m_Index: 2
m_Metrics:
m_Width: 236
m_Height: 256
m_HorizontalBearingX: 0
m_HorizontalBearingY: 200
m_HorizontalAdvance: 236
m_GlyphRect:
m_X: 517
m_Y: 767
m_Width: 236
m_Height: 256
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -4264556394388760843, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
- m_Index: 3
m_Metrics:
m_Width: 256
m_Height: 222
m_HorizontalBearingX: 0
m_HorizontalBearingY: 175
m_HorizontalAdvance: 256
m_GlyphRect:
m_X: 259
m_Y: 670
m_Width: 256
m_Height: 222
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -8666286934846544496, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
- m_Index: 4
m_Metrics:
m_Width: 128
m_Height: 93
m_HorizontalBearingX: 0
m_HorizontalBearingY: 82
m_HorizontalAdvance: 128
m_GlyphRect:
m_X: 713
m_Y: 672
m_Width: 128
m_Height: 93
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: -2528918449702486434, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
- m_Index: 5
m_Metrics:
m_Width: 186
m_Height: 256
m_HorizontalBearingX: 0
m_HorizontalBearingY: 200
m_HorizontalAdvance: 186
m_GlyphRect:
m_X: 754
m_Y: 767
m_Width: 186
m_Height: 256
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: 825579231639803812, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
- m_Index: 6
m_Metrics:
m_Width: 195
m_Height: 128
m_HorizontalBearingX: 0
m_HorizontalBearingY: 108
m_HorizontalAdvance: 195
m_GlyphRect:
m_X: 516
m_Y: 638
m_Width: 195
m_Height: 128
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: 5944629093363706705, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
- m_Index: 7
m_Metrics:
m_Width: 128
m_Height: 111
m_HorizontalBearingX: 0
m_HorizontalBearingY: 90
m_HorizontalAdvance: 128
m_GlyphRect:
m_X: 389
m_Y: 905
m_Width: 128
m_Height: 111
m_Scale: 1
m_AtlasIndex: 0
sprite: {fileID: 696307254153927553, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
spriteInfoList: []
fallbackSpriteAssets: []
--- !u!21 &1810431749039276685
Material:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: TextMeshPro/Sprite
m_Shader: {fileID: 4800000, guid: cf81c85f95fe47e1a27f6ae460cf182c, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 2800000, guid: fb23f410a80c2f0439d7148fc9fe6932, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _ColorMask: 15
- _CullMode: 0
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UseUIAlphaClip: 0
m_Colors:
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
- _Color: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 68c22dc494e75af43ac0c8797f696a96
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -29,18 +29,16 @@ MonoBehaviour:
m_defaultTextMeshProTextContainerSize: {x: 20, y: 5}
m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50}
m_autoSizeTextContainer: 0
m_IsTextObjectScaleStatic: 0
m_fallbackFontAssets: []
m_matchMaterialPreset: 1
m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45,
type: 2}
m_defaultSpriteAsset: {fileID: 11400000, guid: 68c22dc494e75af43ac0c8797f696a96, type: 2}
m_defaultSpriteAssetPath: Sprite Assets/
m_enableEmojiSupport: 1
m_MissingCharacterSpriteUnicode: 0
m_defaultColorGradientPresetsPath: Color Gradient Presets/
m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e,
type: 2}
m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, type: 2}
m_StyleSheetsResourcePath:
m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3}
m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b,
type: 3}
m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b, type: 3}
m_UseModernHangulLineBreakingRules: 0