diff --git a/Assets/ResWork/zTest/06.meta b/Assets/ResWork/zTest/06.meta new file mode 100644 index 0000000..9f8d2c1 --- /dev/null +++ b/Assets/ResWork/zTest/06.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ef2ee50191fff0745810242e77b61bd2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResWork/zTest/06/BreastJigglePhysics.cs b/Assets/ResWork/zTest/06/BreastJigglePhysics.cs new file mode 100644 index 0000000..28be419 --- /dev/null +++ b/Assets/ResWork/zTest/06/BreastJigglePhysics.cs @@ -0,0 +1,290 @@ +using UnityEngine; +using UnityEditor; +/** + * Free body 설정, + * 각각의 Radius는 값이 크면, 묵직하고 관성이 강해짐, 외부 힘에 덜 민감하고, 흔들리더라도 천천히 크게 출렁이며 진동이 오래 남아. 가슴의 중심부에 배치해서 무거운 느낌을 줄 때 사용. + * 값이 작으면, 매우 가볍고 외부 힘에 민감하지만 관성이 없어 금방 제자리로 돌아오려고 함. Kinematic 바디는 아니지만, 고정된 경계 근처에 배치해서 그 부분의 움직임을 최소화하고 싶을 때 사용. + * + */ + +[ExecuteInEditMode] +[RequireComponent(typeof(JellySprite))] +public class BreastJigglePhysics : MonoBehaviour +{ + [Header("=== JellySprite 물리 설정 ===")] + [Tooltip("JellySprite 물리 속성을 이 스크립트 값으로 자동 적용. (기본: True)")] + public bool autoConfigureJellySprite = true; + + [Header("JellySprite 강성/감쇠 설정")] + [Tooltip("스프링 강성. 높을수록 단단하고 빠르게 진동. 낮을수록 물렁하고 느림.")] + //높게 (3.0 이상): 단단하고 탄력 있는(Firm) 느낌. 진동 주기가 빠르고 출렁임이 작음. + //낮게(1.5 이하) : 물렁하고 부드러운(Soft/Jelly) 느낌.출렁임이 느리고 크게 늘어남. + [Range(0.5f, 5f)] public float stiffness = 2.2f; + + [Tooltip("감쇠 계수. 높을수록 흔들림이 빨리 멈춤. 낮을수록 오래 지속.")] + //높게 (0.5 이상): 흔들림이 빨리 멈추고 잔진동이 적어 깔끔함. + //낮게 (0.3 이하): 흔들림이 오래 지속되고 잔진동이 많아 물컹거리는 느낌이 강함. + [Range(0f, 1f)] public float dampingRatio = 0.4f; + + [Header("JellySprite 질량/중력/드래그")] + [Tooltip("전체 질량. 높을수록 둔하고, 낮을수록 민감하게 반응.(높을스록 흔들림 주기가 길어짐)")] + //높게 (1.0 이상): 관성이 커져 외부 힘에 둔하게 반응하며, 흔들림 주기가 길어짐. + //낮게 (0.5 이하): 외부 힘에 민감하게 반응하고, 가벼워 보임. + [Range(0.1f, 2f)] public float mass = 0.8f; + + [Tooltip("중력 배율. 높을수록 아래로 처지는(Sag) 느낌이 강해짐.")] + //높게 (0.5 이상): 아래로 처지는(Sag) 효과가 강해져 더 육중한 느낌을 줌. + //0에 가깝게: 처짐 효과가 거의 없어 매우 가볍게 출렁거림. + [Range(0f, 2f)] public float gravityScale = 0f; //0.25f; + + [Tooltip("이동 시 공기 저항(선형 드래그). 움직임 전반을 둔화시킴.")] + //높게: 움직임이 전반적으로 둔화되고 속도가 느려짐. 물리 폭주를 막는 보조 수단으로도 활용. + [Range(0f, 2f)] public float drag = 0f; //0.35f; + + [Tooltip("회전 저항(Angular Drag). 회전 움직임을 둔화시킴.")] + //높게: 움직임이 전반적으로 둔화되고 속도가 느려짐. 물리 폭주를 막는 보조 수단으로도 활용. + [Range(0f, 2f)] public float angularDrag = 0.6f; + + [Header("=== Player(Blade) 흔들림 설정 ===")] + [Tooltip("Player(터치) 충돌 시 가슴에 가해지는 힘의 강도. 높을수록 크게 출렁임.")] + //높게: 외부 터치에 가슴이 더 크게 밀려나고 출렁이게 한다. (강한 상호작용) + [Range(1f, 30f)] public float playerJiggleStrength = 26f; + + [Tooltip("Player 흔들림 힘에 적용되는 랜덤 변동 비율. (0.3 이상 권장)")] + //높게 (0.3 이상): 충돌마다 가해지는 힘의 크기가 불규칙해져 매번 다른 흔들림을 연출하여 자연스러움을 높인다. + [Range(0f, 1f)] public float randomVariation = 0.5f; + + [Header("흔들림 방향 설정")] + [Tooltip("흔들림 발생 시 좌우로 퍼지는 범위. 0이면 수직으로만 흔들림. (0.2~0.5 권장)")] + //적절한 양수 (0.2~0.5): 힘이 좌우로도 퍼져서 흔들림이 수직을 넘어 옆으로도 퍼지게 하여 더 풍부한 움직임을 만든다. + [Range(-1f, 1f)] public float horizontalSpread = 0.5f; + + [Tooltip("위아래 편향. 높을수록 아래로 힘이 쏠려 처짐/출렁임을 강조. (1.0 이상 권장)")] + //높게 (1.0 이상): 힘의 방향이 아래쪽으로 강하게 쏠려 중력에 의한 처짐과 아래 방향 출렁임을 강조한다. (자연스러운 처짐 연출) + [Range(0f, 3f)] public float verticalBias = 0.8f; + + [Header("=== Ball 흔들림 설정 (물리엔진 사용) ===")] + [Tooltip("Ball 충돌 시 기본 물리 반응에 더해지는 추가 힘.")] + //0 이상: Ball 충돌 시 기본 물리 반응에 이 추가 힘을 더해 더욱 강력한 충격 반응을 줄 수 있다. + [Range(0f, 30f)] public float ballJiggleStrength = 26f; + + [Tooltip("충돌 지점 반발력이 전체 힘에 미치는 영향도. 높을수록 밀리는 느낌이 강해짐.")] + //높게 (1.5 이상): 충돌한 지점의 반발력이 전체 힘 방향에 강하게 반영되도록 하여, verticalBias보다 국소적인 반응을 강조한다. + [Range(0f, 5f)] public float contactPointInfluence = 3f; + + [Header("=== 힘 제한 ===")] + [Tooltip("JellySprite에 가할 수 있는 최대 힘 제한. 물리 폭주 방지용. (10.0~20.0 권장)")] + //양수 (10.0~20.0): 값이 너무 크면 물리 폭주로 가슴 메쉬가 과도하게 늘어나거나 튕겨 나갈 수 있으므로, 안정적인 값으로 제한한다. + public float maxJellyForce = 26f; + + [Header("=== 충돌 위치 기반 반응 ===")] + [Tooltip("충돌 지점 기반의 반발력 방향 사용 여부. (가장 현실적인 반응, 권장: True)")] + public bool useContactPointPhysics = true; + + [Header("=== 디버그 옵션 ===")] + [Tooltip("충돌/힘 적용 방향을 Scene 뷰에 시각화")] + public bool showDebugGizmos = false; + + [Tooltip("충돌 및 힘 적용 로그를 콘솔에 표시")] + public bool showDebugLog = false; + + // 연속 충돌 무시 시간 + private float minCollisionInterval = 0.18f;// 0.08f;//0.2f; + private float lastCollisionTime = -999f; + + private JellySprite jelly; + private Vector2 lastContactPoint; + + private void Awake() + { + jelly = GetComponent(); + if (jelly == null) + { + Debug.LogError("JellySprite 컴포넌트를 찾을 수 없습니다!"); + return; + } + + if (autoConfigureJellySprite) + ApplyJellySpriteSettings(); + } + + /// JellySprite 물리 속성 적용 + private void ApplyJellySpriteSettings() + { + jelly.m_Stiffness = stiffness; + jelly.m_DampingRatio = dampingRatio; + jelly.m_Mass = mass; + jelly.m_GravityScale = gravityScale; + jelly.m_Drag = drag; + jelly.m_AngularDrag = angularDrag; + + if (Application.isPlaying) + { + jelly.InitMass(); + jelly.UpdateJoints(); + jelly.WakeUp(); + } + + jelly.m_UseGravity = true; + + /* +#if UNITY_EDITOR + SerializedObject so = new SerializedObject(jelly); + so.Update(); + so.ApplyModifiedProperties(); +#endif + */ + + if (showDebugLog) + Debug.Log($"[BreastJiggle] JellySprite 설정 적용 - Stiffness: {stiffness}, Damping: {dampingRatio}"); + } + + private void OnValidate() + { + if (jelly != null && autoConfigureJellySprite && Application.isPlaying) + ApplyJellySpriteSettings(); + } + + private void Update() + { + if (Input.GetKeyDown(KeyCode.Space)) + { + if (Time.time - lastCollisionTime < minCollisionInterval) + { + if (showDebugLog) + Debug.Log("[BreastJiggle] 충돌 간격이 너무 짧아서 무시됨"); + return; + } + + lastCollisionTime = Time.time; + + //jelly.m_Stiffness = 2.6f; + ApplyJellyForceForPlayer(DSUtil.RandomVector(0.01f, 0.1f), playerJiggleStrength); + } + + // 멈추기 실패 + //if (Time.time - lastCollisionTime > 1f) + //{ + // lastCollisionTime = Time.time; + // jelly.m_Stiffness = 0f; + //} + } + + private void HandleCollision(Collider2D other) + { + //if (!other.CompareTag("Player") && !other.CompareTag("Ball")) return; + if (!other.CompareTag("Player")) return; + + if (Time.time - lastCollisionTime < minCollisionInterval) + { + if (showDebugLog) + Debug.Log("[BreastJiggle] 충돌 간격이 너무 짧아서 무시됨"); + return; + } + + lastCollisionTime = Time.time; + + Vector2 contactPoint = other.ClosestPoint(transform.position); + lastContactPoint = contactPoint; + + if (showDebugLog) + Debug.Log($"[BreastJiggle] 충돌 감지: {other.name} (Tag: {other.tag})"); + + // Player 터치일 경우 AddForce로 흔들림 적용 + if (other.CompareTag("Player")) + { + ApplyJellyForceForPlayer(contactPoint, playerJiggleStrength); + //GameManager.Instance.StartRandomReaction(); + } + + /* + // Ball일 경우 물리엔진 적용 + Ball용 힘 추가 + if (other.CompareTag("Ball")) + { + ApplyJellyForceForBall(contactPoint, ballJiggleStrength); + } + */ + } + + /// Player/Blade 전용 힘 적용 + private void ApplyJellyForceForPlayer(Vector2 contactPoint, float strength) + { + Vector2 direction = CalculateJiggleDirection(contactPoint); + float force = strength; + if (maxJellyForce > 0) force = Mathf.Min(force, maxJellyForce); + jelly.AddForce(direction * force); + + if (showDebugLog) + Debug.Log($"[BreastJiggle] Player 힘 적용: {force:F2} (방향: {direction})"); + + if (showDebugGizmos) + Debug.DrawRay(transform.position, direction * force * 0.5f, Color.yellow, 1f); + } + + /// + /// Ball이 닿았을 때 AddForce로 가슴에 가해지는 힘, 기본 물리엔진에+Add + /// + /// + /// + private void ApplyJellyForceForBall(Vector2 contactPoint, float strength) + { + if (strength <= 0.0f) return; + + Vector2 direction = CalculateJiggleDirection(contactPoint); + float force = strength; // Ball은 랜덤 variation 없이 일정 힘 + if (maxJellyForce > 0) force = Mathf.Min(force, maxJellyForce); + jelly.AddForce(direction * force); + + if (showDebugLog) + Debug.Log($"[BreastJiggle] Ball 힘 적용: {force:F2} (방향: {direction})"); + + if (showDebugGizmos) + Debug.DrawRay(transform.position, direction * force * 0.5f, Color.green, 1f); + } + + /// 충돌 지점 기반 힘 방향 계산 + private Vector2 CalculateJiggleDirection(Vector2 contactPoint) + { + if (useContactPointPhysics) + { + Vector2 offset = contactPoint - (Vector2)transform.position; + Vector2 pushDir = -offset.normalized; + Vector2 gravityBiasVec = Vector2.down * verticalBias; + float horizWave = Random.Range(-horizontalSpread, horizontalSpread); + Vector2 lateralMove = Vector2.right * horizWave; + + return (pushDir * contactPointInfluence + gravityBiasVec + lateralMove).normalized; + } + else + { + return new Vector2(Random.Range(-horizontalSpread, horizontalSpread), + -verticalBias + Random.Range(-0.3f, 0.2f)).normalized; + } + } + + /// + /// Player(Blade)와 충돌시 이벤트 발생 + /// + /// + void OnJellyTriggerEnter2D(JellySprite.JellyCollider2D trigger) => HandleCollision(trigger.Collider2D); + + /// + /// Ball과 충돌시 이벤트 발생 + /// + /// + void OnJellyCollisionEnter2D(JellySprite.JellyCollision2D collision) => HandleCollision(collision.Collision2D.collider); + + private void OnDrawGizmos() + { + if (!showDebugGizmos || !Application.isPlaying) return; + + Gizmos.color = Color.red; + Gizmos.DrawWireSphere(lastContactPoint, 0.15f); + + Gizmos.color = Color.blue; + Gizmos.DrawWireSphere(transform.position, 0.1f); + + Gizmos.color = Color.cyan; + Gizmos.DrawLine(transform.position, lastContactPoint); + } +} \ No newline at end of file diff --git a/Assets/ResWork/zTest/06/BreastJigglePhysics.cs.meta b/Assets/ResWork/zTest/06/BreastJigglePhysics.cs.meta new file mode 100644 index 0000000..2d52ff1 --- /dev/null +++ b/Assets/ResWork/zTest/06/BreastJigglePhysics.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f56d5d40f20d68640a98b91f9b8dd88f \ No newline at end of file diff --git a/Assets/ResWork/zTest/06/base.png b/Assets/ResWork/zTest/06/base.png new file mode 100644 index 0000000..7737cd4 Binary files /dev/null and b/Assets/ResWork/zTest/06/base.png differ diff --git a/Assets/ResWork/zTest/06/base.png.meta b/Assets/ResWork/zTest/06/base.png.meta new file mode 100644 index 0000000..73976b2 --- /dev/null +++ b/Assets/ResWork/zTest/06/base.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 6ad179b7cd6faa54da6c26a8f7027bd6 +TextureImporter: + internalIDToNameTable: [] + 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: 0 + 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 + 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: Android + 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: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResWork/zTest/06/breast_L.png b/Assets/ResWork/zTest/06/breast_L.png new file mode 100644 index 0000000..2d9ad63 Binary files /dev/null and b/Assets/ResWork/zTest/06/breast_L.png differ diff --git a/Assets/ResWork/zTest/06/breast_L.png.meta b/Assets/ResWork/zTest/06/breast_L.png.meta new file mode 100644 index 0000000..8d80f50 --- /dev/null +++ b/Assets/ResWork/zTest/06/breast_L.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 8b44fc46f4ba4004dba5c9b6db77d727 +TextureImporter: + internalIDToNameTable: [] + 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: 0 + 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 + 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: Android + 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: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResWork/zTest/06/breast_R.png b/Assets/ResWork/zTest/06/breast_R.png new file mode 100644 index 0000000..cff41ea Binary files /dev/null and b/Assets/ResWork/zTest/06/breast_R.png differ diff --git a/Assets/ResWork/zTest/06/breast_R.png.meta b/Assets/ResWork/zTest/06/breast_R.png.meta new file mode 100644 index 0000000..6c72731 --- /dev/null +++ b/Assets/ResWork/zTest/06/breast_R.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: b3c8eaf1d9755174bb903dd3e40aca6c +TextureImporter: + internalIDToNameTable: [] + 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: 0 + 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 + 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: Android + 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: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResWork/zTest/06/face_1.png b/Assets/ResWork/zTest/06/face_1.png new file mode 100644 index 0000000..4158ece Binary files /dev/null and b/Assets/ResWork/zTest/06/face_1.png differ diff --git a/Assets/ResWork/zTest/06/face_1.png.meta b/Assets/ResWork/zTest/06/face_1.png.meta new file mode 100644 index 0000000..4ccc83b --- /dev/null +++ b/Assets/ResWork/zTest/06/face_1.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: e8f0ced2a590e9548a05b46247d45deb +TextureImporter: + internalIDToNameTable: [] + 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: 0 + 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 + 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: Android + 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: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ResWork/zTest/06/face_2.png b/Assets/ResWork/zTest/06/face_2.png new file mode 100644 index 0000000..81b2d90 Binary files /dev/null and b/Assets/ResWork/zTest/06/face_2.png differ diff --git a/Assets/ResWork/zTest/06/face_2.png.meta b/Assets/ResWork/zTest/06/face_2.png.meta new file mode 100644 index 0000000..72d87aa --- /dev/null +++ b/Assets/ResWork/zTest/06/face_2.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 393475737ca7fa0448eb2e8cd4eed02a +TextureImporter: + internalIDToNameTable: [] + 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: 0 + 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 + 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: Android + 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: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/HorseRush/GameBG_Girls.prefab b/Assets/Resources/Prefabs/HorseRush/GameBG_Girls.prefab new file mode 100644 index 0000000..ef972ea --- /dev/null +++ b/Assets/Resources/Prefabs/HorseRush/GameBG_Girls.prefab @@ -0,0 +1,521 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3574105332676644573 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3350574782794326732} + - component: {fileID: 3935848134669709998} + - component: {fileID: 6333177682449739710} + m_Layer: 0 + m_Name: Girl1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &3350574782794326732 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3574105332676644573} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.8333333, y: 0.8333333, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6426129326276498135} + - {fileID: 2687445817536164929} + m_Father: {fileID: 2923904872549073819} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &3935848134669709998 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3574105332676644573} + 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_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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: 6ad179b7cd6faa54da6c26a8f7027bd6, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 8, y: 12} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &6333177682449739710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3574105332676644573} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 03994709fdcb0024daf0094fc2640046, type: 3} + m_Name: + m_EditorClassIdentifier: + SetFit: 0 +--- !u!1 &5075662245161426955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2923904872549073819} + m_Layer: 0 + m_Name: GameBG_Girls + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2923904872549073819 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5075662245161426955} + 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: + - {fileID: 3350574782794326732} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6490517267236978573 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2687445817536164929} + - component: {fileID: 3935515269710912896} + - component: {fileID: 2540154696796119336} + - component: {fileID: 5856269175289868540} + - component: {fileID: 6796406411234791068} + m_Layer: 0 + m_Name: right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2687445817536164929 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6490517267236978573} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.188, y: -0.096, z: 90} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 3350574782794326732} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3935515269710912896 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6490517267236978573} + m_Mesh: {fileID: 0} +--- !u!23 &2540154696796119336 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6490517267236978573} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 4 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &5856269175289868540 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6490517267236978573} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f56d5d40f20d68640a98b91f9b8dd88f, type: 3} + m_Name: + m_EditorClassIdentifier: + autoConfigureJellySprite: 1 + stiffness: 2.6 + dampingRatio: 0.4 + mass: 0.6 + gravityScale: 0 + drag: 0 + angularDrag: 0.6 + playerJiggleStrength: 26 + randomVariation: 0.5 + horizontalSpread: 0.5 + verticalBias: 2.5 + ballJiggleStrength: 26 + contactPointInfluence: 3 + maxJellyForce: 26 + useContactPointPhysics: 1 + showDebugGizmos: 0 + showDebugLog: 0 +--- !u!114 &6796406411234791068 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6490517267236978573} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 4 + m_FreeModeBodyPositions: + - {x: 0.6082516, y: 0.36182773, z: 0} + - {x: 0.39577544, y: -0.38162583, z: 0} + - {x: -0.11267599, y: -0.029338935, z: 0} + - {x: -0.45166928, y: 0.38054734, z: 0} + - {x: -0.049742743, y: 1.1079566, z: 0} + - {x: -1.0923802, y: -0.022991307, z: 0} + - {x: -0.6404312, y: -0.7940869, z: 0} + - {x: 0.20554411, y: -1.0841298, z: 0} + - {x: 0.7366493, y: -0.8923086, z: 0} + - {x: 0.7687665, y: 0.8506411, z: 0} + m_FreeModeBodyRadii: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + m_FreeModeBodyKinematic: 00000000010101010101 + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 0 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 0 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.25 + m_DistanceExponent: 2 + m_Stiffness: 2.6 + m_Mass: 0.6 + m_LockRotation: 1 + m_GravityScale: 0 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.6 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 0.4 + m_SoftBodyScale: {x: 1, y: 1} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: -0, y: -0} + m_CentralBodyOffset: {x: -0, y: -0} + m_SpriteScale: {x: 1, y: 1} + m_2DMode: 1 + m_AttachNeighbors: 0 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 0 + m_AttachPoints: [] + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: b3c8eaf1d9755174bb903dd3e40aca6c, type: 3} +--- !u!1 &7822468612752013503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6426129326276498135} + - component: {fileID: 2744337411708788776} + - component: {fileID: 5811243339312445230} + - component: {fileID: 1679020131063060424} + - component: {fileID: 3395158930714754565} + m_Layer: 0 + m_Name: left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6426129326276498135 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7822468612752013503} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.114, y: -0.423, z: 90} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 3350574782794326732} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2744337411708788776 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7822468612752013503} + m_Mesh: {fileID: 0} +--- !u!23 &5811243339312445230 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7822468612752013503} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 0} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 3 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &1679020131063060424 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7822468612752013503} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f56d5d40f20d68640a98b91f9b8dd88f, type: 3} + m_Name: + m_EditorClassIdentifier: + autoConfigureJellySprite: 1 + stiffness: 2.6 + dampingRatio: 0.4 + mass: 0.6 + gravityScale: 0 + drag: 0 + angularDrag: 0.6 + playerJiggleStrength: 26 + randomVariation: 0.5 + horizontalSpread: 0.5 + verticalBias: 2.5 + ballJiggleStrength: 26 + contactPointInfluence: 3 + maxJellyForce: 26 + useContactPointPhysics: 1 + showDebugGizmos: 0 + showDebugLog: 0 +--- !u!114 &3395158930714754565 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7822468612752013503} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 4 + m_FreeModeBodyPositions: + - {x: -1.1498797, y: -0.11766222, z: 0} + - {x: -0.30570126, y: -0.5325765, z: 0} + - {x: -0.11267599, y: -0.029338935, z: 0} + - {x: 0.2942046, y: 0.62917155, z: 0} + - {x: -0.049742743, y: 1.1079566, z: 0} + - {x: -0.45305955, y: 0.9537485, z: 0} + - {x: -0.3118915, y: -1.1581447, z: 0} + - {x: 0.2588205, y: -0.93317896, z: 0} + - {x: 0.71889013, y: -0.5726484, z: 0} + - {x: 1.1417036, y: 0.5753781, z: 0} + m_FreeModeBodyRadii: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + m_FreeModeBodyKinematic: 00000000010101010101 + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 0 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 0 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.25 + m_DistanceExponent: 2 + m_Stiffness: 2.6 + m_Mass: 0.6 + m_LockRotation: 1 + m_GravityScale: 0 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.6 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 0.4 + m_SoftBodyScale: {x: 1, y: 1} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: 0, y: 0} + m_CentralBodyOffset: {x: -0, y: -0} + m_SpriteScale: {x: 1, y: 1} + m_2DMode: 1 + m_AttachNeighbors: 0 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 0 + m_AttachPoints: [] + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: 8b44fc46f4ba4004dba5c9b6db77d727, type: 3} diff --git a/Assets/Resources/Prefabs/HorseRush/GameBG_Girls.prefab.meta b/Assets/Resources/Prefabs/HorseRush/GameBG_Girls.prefab.meta new file mode 100644 index 0000000..076eef5 --- /dev/null +++ b/Assets/Resources/Prefabs/HorseRush/GameBG_Girls.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b92c7bec9741ee44b897051958ae6f1b +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/HorseRush/HorseRushCanvas.prefab b/Assets/Resources/Prefabs/HorseRush/HorseRushCanvas.prefab index e71fee2..2fdc060 100644 --- a/Assets/Resources/Prefabs/HorseRush/HorseRushCanvas.prefab +++ b/Assets/Resources/Prefabs/HorseRush/HorseRushCanvas.prefab @@ -450,7 +450,7 @@ RectTransform: m_Father: {fileID: 2476409592344570910} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} @@ -956,7 +956,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &2200321813798097808 RectTransform: m_ObjectHideFlags: 0 @@ -1000,7 +1000,7 @@ Canvas: m_AdditionalShaderChannelsFlag: 25 m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 - m_SortingOrder: 1 + m_SortingOrder: 5 m_TargetDisplay: 0 --- !u!114 &3437201159627408459 MonoBehaviour: @@ -1155,7 +1155,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &6102112568647830540 RectTransform: m_ObjectHideFlags: 0 @@ -1173,7 +1173,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 228.15002, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2442863391819959307 CanvasRenderer: @@ -1203,7 +1203,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: c748f1c8f924e5c4dae0733d40e67e7a, type: 3} + m_Sprite: {fileID: 21300000, guid: 6ad179b7cd6faa54da6c26a8f7027bd6, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -1534,7 +1534,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] m_FontData: - m_Font: {fileID: 12800000, guid: 2301f648c303bc74fb21db50b2e45e36, type: 3} + m_Font: {fileID: 12800000, guid: 5e7134ef1ebec614fbc21034ba0cf412, type: 3} m_FontSize: 30 m_FontStyle: 0 m_BestFit: 0 @@ -1704,7 +1704,7 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] m_FontData: - m_Font: {fileID: 12800000, guid: f7e2995baf2f4134cbf9a1602954a5e4, type: 3} + m_Font: {fileID: 12800000, guid: 5e7134ef1ebec614fbc21034ba0cf412, type: 3} m_FontSize: 42 m_FontStyle: 0 m_BestFit: 0 @@ -1960,7 +1960,7 @@ RectTransform: m_Father: {fileID: 8705162283690120965} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -52, y: 0} m_Pivot: {x: 0.5, y: 0.5} @@ -2013,6 +2013,7 @@ GameObject: - component: {fileID: 8855047054072020524} - component: {fileID: 3041709992109600824} - component: {fileID: 2658234893234789795} + - component: {fileID: 8682701599452038149} m_Layer: 5 m_Name: Background m_TagString: Untagged @@ -2067,7 +2068,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: b0a7567624709ee45872c0e655845f2d, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -2077,6 +2078,29 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!223 &8682701599452038149 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9124151103754399212} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 1 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 1 + m_TargetDisplay: 0 --- !u!1001 &402621140322731400 PrefabInstance: m_ObjectHideFlags: 0 @@ -2892,6 +2916,10 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 7960964080001818892} m_Modifications: + - target: {fileID: 2984764560377151519, guid: 645aa0b8fb925124b9cda6e3790acd3a, type: 3} + propertyPath: m_AnchoredPosition.y + value: -59.99997 + objectReference: {fileID: 0} - target: {fileID: 3521403756299021640, guid: 645aa0b8fb925124b9cda6e3790acd3a, type: 3} propertyPath: m_Pivot.x value: 0.5 diff --git a/Assets/Scripts/AttachToGameObject/BackGroundFitter.cs b/Assets/Scripts/AttachToGameObject/BackGroundFitter.cs new file mode 100644 index 0000000..16743d2 --- /dev/null +++ b/Assets/Scripts/AttachToGameObject/BackGroundFitter.cs @@ -0,0 +1,56 @@ +using UnityEngine; + +[RequireComponent(typeof(SpriteRenderer))] +[ExecuteInEditMode] +public class BackgroundFitter : MonoBehaviour +{ +#if UNITY_EDITOR + public bool SetFit = false; + + private void Update() + { + if (SetFit) + { + SetFit = false; + Set(); + } + } +#endif + + public void Set() + { + //SpriteRenderer sr = GetComponent(); + //if (sr.sprite == null) return; + + //// 스프라이트의 원래 크기(픽셀 단위) + //float spriteWidth = sr.sprite.bounds.size.x; + //float spriteHeight = sr.sprite.bounds.size.y; + + //// 카메라 + //Camera cam = Camera.main; + //float worldScreenHeight = cam.orthographicSize * 2f; // 세로 크기(월드 단위) + //float worldScreenWidth = worldScreenHeight * cam.aspect; // 가로 크기(월드 단위) + + //// 배경 스케일 계산 + //transform.localScale = new Vector3( + // worldScreenWidth / spriteWidth, + // worldScreenHeight / spriteHeight, + // 1f + //); + + var sr = GetComponent(); + if (sr == null) return; + + // 스프라이트 크기 + float width = sr.sprite.bounds.size.x; + float height = sr.sprite.bounds.size.y; + + // 화면 비율 + float worldScreenHeight = Camera.main.orthographicSize * 2f; + float worldScreenWidth = worldScreenHeight * Screen.width / Screen.height; + + // 꽉 차게 하기 (잘림 허용) + float scale = Mathf.Max(worldScreenWidth / width, worldScreenHeight / height); + transform.localScale = new Vector3(scale, scale, 1); + } +} \ No newline at end of file diff --git a/Assets/Scripts/AttachToGameObject/BackGroundFitter.cs.meta b/Assets/Scripts/AttachToGameObject/BackGroundFitter.cs.meta new file mode 100644 index 0000000..8f9876a --- /dev/null +++ b/Assets/Scripts/AttachToGameObject/BackGroundFitter.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 03994709fdcb0024daf0094fc2640046 \ No newline at end of file diff --git a/Assets/Scripts/AttachToGameObject/SaveMgr.cs b/Assets/Scripts/AttachToGameObject/SaveMgr.cs index c30955a..c68ddb7 100644 --- a/Assets/Scripts/AttachToGameObject/SaveMgr.cs +++ b/Assets/Scripts/AttachToGameObject/SaveMgr.cs @@ -1,6 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Linq; using GUPS.AntiCheat.Protected; using Newtonsoft.Json; using UnityEngine; @@ -215,6 +216,44 @@ public class SaveMgr : MonoBehaviourSingletonTemplate Save(); } + public albumtabledata Get_RandomAlbum() + { + var girllst = table_girl.Ins.Get_DataList(); + + for (int i = 0; i < girllst.Count; i++) + { + int girl = girllst[i].n_GirlID; + + if (!IsObtainGirl(girl)) + continue; + + var albums = table_album.Ins.Get_AlbumDataList(girl); + + if (!m_SaveData.dic_albumOpen.TryGetValue(girl, out var openedAlbums)) + openedAlbums = new List(); + + if (openedAlbums.Count >= albums.Count) + continue; // 전부 획득함 + + // 이미 획득한 앨범 ID + HashSet openedSet = new HashSet( + openedAlbums.Select(x => x.ID) + ); + + // 미획득 앨범 + var noobtainalbums = albums + .Where(a => !openedSet.Contains(a.n_Index)) + .ToList(); + + if (noobtainalbums.Count > 0) + { + // 여기서 랜덤 1개 리턴 + return noobtainalbums[UnityEngine.Random.Range(0, noobtainalbums.Count)]; + } + } + + return null; // 전부 획득 → 글로벌 밸류 하트 지급 + } public void Open_Album(albumtabledata data) { if (!m_SaveData.dic_albumOpen.ContainsKey(data.n_GirlID)) diff --git a/Assets/Scripts/UI/GachaUI.cs b/Assets/Scripts/UI/GachaUI.cs index 3748086..0358937 100644 --- a/Assets/Scripts/UI/GachaUI.cs +++ b/Assets/Scripts/UI/GachaUI.cs @@ -161,9 +161,16 @@ public class GachaUI : uScrollViewMgr { Init_GachaAnim(); SaveMgr.Ins.Add_Money(eMoney.Lucky, -table_GlobalValue.Ins.Get_Int("LuckyPoint")); + var randomalbum = SaveMgr.Ins.Get_RandomAlbum(); + if (randomalbum != null) SaveMgr.Ins.Open_Album(randomalbum); + else SaveMgr.Ins.Add_Money(eMoney.AlbumOpen, table_GlobalValue.Ins.Get_Int("LuckyGachaMaxHeart_Amount")); SaveMgr.Ins.Save(); - LobbyUI.Ins.m_Game_Lucky.Set(); - Set_UI(false); + + // 정인호 : 럭키가챠 UI 노출 + + + //LobbyUI.Ins.m_Game_Lucky.Set(); + //Set_UI(false); } } diff --git a/Assets/Scripts/UI/ProfileCard.cs b/Assets/Scripts/UI/ProfileCard.cs index d723455..64ed526 100644 --- a/Assets/Scripts/UI/ProfileCard.cs +++ b/Assets/Scripts/UI/ProfileCard.cs @@ -90,6 +90,10 @@ public class ProfileCard : MonoBehaviour { if (CanOpen()) { // 열 수 있음 + // 최초 한 장 공짜 지급 + SaveMgr.Ins.Open_Album(table_album.Ins.Get_SpecialAlbum(m_Data.n_GirlID, eCollectionMethod.Default)); + SaveMgr.Ins.Save(); + Set_UI(); } else diff --git a/Assets/ThirdParty/JellySprites.meta b/Assets/ThirdParty/JellySprites.meta new file mode 100644 index 0000000..f3ffdae --- /dev/null +++ b/Assets/ThirdParty/JellySprites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f5b308dd1ef3f554881327cdacbc10e1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThirdParty/JellySprites/2D Toolkit.meta b/Assets/ThirdParty/JellySprites/2D Toolkit.meta new file mode 100644 index 0000000..1020f70 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/2D Toolkit.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: fb21b2a17a17b43a9a94efcac6880353 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/ThirdParty/JellySprites/2D Toolkit/Important.rtf b/Assets/ThirdParty/JellySprites/2D Toolkit/Important.rtf new file mode 100644 index 0000000..a7d24a9 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/2D Toolkit/Important.rtf @@ -0,0 +1,7 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1265 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0 +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural + +\f0\fs24 \cf0 Important! Please only extract this package if you own the 2D Toolkit asset and wish to enable Jelly Sprite support for it! Extracting this package will cause compile errors if you do not own 2D Toolkit.} \ No newline at end of file diff --git a/Assets/ThirdParty/JellySprites/2D Toolkit/Important.rtf.meta b/Assets/ThirdParty/JellySprites/2D Toolkit/Important.rtf.meta new file mode 100644 index 0000000..d728aa2 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/2D Toolkit/Important.rtf.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1956ce22386624496855baf53035640d +DefaultImporter: + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/2D Toolkit/Important.rtf + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo.meta b/Assets/ThirdParty/JellySprites/Demo.meta new file mode 100644 index 0000000..f2b591d --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 81eef36e04eac2b4aa4fcb0e2bee4e97 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo Scene.unity b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo Scene.unity new file mode 100644 index 0000000..7127f9d --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo Scene.unity @@ -0,0 +1,5963 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 1 + m_BakeResolution: 50 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: b650199409a501d42a67f4fed39903f8, type: 2} +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &60479299 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 60479301} + - component: {fileID: 60479300} + m_Layer: 0 + m_Name: Logo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &60479300 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 60479299} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -150 + m_Sprite: {fileID: 21300000, guid: 44f89850214d9e24080dfacf1165b837, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &60479301 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 60479299} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.8899981, y: 9.113774, z: 0} + m_LocalScale: {x: 7, y: 8.6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 789417699} + - {fileID: 990942474} + - {fileID: 1463178242} + - {fileID: 1038706887} + - {fileID: 505984777} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!21 &99535627 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: orangeBlob_Jelly + m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: 1bf823ed97bd0aa4e94356b09546f889, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!43 &152024595 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: JellySprite Mesh + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 720 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 120 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 3.89, y: 3.4, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000b000a0000000b00010002000c000b0001000c00020003000d000c0002000d00030004000e000d0003000e00040005000f000e0004000f000500060010000f00050010000600070011001000060011000700080012001100070012000800090013001200080013000a000b00150014000a0015000b000c00160015000b0016000c000d00170016000c0017000d000e00180017000d0018000e000f00190018000e0019000f0010001a0019000f001a00100011001b001a0010001b00110012001c001b0011001c00120013001d001c0012001d00140015001f001e0014001f001500160020001f001500200016001700210020001600210017001800220021001700220018001900230022001800230019001a0024002300190024001a001b00250024001a0025001b001c00260025001b0026001c001d00270026001c0027001e001f00290028001e0029001f0020002a0029001f002a00200021002b002a0020002b00210022002c002b0021002c00220023002d002c0022002d00230024002e002d0023002e00240025002f002e0024002f002500260030002f002500300026002700310030002600310028002900330032002800330029002a0034003300290034002a002b00350034002a0035002b002c00360035002b0036002c002d00370036002c0037002d002e00380037002d0038002e002f00390038002e0039002f0030003a0039002f003a00300031003b003a0030003b00320033003d003c0032003d00330034003e003d0033003e00340035003f003e0034003f003500360040003f003500400036003700410040003600410037003800420041003700420038003900430042003800430039003a0044004300390044003a003b00450044003a0045003c003d00470046003c0047003d003e00480047003d0048003e003f00490048003e0049003f0040004a0049003f004a00400041004b004a0040004b00410042004c004b0041004c00420043004d004c0042004d00430044004e004d0043004e00440045004f004e0044004f0046004700510050004600510047004800520051004700520048004900530052004800530049004a0054005300490054004a004b00550054004a0055004b004c00560055004b0056004c004d00570056004c0057004d004e00580057004d0058004e004f00590058004e005900500051005b005a0050005b00510052005c005b0051005c00520053005d005c0052005d00530054005e005d0053005e00540055005f005e0054005f005500560060005f00550060005600570061006000560061005700580062006100570062005800590063006200580063005a005b00650064005a0065005b005c00660065005b0066005c005d00670066005c0067005d005e00680067005d0068005e005f00690068005e0069005f0060006a0069005f006a00600061006b006a0060006b00610062006c006b0061006c00620063006d006c0062006d00640065006f006e0064006f006500660070006f006500700066006700710070006600710067006800720071006700720068006900730072006800730069006a0074007300690074006a006b00750074006a0075006b006c00760075006b0076006c006d00770076006c007700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 120 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 5760 + _typelessdata: c3f578c09a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000000000000000c3f578c0943e29c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398ee33dc3f578c01dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398e633ec3f578c0111191bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaaaa3ec3f578c0176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398ee33ec3f578c0176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000e4380e3fc3f578c01111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaa2a3fc3f578c01dc7f13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000721c473fc3f578c0943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398e633fc3f578c09a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000000000803fceb14bc09a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d00000000ceb14bc0943e29c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d398ee33dceb14bc01dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d398e633eceb14bc0111191bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3dabaaaa3eceb14bc0176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d398ee33eceb14bc0176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3de4380e3fceb14bc01111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3dabaa2a3fceb14bc01dc7f13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d721c473fceb14bc0943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d398e633fceb14bc09a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d0000803fd96d1ec09a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3e00000000d96d1ec0943e29c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3e398ee33dd96d1ec01dc7f1bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3e398e633ed96d1ec0111191bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3eabaaaa3ed96d1ec0176cc1be000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3e398ee33ed96d1ec0176cc13e000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3ee4380e3fd96d1ec01111913f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3eabaa2a3fd96d1ec01dc7f13f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3e721c473fd96d1ec0943e2940000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3e398e633fd96d1ec09a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3e0000803fc953e2bf9a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e00000000c953e2bf943e29c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fe9a28b3e398ee33dc953e2bf1dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e398e633ec953e2bf111191bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fe9a28b3eabaaaa3ec953e2bf176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e398ee33ec953e2bf176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3ee4380e3fc953e2bf1111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3eabaa2a3fc953e2bf1dc7f13f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fe9a28b3e721c473fc953e2bf943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e398e633fc953e2bf9a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e0000803fdfcb87bf9a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e00000000dfcb87bf943e29c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e398ee33ddfcb87bf1dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e398e633edfcb87bf111191bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3eabaaaa3edfcb87bf176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e398ee33edfcb87bf176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3ee4380e3fdfcb87bf1111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3eabaa2a3fdfcb87bf1dc7f13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e721c473fdfcb87bf943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e398e633fdfcb87bf9a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e0000803fd40fb5be9a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e00000000d40fb5be943e29c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e398ee33dd40fb5be1dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e398e633ed40fb5be111191bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83eabaaaa3ed40fb5be176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e398ee33ed40fb5be176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83ee4380e3fd40fb5be1111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83eabaa2a3fd40fb5be1dc7f13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e721c473fd40fb5be943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e398e633fd40fb5be9a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e0000803fd40fb53e9a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f00000000d40fb53e943e29c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f398ee33dd40fb53e1dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f398e633ed40fb53e111191bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3fabaaaa3ed40fb53e176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f398ee33ed40fb53e176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3fe4380e3fd40fb53e1111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3fabaa2a3fd40fb53e1dc7f13f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f721c473fd40fb53e943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f398e633fd40fb53e9a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f0000803fdfcb873f9a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f00000000dfcb873f943e29c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f398ee33ddfcb873f1dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f398e633edfcb873f111191bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223fabaaaa3edfcb873f176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f398ee33edfcb873f176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223fe4380e3fdfcb873f1111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223fabaa2a3fdfcb873f1dc7f13f000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f721c473fdfcb873f943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f398e633fdfcb873f9a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f0000803fc953e23f9a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3f00000000c953e23f943e29c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3f398ee33dc953e23f1dc7f1bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3f398e633ec953e23f111191bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3fabaaaa3ec953e23f176cc1be000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3f398ee33ec953e23f176cc13e000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3fe4380e3fc953e23f1111913f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3fabaa2a3fc953e23f1dc7f13f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3f721c473fc953e23f943e2940000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8c2e3a3f398e633fc953e23f9a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3f0000803fd96d1e409a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f00000000d96d1e40943e29c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f5d74513f398ee33dd96d1e401dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f398e633ed96d1e40111191bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f5d74513fabaaaa3ed96d1e40176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f398ee33ed96d1e40176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513fe4380e3fd96d1e401111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513fabaa2a3fd96d1e401dc7f13f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f5d74513f721c473fd96d1e40943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f398e633fd96d1e409a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f0000803fceb14b409a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f00000000ceb14b40943e29c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f398ee33dceb14b401dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f398e633eceb14b40111191bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683fabaaaa3eceb14b40176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f398ee33eceb14b40176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683fe4380e3fceb14b401111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683fabaa2a3fceb14b401dc7f13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f721c473fceb14b40943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f398e633fceb14b409a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f0000803fc3f578409a9959c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f00000000c3f57840943e29c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398ee33dc3f578401dc7f1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398e633ec3f57840111191bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaaaa3ec3f57840176cc1be000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398ee33ec3f57840176cc13e000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fe4380e3fc3f578401111913f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaa2a3fc3f578401dc7f13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f721c473fc3f57840943e2940000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398e633fc3f578409a995940000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f0000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 3.89, y: 3.4, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: -1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!1 &228399064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 228399065} + m_Layer: 0 + m_Name: Hut + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &228399065 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 228399064} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.2951696, y: -6.3562956, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1736920905} + - {fileID: 1759577229} + - {fileID: 550620146} + - {fileID: 1116066775} + - {fileID: 854679783} + - {fileID: 1656601139} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &280670253 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 280670254} + - component: {fileID: 280670258} + - component: {fileID: 280670257} + - component: {fileID: 280670256} + - component: {fileID: 280670255} + m_Layer: 9 + m_Name: WhiteBlob + m_TagString: Blob + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &280670254 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280670253} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.2795639, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 916580378} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &280670255 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280670253} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbf57392da360e54eb4a6ce326dc9067, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MinBounceTime: 3 + m_MaxBounceTime: 5 + m_MinJumpForce: 2000 + m_MaxJumpForce: 3000 + m_MinJumpVector: {x: -0.5, y: 1} + m_MaxJumpVector: {x: 0.5, y: 1} + m_GroundLayer: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &280670256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280670253} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 4 + m_FreeModeBodyPositions: + - {x: 0, y: 0, z: 0} + - {x: 0.05293286, y: -2.1744714, z: 0} + - {x: 0, y: 2.27088, z: 0} + m_FreeModeBodyRadii: + - 1.0491201 + - 1.0491201 + - 1.0491201 + m_FreeModeBodyKinematic: 000000 + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 1 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 0 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.158 + m_DistanceExponent: 2 + m_Stiffness: 1 + m_Mass: 1 + m_LockRotation: 1 + m_GravityScale: 5 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.05 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 0 + m_SoftBodyScale: {x: 0.78, y: 1} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: 0, y: 0} + m_CentralBodyOffset: {x: 0, y: 0} + m_SpriteScale: {x: 1.18, y: 2} + m_2DMode: 1 + m_AttachNeighbors: 0 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 1 + m_AttachPoints: + - {fileID: 916580378} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: 4082ddc36f76b29448f8195b68fa5456, type: 3} +--- !u!23 &280670257 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280670253} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 1558426689} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -14 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &280670258 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 280670253} + m_Mesh: {fileID: 1075563218} +--- !u!1 &318357707 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 318357708} + - component: {fileID: 318357709} + m_Layer: 0 + m_Name: PupilRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &318357708 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 318357707} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.47236958, y: 0.07792086, z: -0.42} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 916580378} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &318357709 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 318357707} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -12 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &351323418 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 351323419} + - component: {fileID: 351323421} + - component: {fileID: 351323420} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &351323419 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351323418} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: -0.09002422, w: 0.9959396} + m_LocalPosition: {x: 0.018871307, y: 4.4723244, z: 0.42} + m_LocalScale: {x: 3, y: 3, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 693006658} + - {fileID: 1639469095} + m_Father: {fileID: 672257220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &351323420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351323418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8226ec8bfb3372142a457c0d9db860e5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClosedSprite: {fileID: 21300000, guid: 7b3fd9ab033015a4f87d028f155b181c, type: 3} + m_OpenSprite: {fileID: 21300000, guid: 8669fe48da4d3e9458e5291d1362dd8a, type: 3} + m_MinBlinkInterval: 2 + m_MaxBlinkInterval: 3 + m_MinBlinkTime: 0.1 + m_MaxBlinkTime: 0.15 + m_PupilLeft: {fileID: 1639469094} + m_PupilRight: {fileID: 693006657} + m_EyeRadius: 0.12 +--- !u!212 &351323421 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 351323418} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 21 + m_Sprite: {fileID: 21300000, guid: 8669fe48da4d3e9458e5291d1362dd8a, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &363049082 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 363049083} + - component: {fileID: 363049085} + - component: {fileID: 363049084} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &363049083 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 363049082} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: -0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.15594673, y: 2.898393, z: 0.42} + m_LocalScale: {x: 3.1573718, y: 3.1573703, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2014192164} + - {fileID: 2130142294} + m_Father: {fileID: 923265734} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &363049084 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 363049082} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8226ec8bfb3372142a457c0d9db860e5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClosedSprite: {fileID: 21300000, guid: 17fc81f46da2d8342bf176224522c6d0, type: 3} + m_OpenSprite: {fileID: 21300000, guid: f797c4493d98e1d4e8709d5217dd8cdc, type: 3} + m_MinBlinkInterval: 2 + m_MaxBlinkInterval: 3 + m_MinBlinkTime: 0.1 + m_MaxBlinkTime: 0.15 + m_PupilLeft: {fileID: 2130142293} + m_PupilRight: {fileID: 2014192162} + m_EyeRadius: 0.15 +--- !u!212 &363049085 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 363049082} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 21300000, guid: f797c4493d98e1d4e8709d5217dd8cdc, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &383578000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 383578001} + - component: {fileID: 383578002} + m_Layer: 0 + m_Name: PupilRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &383578001 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 383578000} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.54169357, y: 0.021543493, z: -0.42} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1625896591} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &383578002 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 383578000} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 22 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &438294521 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 438294523} + - component: {fileID: 438294522} + m_Layer: 0 + m_Name: PupilLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &438294522 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 438294521} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 22 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &438294523 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 438294521} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.07542732, w: 0.9971513} + m_LocalPosition: {x: -0.4768833, y: -0.16964564, z: -0.42} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1625896591} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &444721465 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 444721466} + - component: {fileID: 444721467} + m_Layer: 0 + m_Name: PupilLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &444721466 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 444721465} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: -0.3470961, y: -0.019055447, z: -0.42} + m_LocalScale: {x: 0.6, y: 0.6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 754680098} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &444721467 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 444721465} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &505984775 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 505984777} + - component: {fileID: 505984776} + m_Layer: 0 + m_Name: whiteBlob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &505984776 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 505984775} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -20 + m_Sprite: {fileID: 21300000, guid: 4082ddc36f76b29448f8195b68fa5456, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &505984777 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 505984775} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.9927094, y: -1.9146768, z: 0} + m_LocalScale: {x: 0.14285715, y: 0.116279066, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 60479301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!21 &536582840 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: blueBlob_Jelly + m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: a6d7486e588f0ff4caed88a7356f3fd3, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!1 &550620145 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 550620146} + - component: {fileID: 550620148} + - component: {fileID: 550620147} + m_Layer: 0 + m_Name: WallRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &550620146 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550620145} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 42.33817, y: 10.520569, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &550620147 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550620145} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1, y: 83.73} + m_EdgeRadius: 0 +--- !u!50 &550620148 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 550620145} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &672257215 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 672257220} + - component: {fileID: 672257219} + - component: {fileID: 672257218} + - component: {fileID: 672257217} + - component: {fileID: 672257216} + m_Layer: 9 + m_Name: PinkBlob + m_TagString: Blob + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &672257216 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672257215} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbf57392da360e54eb4a6ce326dc9067, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MinBounceTime: 2 + m_MaxBounceTime: 4 + m_MinJumpForce: 4000 + m_MaxJumpForce: 4000 + m_MinJumpVector: {x: -1, y: 1} + m_MaxJumpVector: {x: 1, y: 1} + m_GroundLayer: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &672257217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672257215} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 0 + m_FreeModeBodyPositions: + - {x: 0, y: 0, z: 0} + - {x: -15.205555, y: 3.4370236, z: 0} + - {x: -6.6940985, y: 10.389121, z: 0} + m_FreeModeBodyRadii: + - 2.2800035 + - 2.28 + - 2.1548774 + m_FreeModeBodyKinematic: 000000 + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 1 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 0 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.25 + m_DistanceExponent: 2 + m_Stiffness: 1 + m_Mass: 1 + m_LockRotation: 0 + m_GravityScale: 5 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.05 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 0 + m_SoftBodyScale: {x: 1, y: 0.77} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: 0, y: 0} + m_CentralBodyOffset: {x: 0, y: 0} + m_SpriteScale: {x: 3, y: 3} + m_2DMode: 1 + m_AttachNeighbors: 0 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 1 + m_AttachPoints: + - {fileID: 351323419} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: 53f949e5141cb0247b4a5b89de21b524, type: 3} +--- !u!23 &672257218 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672257215} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2146201870} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 20 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &672257219 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672257215} + m_Mesh: {fileID: 1015093777} +--- !u!4 &672257220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 672257215} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -32.8, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 351323419} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &693006657 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 693006658} + - component: {fileID: 693006659} + m_Layer: 0 + m_Name: PupilRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &693006658 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 693006657} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.54169357, y: 0.021543493, z: -0.42} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 351323419} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &693006659 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 693006657} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 22 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &754680097 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 754680098} + - component: {fileID: 754680099} + - component: {fileID: 754680100} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &754680098 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754680097} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: -0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.11913872, y: 2.6326227, z: 0.42} + m_LocalScale: {x: 6, y: 6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1310790020} + - {fileID: 444721466} + m_Father: {fileID: 1748863279} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &754680099 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754680097} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 11 + m_Sprite: {fileID: 21300000, guid: 12ca02a3e2ab3d94293f3d07a9e96c90, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &754680100 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754680097} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8226ec8bfb3372142a457c0d9db860e5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClosedSprite: {fileID: 21300000, guid: a62fb5d445fae3745be11a48c8b82668, type: 3} + m_OpenSprite: {fileID: 21300000, guid: 12ca02a3e2ab3d94293f3d07a9e96c90, type: 3} + m_MinBlinkInterval: 2 + m_MaxBlinkInterval: 3 + m_MinBlinkTime: 0.1 + m_MaxBlinkTime: 0.15 + m_PupilLeft: {fileID: 444721465} + m_PupilRight: {fileID: 1310790019} + m_EyeRadius: 0.12 +--- !u!1 &757480806 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 757480808} + - component: {fileID: 757480807} + m_Layer: 0 + m_Name: DemoManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &757480807 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 757480806} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7717bf13e118e0a4f9626d4dec85af6d, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DebugRenderMaterial: {fileID: 2100000, guid: a2e65a8c669271d48b9a077881c338de, type: 2} +--- !u!4 &757480808 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 757480806} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.2951696, y: -6.3562956, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2054050160} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &789417697 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 789417699} + - component: {fileID: 789417698} + m_Layer: 0 + m_Name: blueBlob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &789417698 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 789417697} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -20 + m_Sprite: {fileID: 21300000, guid: a6d7486e588f0ff4caed88a7356f3fd3, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &789417699 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 789417697} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.17255121, y: -1.9130287, z: 0} + m_LocalScale: {x: 0.14285715, y: 0.116279066, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 60479301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &837634408 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 837634409} + - component: {fileID: 837634413} + - component: {fileID: 837634412} + - component: {fileID: 837634411} + - component: {fileID: 837634410} + m_Layer: 9 + m_Name: BrownBlob + m_TagString: Blob + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &837634409 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837634408} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.18, y: -13.7, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1959031576} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &837634410 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837634408} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbf57392da360e54eb4a6ce326dc9067, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MinBounceTime: 2 + m_MaxBounceTime: 4 + m_MinJumpForce: 1000 + m_MaxJumpForce: 2000 + m_MinJumpVector: {x: -0.1, y: 1} + m_MaxJumpVector: {x: 0.1, y: 1} + m_GroundLayer: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &837634411 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837634408} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 0 + m_FreeModeBodyPositions: [] + m_FreeModeBodyRadii: [] + m_FreeModeBodyKinematic: + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 1 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 0 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.211 + m_DistanceExponent: 3 + m_Stiffness: 1 + m_Mass: 1 + m_LockRotation: 1 + m_GravityScale: 5 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.05 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 0 + m_SoftBodyScale: {x: 1, y: 0.3} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: 0, y: 0} + m_CentralBodyOffset: {x: 0, y: 0} + m_SpriteScale: {x: 4.34, y: 3} + m_2DMode: 1 + m_AttachNeighbors: 0 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 1 + m_AttachPoints: + - {fileID: 1959031576} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: 4dd6972387fb3204fab22bc3c4cb3a8e, type: 3} +--- !u!23 &837634412 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837634408} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 1582710031} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 70 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &837634413 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 837634408} + m_Mesh: {fileID: 1824436919} +--- !u!1 &854679781 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 854679783} + - component: {fileID: 854679782} + m_Layer: 0 + m_Name: WallRearRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &854679782 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854679781} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -200 + m_Sprite: {fileID: 21300000, guid: 60b1ed3f309acf44ead2b73f9afa3b4f, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &854679783 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854679781} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 47.410965, y: 10.208365, z: 0} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &916580377 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 916580378} + - component: {fileID: 916580380} + - component: {fileID: 916580379} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &916580378 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916580377} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: -0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.13254166, y: 2.8983924, z: 0.42} + m_LocalScale: {x: 3.1573718, y: 3.1573703, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 318357708} + - {fileID: 1316449345} + m_Father: {fileID: 280670254} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &916580379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916580377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8226ec8bfb3372142a457c0d9db860e5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClosedSprite: {fileID: 21300000, guid: 50c1f56eb7b384d469163cce60034942, type: 3} + m_OpenSprite: {fileID: 21300000, guid: dcc2061f431d4bf45a8c22bb725b92ea, type: 3} + m_MinBlinkInterval: 2 + m_MaxBlinkInterval: 3 + m_MinBlinkTime: 0.1 + m_MaxBlinkTime: 0.15 + m_PupilLeft: {fileID: 1316449343} + m_PupilRight: {fileID: 318357707} + m_EyeRadius: 0.15 +--- !u!212 &916580380 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916580377} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -13 + m_Sprite: {fileID: 21300000, guid: dcc2061f431d4bf45a8c22bb725b92ea, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &923265733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 923265734} + - component: {fileID: 923265738} + - component: {fileID: 923265737} + - component: {fileID: 923265736} + - component: {fileID: 923265735} + m_Layer: 9 + m_Name: BlueBlob + m_TagString: Blob + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &923265734 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 923265733} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 33.6, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 363049083} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &923265735 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 923265733} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbf57392da360e54eb4a6ce326dc9067, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MinBounceTime: 2 + m_MaxBounceTime: 4 + m_MinJumpForce: 2000 + m_MaxJumpForce: 3000 + m_MinJumpVector: {x: -0.5, y: 1} + m_MaxJumpVector: {x: 0.5, y: 1} + m_GroundLayer: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &923265736 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 923265733} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 1 + m_FreeModeBodyPositions: [] + m_FreeModeBodyRadii: [] + m_FreeModeBodyKinematic: + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 1 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 0 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.25 + m_DistanceExponent: 2 + m_Stiffness: 1 + m_Mass: 1 + m_LockRotation: 1 + m_GravityScale: 5 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.05 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 0 + m_SoftBodyScale: {x: 0.65, y: 0.66} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: 0, y: 0} + m_CentralBodyOffset: {x: 0, y: 0} + m_SpriteScale: {x: 2, y: 2} + m_2DMode: 1 + m_AttachNeighbors: 0 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 1 + m_AttachPoints: + - {fileID: 363049083} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: a6d7486e588f0ff4caed88a7356f3fd3, type: 3} +--- !u!23 &923265737 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 923265733} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 536582840} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &923265738 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 923265733} + m_Mesh: {fileID: 152024595} +--- !u!1 &978803279 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 978803280} + - component: {fileID: 978803281} + m_Layer: 0 + m_Name: PupilLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &978803280 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 978803279} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: -0.36067754, y: -0.020874834, z: -0.42} + m_LocalScale: {x: 0.6, y: 0.6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1523745688} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &978803281 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 978803279} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 42 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &990942472 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 990942474} + - component: {fileID: 990942473} + m_Layer: 0 + m_Name: brownBlob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &990942473 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990942472} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -20 + m_Sprite: {fileID: 21300000, guid: 4dd6972387fb3204fab22bc3c4cb3a8e, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &990942474 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 990942472} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.6066917, y: -1.9228797, z: 0} + m_LocalScale: {x: 0.14285715, y: 0.116279066, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 60479301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!43 &1015093777 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: JellySprite Mesh + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 720 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 120 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 5.2799997, y: 4.56, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000b000a0000000b00010002000c000b0001000c00020003000d000c0002000d00030004000e000d0003000e00040005000f000e0004000f000500060010000f00050010000600070011001000060011000700080012001100070012000800090013001200080013000a000b00150014000a0015000b000c00160015000b0016000c000d00170016000c0017000d000e00180017000d0018000e000f00190018000e0019000f0010001a0019000f001a00100011001b001a0010001b00110012001c001b0011001c00120013001d001c0012001d00140015001f001e0014001f001500160020001f001500200016001700210020001600210017001800220021001700220018001900230022001800230019001a0024002300190024001a001b00250024001a0025001b001c00260025001b0026001c001d00270026001c0027001e001f00290028001e0029001f0020002a0029001f002a00200021002b002a0020002b00210022002c002b0021002c00220023002d002c0022002d00230024002e002d0023002e00240025002f002e0024002f002500260030002f002500300026002700310030002600310028002900330032002800330029002a0034003300290034002a002b00350034002a0035002b002c00360035002b0036002c002d00370036002c0037002d002e00380037002d0038002e002f00390038002e0039002f0030003a0039002f003a00300031003b003a0030003b00320033003d003c0032003d00330034003e003d0033003e00340035003f003e0034003f003500360040003f003500400036003700410040003600410037003800420041003700420038003900430042003800430039003a0044004300390044003a003b00450044003a0045003c003d00470046003c0047003d003e00480047003d0048003e003f00490048003e0049003f0040004a0049003f004a00400041004b004a0040004b00410042004c004b0041004c00420043004d004c0042004d00430044004e004d0043004e00440045004f004e0044004f0046004700510050004600510047004800520051004700520048004900530052004800530049004a0054005300490054004a004b00550054004a0055004b004c00560055004b0056004c004d00570056004c0057004d004e00580057004d0058004e004f00590058004e005900500051005b005a0050005b00510052005c005b0051005c00520053005d005c0052005d00530054005e005d0053005e00540055005f005e0054005f005500560060005f00550060005600570061006000560061005700580062006100570062005800590063006200580063005a005b00650064005a0065005b005c00660065005b0066005c005d00670066005c0067005d005e00680067005d0068005e005f00690068005e0069005f0060006a0069005f006a00600061006b006a0060006b00610062006c006b0061006c00620063006d006c0062006d00640065006f006e0064006f006500660070006f006500700066006700710070006600710067006800720071006700720068006900730072006800730069006a0074007300690074006a006b00750074006a0075006b006c00760075006b0076006c006d00770076006c007700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 120 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 5760 + _typelessdata: c2f5a8c085eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000000000000000c2f5a8c096fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398ee33dc2f5a8c0222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398e633ec2f5a8c05c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaaaa3ec2f5a8c0e8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398ee33ec2f5a8c0e8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000e4380e3fc2f5a8c05c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaa2a3fc2f5a8c022222240000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000721c473fc2f5a8c096fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398e633fc2f5a8c085eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000000000803f703d8ac085eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d00000000703d8ac096fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d398ee33d703d8ac0222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d398e633e703d8ac05c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3dabaaaa3e703d8ac0e8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d398ee33e703d8ac0e8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3de4380e3f703d8ac05c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3dabaa2a3f703d8ac022222240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d721c473f703d8ac096fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d398e633f703d8ac085eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3d0000803f3d0a57c085eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3e000000003d0a57c096fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3e398ee33d3d0a57c0222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3e398e633e3d0a57c05c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3eabaaaa3e3d0a57c0e8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3e398ee33e3d0a57c0e8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3ee4380e3f3d0a57c05c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3eabaa2a3f3d0a57c022222240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3e721c473f3d0a57c096fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3e398e633f3d0a57c085eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3e0000803f999919c085eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e00000000999919c096fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e398ee33d999919c0222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e398e633e999919c05c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3eabaaaa3e999919c0e8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e398ee33e999919c0e8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3ee4380e3f999919c05c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3eabaa2a3f999919c022222240000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e721c473f999919c096fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e398e633f999919c085eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a28b3e0000803feb51b8bf85eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e00000000eb51b8bf96fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e398ee33deb51b8bf222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e398e633eeb51b8bf5c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3eabaaaa3eeb51b8bfe8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e398ee33eeb51b8bfe8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3ee4380e3feb51b8bf5c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3eabaa2a3feb51b8bf22222240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e721c473feb51b8bf96fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e398e633feb51b8bf85eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2eba3e0000803f8fc2f5be85eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e000000008fc2f5be96fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e398ee33d8fc2f5be222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e398e633e8fc2f5be5c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83eabaaaa3e8fc2f5bee8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e398ee33e8fc2f5bee8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83ee4380e3f8fc2f5be5c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83eabaa2a3f8fc2f5be22222240000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e721c473f8fc2f5be96fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e398e633f8fc2f5be85eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fbae83e0000803f8fc2f53e85eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f000000008fc2f53e96fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f398ee33d8fc2f53e222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f398e633e8fc2f53e5c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3fabaaaa3e8fc2f53ee8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f398ee33e8fc2f53ee8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3fe4380e3f8fc2f53e5c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3fabaa2a3f8fc2f53e22222240000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f721c473f8fc2f53e96fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f398e633f8fc2f53e85eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803fe9a20b3f0000803feb51b83f85eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f00000000eb51b83f96fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f398ee33deb51b83f222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f398e633eeb51b83f5c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223fabaaaa3eeb51b83fe8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f398ee33eeb51b83fe8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223fe4380e3feb51b83f5c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223fabaa2a3feb51b83f22222240000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f721c473feb51b83f96fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f398e633feb51b83f85eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803fbae8223f0000803f9999194085eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3f000000009999194096fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3f398ee33d99991940222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3f398e633e999919405c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3fabaaaa3e99991940e8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3f398ee33e99991940e8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3fe4380e3f999919405c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3fabaa2a3f9999194022222240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3f721c473f9999194096fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3f398e633f9999194085eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803f8c2e3a3f0000803f3d0a574085eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f000000003d0a574096fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f398ee33d3d0a5740222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f398e633e3d0a57405c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513fabaaaa3e3d0a5740e8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f398ee33e3d0a5740e8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513fe4380e3f3d0a57405c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513fabaa2a3f3d0a574022222240000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f721c473f3d0a574096fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f398e633f3d0a574085eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803f5d74513f0000803f703d8a4085eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f00000000703d8a4096fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f398ee33d703d8a40222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f398e633e703d8a405c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683fabaaaa3e703d8a40e8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f398ee33e703d8a40e8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683fe4380e3f703d8a405c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683fabaa2a3f703d8a4022222240000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f721c473f703d8a4096fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f398e633f703d8a4085eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803f2fba683f0000803fc2f5a84085eb91c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f00000000c2f5a84096fc62c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398ee33dc2f5a840222222c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398e633ec2f5a8405c8fc2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaaaa3ec2f5a840e8b401bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398ee33ec2f5a840e8b4013f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fe4380e3fc2f5a8405c8fc23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaa2a3fc2f5a84022222240000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f721c473fc2f5a84096fc6240000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398e633fc2f5a84085eb9140000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f0000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 5.2799997, y: 4.56, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: -1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!1 &1038706885 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1038706887} + - component: {fileID: 1038706886} + m_Layer: 0 + m_Name: pinkBlob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1038706886 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038706885} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -20 + m_Sprite: {fileID: 21300000, guid: 53f949e5141cb0247b4a5b89de21b524, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1038706887 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038706885} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.7781512, y: -1.900298, z: 0} + m_LocalScale: {x: 0.14285715, y: 0.116279066, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 60479301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!43 &1075563218 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: JellySprite Mesh + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 900 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 150 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 2.2951, y: 3.32, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 0000010010000f000000100001000200110010000100110002000300120011000200120003000400130012000300130004000500140013000400140005000600150014000500150006000700160015000600160007000800170016000700170008000900180017000800180009000a0019001800090019000a000b001a0019000a001a000b000c001b001a000b001b000c000d001c001b000c001c000d000e001d001c000d001d000f0010001f001e000f001f001000110020001f001000200011001200210020001100210012001300220021001200220013001400230022001300230014001500240023001400240015001600250024001500250016001700260025001600260017001800270026001700270018001900280027001800280019001a0029002800190029001a001b002a0029001a002a001b001c002b002a001b002b001c001d002c002b001c002c001e001f002e002d001e002e001f0020002f002e001f002f002000210030002f002000300021002200310030002100310022002300320031002200320023002400330032002300330024002500340033002400340025002600350034002500350026002700360035002600360027002800370036002700370028002900380037002800380029002a0039003800290039002a002b003a0039002a003a002b002c003b003a002b003b002d002e003d003c002d003d002e002f003e003d002e003e002f0030003f003e002f003f003000310040003f003000400031003200410040003100410032003300420041003200420033003400430042003300430034003500440043003400440035003600450044003500450036003700460045003600460037003800470046003700470038003900480047003800480039003a0049004800390049003a003b004a0049003a004a003c003d004c004b003c004c003d003e004d004c003d004d003e003f004e004d003e004e003f0040004f004e003f004f004000410050004f004000500041004200510050004100510042004300520051004200520043004400530052004300530044004500540053004400540045004600550054004500550046004700560055004600560047004800570056004700570048004900580057004800580049004a0059005800490059004b004c005b005a004b005b004c004d005c005b004c005c004d004e005d005c004d005d004e004f005e005d004e005e004f0050005f005e004f005f005000510060005f00500060005100520061006000510061005200530062006100520062005300540063006200530063005400550064006300540064005500560065006400550065005600570066006500560066005700580067006600570067005800590068006700580068005a005b006a0069005a006a005b005c006b006a005b006b005c005d006c006b005c006c005d005e006d006c005d006d005e005f006e006d005e006e005f0060006f006e005f006f006000610070006f006000700061006200710070006100710062006300720071006200720063006400730072006300730064006500740073006400740065006600750074006500750066006700760075006600760067006800770076006700770069006a0079007800690079006a006b007a0079006a007a006b006c007b007a006b007b006c006d007c007b006c007c006d006e007d007c006d007d006e006f007e007d006e007e006f0070007f007e006f007f007000710080007f007000800071007200810080007100810072007300820081007200820073007400830082007300830074007500840083007400840075007600850084007500850076007700860085007600860078007900880087007800880079007a0089008800790089007a007b008a0089007a008a007b007c008b008a007b008b007c007d008c008b007c008c007d007e008d008c007d008d007e007f008e008d007e008e007f0080008f008e007f008f008000810090008f0080009000810082009100900081009100820083009200910082009200830084009300920083009300840085009400930084009400850086009500940085009500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 150 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 7200 + _typelessdata: ebe212c0e17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000000000000000ebe212c02f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000002549923debe212c07cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000002549123eebe212c093d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000b76d5b3eebe212c02f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000002549923eebe212c093d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000006edbb63eebe212c093d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000b76ddb3eebe212c000000000000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000000000003febe212c093d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000002549123febe212c093d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000004992243febe212c02f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000006edb363febe212c093d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000009224493febe212c07cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000b76d5b3febe212c02f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000dbb66d3febe212c0e17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000000000803f6e7de4bfe17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d000000006e7de4bf2f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d2549923d6e7de4bf7cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d2549123e6e7de4bf93d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33db76d5b3e6e7de4bf2f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d2549923e6e7de4bf93d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d6edbb63e6e7de4bf93d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33db76ddb3e6e7de4bf00000000000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d0000003f6e7de4bf93d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d2549123f6e7de4bf93d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d4992243f6e7de4bf2f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d6edb363f6e7de4bf93d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d9224493f6e7de4bf7cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33db76d5b3f6e7de4bf2f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33ddbb66d3f6e7de4bfe17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33d0000803f0535a3bfe17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e000000000535a3bf2f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e2549923d0535a3bf7cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e2549123e0535a3bf93d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633eb76d5b3e0535a3bf2f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e2549923e0535a3bf93d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e6edbb63e0535a3bf93d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633eb76ddb3e0535a3bf00000000000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e0000003f0535a3bf93d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e2549123f0535a3bf93d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e4992243f0535a3bf2f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e6edb363f0535a3bf93d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e9224493f0535a3bf7cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633eb76d5b3f0535a3bf2f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633edbb66d3f0535a3bfe17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633e0000803f39d943bfe17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e0000000039d943bf2f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e2549923d39d943bf7cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e2549123e39d943bf93d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3eb76d5b3e39d943bf2f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e2549923e39d943bf93d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e6edbb63e39d943bf93d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3eb76ddb3e39d943bf00000000000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e0000003f39d943bf93d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e2549123f39d943bf93d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e4992243f39d943bf2f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e6edb363f39d943bf93d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e9224493f39d943bf7cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3eb76d5b3f39d943bf2f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3edbb66d3f39d943bfe17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e0000803fd19082bee17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e00000000d19082be2f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e2549923dd19082be7cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e2549123ed19082be93d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33eb76d5b3ed19082be2f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e2549923ed19082be93d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e6edbb63ed19082be93d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33eb76ddb3ed19082be00000000000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e0000003fd19082be93d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e2549123fd19082be93d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e4992243fd19082be2f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e6edb363fd19082be93d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e9224493fd19082be7cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33eb76d5b3fd19082be2f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33edbb66d3fd19082bee17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803f398ee33e0000803fd190823ee17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f00000000d190823e2f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f2549923dd190823e7cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f2549123ed190823e93d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3fb76d5b3ed190823e2f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f2549923ed190823e93d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f6edbb63ed190823e93d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3fb76ddb3ed190823e00000000000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f0000003fd190823e93d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f2549123fd190823e93d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f4992243fd190823e2f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f6edb363fd190823e93d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f9224493fd190823e7cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3fb76d5b3fd190823e2f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3fdbb66d3fd190823ee17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803fe4380e3f0000803f39d9433fe17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f0000000039d9433f2f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f2549923d39d9433f7cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f2549123e39d9433f93d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3fb76d5b3e39d9433f2f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f2549923e39d9433f93d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f6edbb63e39d9433f93d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3fb76ddb3e39d9433f00000000000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f0000003f39d9433f93d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f2549123f39d9433f93d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f4992243f39d9433f2f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f6edb363f39d9433f93d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f9224493f39d9433f7cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3fb76d5b3f39d9433f2f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3fdbb66d3f39d9433fe17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f0000803f0535a33fe17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f000000000535a33f2f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f2549923d0535a33f7cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f2549123e0535a33f93d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473fb76d5b3e0535a33f2f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f2549923e0535a33f93d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f6edbb63e0535a33f93d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473fb76ddb3e0535a33f00000000000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f0000003f0535a33f93d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f2549123f0535a33f93d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f4992243f0535a33f2f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f6edb363f0535a33f93d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f9224493f0535a33f7cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473fb76d5b3f0535a33f2f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473fdbb66d3f0535a33fe17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803f721c473f0000803f6e7de43fe17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f000000006e7de43f2f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f2549923d6e7de43f7cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f2549123e6e7de43f93d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633fb76d5b3e6e7de43f2f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f2549923e6e7de43f93d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f6edbb63e6e7de43f93d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633fb76ddb3e6e7de43f00000000000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f0000003f6e7de43f93d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f2549123f6e7de43f93d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f4992243f6e7de43f2f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f6edb363f6e7de43f93d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f9224493f6e7de43f7cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633fb76d5b3f6e7de43f2f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633fdbb66d3f6e7de43fe17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803f398e633f0000803febe21240e17a54c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f00000000ebe212402f2036c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f2549923debe212407cc517c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f2549123eebe2124093d5f2bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fb76d5b3eebe212402f20b6bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f2549923eebe2124093d572bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f6edbb63eebe2124093d5f2be000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fb76ddb3eebe2124000000000000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f0000003febe2124093d5f23e000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f2549123febe2124093d5723f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f4992243febe212402f20b63f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f6edb363febe2124093d5f23f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f9224493febe212407cc51740000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fb76d5b3febe212402f203640000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fdbb66d3febe21240e17a5440000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f0000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 2.2951, y: 3.32, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: -1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!1 &1116066773 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1116066775} + - component: {fileID: 1116066774} + m_Layer: 0 + m_Name: WallRearLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1116066774 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116066773} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -200 + m_Sprite: {fileID: 21300000, guid: 5defc05ee24247447815e7ce724961fe, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1116066775 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116066773} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -17.736883, y: 10.208365, z: 0} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1310790019 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1310790020} + - component: {fileID: 1310790021} + m_Layer: 0 + m_Name: PupilRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1310790020 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310790019} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.36622834, y: 0.008064988, z: -0.42} + m_LocalScale: {x: 0.6, y: 0.6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 754680098} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1310790021 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1310790019} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 12 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1316449343 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1316449345} + - component: {fileID: 1316449344} + m_Layer: 0 + m_Name: PupilLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1316449344 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1316449343} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -12 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1316449345 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1316449343} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: -0.4522296, y: -0.08008138, z: -0.42} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 916580378} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1463178240 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1463178242} + - component: {fileID: 1463178241} + m_Layer: 0 + m_Name: orangeBlob + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1463178241 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463178240} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -20 + m_Sprite: {fileID: 21300000, guid: 1bf823ed97bd0aa4e94356b09546f889, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1463178242 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463178240} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.4136355, y: -1.9169341, z: 0} + m_LocalScale: {x: 0.14285715, y: 0.116279066, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 60479301} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1466140982 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1466140986} + - component: {fileID: 1466140985} + - component: {fileID: 1466140984} + - component: {fileID: 1466140983} + - component: {fileID: 1466140987} + m_Layer: 9 + m_Name: OrangeBlob + m_TagString: Blob + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1466140983 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 0 + m_FreeModeBodyPositions: [] + m_FreeModeBodyRadii: [] + m_FreeModeBodyKinematic: + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 1 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 0 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.138 + m_DistanceExponent: 2 + m_Stiffness: 1 + m_Mass: 1 + m_LockRotation: 1 + m_GravityScale: 5 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.05 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 0 + m_SoftBodyScale: {x: 1, y: 0.77} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: 0, y: 0} + m_CentralBodyOffset: {x: 0, y: 0} + m_SpriteScale: {x: 3, y: 3} + m_2DMode: 1 + m_AttachNeighbors: 0 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 1 + m_AttachPoints: + - {fileID: 1523745688} + - {fileID: 1748863279} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: 1bf823ed97bd0aa4e94356b09546f889, type: 3} +--- !u!23 &1466140984 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 99535627} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 40 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1466140985 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + m_Mesh: {fileID: 1649317257} +--- !u!4 &1466140986 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -17.552156, y: -14.07674, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1523745688} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1466140987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbf57392da360e54eb4a6ce326dc9067, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MinBounceTime: 2 + m_MaxBounceTime: 4 + m_MinJumpForce: 1000 + m_MaxJumpForce: 2000 + m_MinJumpVector: {x: -0.1, y: 1} + m_MaxJumpVector: {x: 0.1, y: 1} + m_GroundLayer: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &1523745687 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1523745688} + - component: {fileID: 1523745690} + - component: {fileID: 1523745689} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1523745688 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523745687} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: -0.023036309, w: 0.99973464} + m_LocalPosition: {x: 0.2646637, y: 5.393994, z: 0.42} + m_LocalScale: {x: 7.5, y: 7.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1524051873} + - {fileID: 978803280} + m_Father: {fileID: 1466140986} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1523745689 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523745687} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8226ec8bfb3372142a457c0d9db860e5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClosedSprite: {fileID: 21300000, guid: a62fb5d445fae3745be11a48c8b82668, type: 3} + m_OpenSprite: {fileID: 21300000, guid: 12ca02a3e2ab3d94293f3d07a9e96c90, type: 3} + m_MinBlinkInterval: 2 + m_MaxBlinkInterval: 3 + m_MinBlinkTime: 0.1 + m_MaxBlinkTime: 0.15 + m_PupilLeft: {fileID: 978803279} + m_PupilRight: {fileID: 1524051872} + m_EyeRadius: 0.1 +--- !u!212 &1523745690 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523745687} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 41 + m_Sprite: {fileID: 21300000, guid: 12ca02a3e2ab3d94293f3d07a9e96c90, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1524051872 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1524051873} + - component: {fileID: 1524051874} + m_Layer: 0 + m_Name: PupilRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1524051873 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1524051872} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.37617433, y: 0.018596334, z: -0.42} + m_LocalScale: {x: 0.6, y: 0.6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1523745688} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1524051874 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1524051872} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 42 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1535110576 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1535110577} + - component: {fileID: 1535110578} + m_Layer: 0 + m_Name: PupilLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1535110577 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535110576} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: -0.41560978, y: -0.08617924, z: -0.42} + m_LocalScale: {x: 0.6, y: 0.6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1959031576} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1535110578 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535110576} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 72 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!21 &1558426689 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: whiteBlob_Jelly + m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: 4082ddc36f76b29448f8195b68fa5456, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!21 &1582710031 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: brownBlob_Jelly + m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: 4dd6972387fb3204fab22bc3c4cb3a8e, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!1 &1625896590 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1625896591} + - component: {fileID: 1625896593} + - component: {fileID: 1625896592} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1625896591 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1625896590} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: -0.09002422, w: 0.9959396} + m_LocalPosition: {x: 0.018871307, y: 4.4723244, z: 0.42} + m_LocalScale: {x: 3, y: 3, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 383578001} + - {fileID: 438294523} + m_Father: {fileID: 1803190077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1625896592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1625896590} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8226ec8bfb3372142a457c0d9db860e5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClosedSprite: {fileID: 21300000, guid: 7b3fd9ab033015a4f87d028f155b181c, type: 3} + m_OpenSprite: {fileID: 21300000, guid: 8669fe48da4d3e9458e5291d1362dd8a, type: 3} + m_MinBlinkInterval: 2 + m_MaxBlinkInterval: 3 + m_MinBlinkTime: 0.1 + m_MaxBlinkTime: 0.15 + m_PupilLeft: {fileID: 438294521} + m_PupilRight: {fileID: 383578000} + m_EyeRadius: 0.12 +--- !u!212 &1625896593 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1625896590} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 21 + m_Sprite: {fileID: 21300000, guid: 8669fe48da4d3e9458e5291d1362dd8a, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1639469094 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1639469095} + - component: {fileID: 1639469096} + m_Layer: 0 + m_Name: PupilLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1639469095 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639469094} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.07542732, w: 0.9971513} + m_LocalPosition: {x: -0.4768833, y: -0.16964564, z: -0.42} + m_LocalScale: {x: 2, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 351323419} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1639469096 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1639469094} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 22 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!43 &1649317257 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: JellySprite Mesh + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 660 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 110 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 6.4800005, y: 5.895, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000b000a0000000b00010002000c000b0001000c00020003000d000c0002000d00030004000e000d0003000e00040005000f000e0004000f000500060010000f00050010000600070011001000060011000700080012001100070012000800090013001200080013000a000b00150014000a0015000b000c00160015000b0016000c000d00170016000c0017000d000e00180017000d0018000e000f00190018000e0019000f0010001a0019000f001a00100011001b001a0010001b00110012001c001b0011001c00120013001d001c0012001d00140015001f001e0014001f001500160020001f001500200016001700210020001600210017001800220021001700220018001900230022001800230019001a0024002300190024001a001b00250024001a0025001b001c00260025001b0026001c001d00270026001c0027001e001f00290028001e0029001f0020002a0029001f002a00200021002b002a0020002b00210022002c002b0021002c00220023002d002c0022002d00230024002e002d0023002e00240025002f002e0024002f002500260030002f002500300026002700310030002600310028002900330032002800330029002a0034003300290034002a002b00350034002a0035002b002c00360035002b0036002c002d00370036002c0037002d002e00380037002d0038002e002f00390038002e0039002f0030003a0039002f003a00300031003b003a0030003b00320033003d003c0032003d00330034003e003d0033003e00340035003f003e0034003f003500360040003f003500400036003700410040003600410037003800420041003700420038003900430042003800430039003a0044004300390044003a003b00450044003a0045003c003d00470046003c0047003d003e00480047003d0048003e003f00490048003e0049003f0040004a0049003f004a00400041004b004a0040004b00410042004c004b0041004c00420043004d004c0042004d00430044004e004d0043004e00440045004f004e0044004f0046004700510050004600510047004800520051004700520048004900530052004800530049004a0054005300490054004a004b00550054004a0055004b004c00560055004b0056004c004d00570056004c0057004d004e00580057004d0058004e004f00590058004e005900500051005b005a0050005b00510052005c005b0051005c00520053005d005c0052005d00530054005e005d0053005e00540055005f005e0054005f005500560060005f00550060005600570061006000560061005700580062006100570062005800590063006200580063005a005b00650064005a0065005b005c00660065005b0066005c005d00670066005c0067005d005e00680067005d0068005e005f00690068005e0069005f0060006a0069005f006a00600061006b006a0060006b00610062006c006b0061006c00620063006d006c0062006d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 110 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 5280 + _typelessdata: 2a5ccfc0d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000000000002a5ccfc052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f00000000398ee33d2a5ccfc09a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398e633e2a5ccfc01f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaaaa3e2a5ccfc014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398ee33e2a5ccfc014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000e4380e3f2a5ccfc01f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaa2a3f2a5ccfc09a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000721c473f2a5ccfc052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f00000000398e633f2a5ccfc0d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000000000803f55e3a5c0d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d0000000055e3a5c052b892c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398ee33d55e3a5c09a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398e633e55e3a5c01f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3dabaaaa3e55e3a5c014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398ee33e55e3a5c014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3de4380e3f55e3a5c01f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3dabaa2a3f55e3a5c09a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d721c473f55e3a5c052b89240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398e633f55e3a5c0d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d0000803fffd478c0d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e00000000ffd478c052b892c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398ee33dffd478c09a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398e633effd478c01f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3eabaaaa3effd478c014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398ee33effd478c014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3ee4380e3fffd478c01f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3eabaa2a3fffd478c09a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e721c473fffd478c052b89240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398e633fffd478c0d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e0000803f55e325c0d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993e0000000055e325c052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e398ee33d55e325c09a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993e398e633e55e325c01f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993eabaaaa3e55e325c014ae27bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e398ee33e55e325c014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993ee4380e3f55e325c01f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993eabaa2a3f55e325c09a995140000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e721c473f55e325c052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e398e633f55e325c0d7a3bc40000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e0000803f55e3a5bfd7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e0000000055e3a5bf52b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398ee33d55e3a5bf9a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e398e633e55e3a5bf1f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3eabaaaa3e55e3a5bf14ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e398ee33e55e3a5bf14ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3ee4380e3f55e3a5bf1f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3eabaa2a3f55e3a5bf9a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e721c473f55e3a5bf52b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398e633f55e3a5bfd7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e0000803f00000000d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f000000000000000052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000003f398ee33d000000009a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f398e633e000000001f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003fabaaaa3e0000000014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f398ee33e0000000014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003fe4380e3f000000001f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003fabaa2a3f000000009a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f721c473f0000000052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000003f398e633f00000000d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f0000803f55e3a53fd7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f0000000055e3a53f52b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99193f398ee33d55e3a53f9a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398e633e55e3a53f1f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fabaaaa3e55e3a53f14ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398ee33e55e3a53f14ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fe4380e3f55e3a53f1f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fabaa2a3f55e3a53f9a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f721c473f55e3a53f52b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99193f398e633f55e3a53fd7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f0000803f55e32540d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f0000000055e3254052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333f398ee33d55e325409a9951c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333f398e633e55e325401f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333fabaaaa3e55e3254014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f398ee33e55e3254014ae273f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333fe4380e3f55e325401f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333fabaa2a3f55e325409a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f721c473f55e3254052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333f398e633f55e32540d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f0000803fffd47840d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f00000000ffd4784052b892c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398ee33dffd478409a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398e633effd478401f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fabaaaa3effd4784014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398ee33effd4784014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fe4380e3fffd478401f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fabaa2a3fffd478409a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f721c473fffd4784052b89240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398e633fffd47840d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f0000803f55e3a540d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f0000000055e3a54052b892c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398ee33d55e3a5409a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398e633e55e3a5401f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663fabaaaa3e55e3a54014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398ee33e55e3a54014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663fe4380e3f55e3a5401f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663fabaa2a3f55e3a5409a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f721c473f55e3a54052b89240000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398e633f55e3a540d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f0000803f2a5ccf40d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f000000002a5ccf4052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803f398ee33d2a5ccf409a9951c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803f398e633e2a5ccf401f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaaaa3e2a5ccf4014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398ee33e2a5ccf4014ae273f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803fe4380e3f2a5ccf401f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaa2a3f2a5ccf409a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f721c473f2a5ccf4052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803f398e633f2a5ccf40d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f0000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 6.4800005, y: 5.895, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: -1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!1 &1656601138 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1656601139} + - component: {fileID: 1656601141} + - component: {fileID: 1656601140} + m_Layer: 0 + m_Name: Roof + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1656601139 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1656601138} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 12.407356, y: 29.877823, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1656601140 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1656601138} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 115.62, y: 1} + m_EdgeRadius: 0 +--- !u!50 &1656601141 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1656601138} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!43 &1717460088 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: JellySprite Mesh + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 660 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 110 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 3.2400002, y: 2.9475, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000b000a0000000b00010002000c000b0001000c00020003000d000c0002000d00030004000e000d0003000e00040005000f000e0004000f000500060010000f00050010000600070011001000060011000700080012001100070012000800090013001200080013000a000b00150014000a0015000b000c00160015000b0016000c000d00170016000c0017000d000e00180017000d0018000e000f00190018000e0019000f0010001a0019000f001a00100011001b001a0010001b00110012001c001b0011001c00120013001d001c0012001d00140015001f001e0014001f001500160020001f001500200016001700210020001600210017001800220021001700220018001900230022001800230019001a0024002300190024001a001b00250024001a0025001b001c00260025001b0026001c001d00270026001c0027001e001f00290028001e0029001f0020002a0029001f002a00200021002b002a0020002b00210022002c002b0021002c00220023002d002c0022002d00230024002e002d0023002e00240025002f002e0024002f002500260030002f002500300026002700310030002600310028002900330032002800330029002a0034003300290034002a002b00350034002a0035002b002c00360035002b0036002c002d00370036002c0037002d002e00380037002d0038002e002f00390038002e0039002f0030003a0039002f003a00300031003b003a0030003b00320033003d003c0032003d00330034003e003d0033003e00340035003f003e0034003f003500360040003f003500400036003700410040003600410037003800420041003700420038003900430042003800430039003a0044004300390044003a003b00450044003a0045003c003d00470046003c0047003d003e00480047003d0048003e003f00490048003e0049003f0040004a0049003f004a00400041004b004a0040004b00410042004c004b0041004c00420043004d004c0042004d00430044004e004d0043004e00440045004f004e0044004f0046004700510050004600510047004800520051004700520048004900530052004800530049004a0054005300490054004a004b00550054004a0055004b004c00560055004b0056004c004d00570056004c0057004d004e00580057004d0058004e004f00590058004e005900500051005b005a0050005b00510052005c005b0051005c00520053005d005c0052005d00530054005e005d0053005e00540055005f005e0054005f005500560060005f00550060005600570061006000560061005700580062006100570062005800590063006200580063005a005b00650064005a0065005b005c00660065005b0066005c005d00670066005c0067005d005e00680067005d0068005e005f00690068005e0069005f0060006a0069005f006a00600061006b006a0060006b00610062006c006b0061006c00620063006d006c0062006d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 110 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 5280 + _typelessdata: 2a5c4fc0d7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000000000002a5c4fc052b812c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f00000000398ee33d2a5c4fc09a99d1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398e633e2a5c4fc01f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaaaa3e2a5c4fc014aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398ee33e2a5c4fc014aea73e000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000e4380e3f2a5c4fc01f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaa2a3f2a5c4fc09a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000721c473f2a5c4fc052b81240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f00000000398e633f2a5c4fc0d7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000000000803f55e325c0d7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d0000000055e325c052b812c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398ee33d55e325c09a99d1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398e633e55e325c01f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3dabaaaa3e55e325c014aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398ee33e55e325c014aea73e000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3de4380e3f55e325c01f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3dabaa2a3f55e325c09a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d721c473f55e325c052b81240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398e633f55e325c0d7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d0000803fffd4f8bfd7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e00000000ffd4f8bf52b812c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398ee33dffd4f8bf9a99d1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398e633effd4f8bf1f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3eabaaaa3effd4f8bf14aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398ee33effd4f8bf14aea73e000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3ee4380e3fffd4f8bf1f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3eabaa2a3fffd4f8bf9a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e721c473fffd4f8bf52b81240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398e633fffd4f8bfd7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e0000803f55e3a5bfd7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993e0000000055e3a5bf52b812c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e398ee33d55e3a5bf9a99d1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993e398e633e55e3a5bf1f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993eabaaaa3e55e3a5bf14aea7be000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e398ee33e55e3a5bf14aea73e000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993ee4380e3f55e3a5bf1f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993eabaa2a3f55e3a5bf9a99d13f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e721c473f55e3a5bf52b81240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e398e633f55e3a5bfd7a33c40000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e0000803f55e325bfd7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e0000000055e325bf52b812c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398ee33d55e325bf9a99d1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e398e633e55e325bf1f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3eabaaaa3e55e325bf14aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e398ee33e55e325bf14aea73e000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3ee4380e3f55e325bf1f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3eabaa2a3f55e325bf9a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e721c473f55e325bf52b81240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398e633f55e325bfd7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e0000803f00000000d7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f000000000000000052b812c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000003f398ee33d000000009a99d1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f398e633e000000001f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003fabaaaa3e0000000014aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f398ee33e0000000014aea73e000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003fe4380e3f000000001f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003fabaa2a3f000000009a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f721c473f0000000052b81240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000003f398e633f00000000d7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f0000803f55e3253fd7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f0000000055e3253f52b812c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99193f398ee33d55e3253f9a99d1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398e633e55e3253f1f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fabaaaa3e55e3253f14aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398ee33e55e3253f14aea73e000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fe4380e3f55e3253f1f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fabaa2a3f55e3253f9a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f721c473f55e3253f52b81240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99193f398e633f55e3253fd7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f0000803f55e3a53fd7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f0000000055e3a53f52b812c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333f398ee33d55e3a53f9a99d1bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333f398e633e55e3a53f1f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333fabaaaa3e55e3a53f14aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f398ee33e55e3a53f14aea73e000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333fe4380e3f55e3a53f1f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333fabaa2a3f55e3a53f9a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f721c473f55e3a53f52b81240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333f398e633f55e3a53fd7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f0000803fffd4f83fd7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f00000000ffd4f83f52b812c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398ee33dffd4f83f9a99d1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398e633effd4f83f1f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fabaaaa3effd4f83f14aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398ee33effd4f83f14aea73e000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fe4380e3fffd4f83f1f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fabaa2a3fffd4f83f9a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f721c473fffd4f83f52b81240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398e633fffd4f83fd7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f0000803f55e32540d7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f0000000055e3254052b812c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398ee33d55e325409a99d1bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398e633e55e325401f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663fabaaaa3e55e3254014aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398ee33e55e3254014aea73e000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663fe4380e3f55e325401f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663fabaa2a3f55e325409a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f721c473f55e3254052b81240000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398e633f55e32540d7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f0000803f2a5c4f40d7a33cc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f000000002a5c4f4052b812c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803f398ee33d2a5c4f409a99d1bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803f398e633e2a5c4f401f857bbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaaaa3e2a5c4f4014aea7be000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398ee33e2a5c4f4014aea73e000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803fe4380e3f2a5c4f401f857b3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaa2a3f2a5c4f409a99d13f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f721c473f2a5c4f4052b81240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803f398e633f2a5c4f40d7a33c40000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f0000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 3.2400002, y: 2.9475, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: -1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!1 &1736920901 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1736920905} + - component: {fileID: 1736920904} + - component: {fileID: 1736920903} + - component: {fileID: 1736920902} + m_Layer: 0 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!61 &1736920902 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736920901} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.00000023841858, y: -0.0000009536743} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 50.06222, y: 1.76} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 49.86, y: 1.76} + m_EdgeRadius: 0 +--- !u!50 &1736920903 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736920901} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &1736920904 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736920901} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 100 + m_Sprite: {fileID: 21300000, guid: e053c7ea574825645a78a8c1db0c0723, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1736920905 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736920901} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 10.269823, y: -17.244915, z: 0} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1748863275 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1748863279} + - component: {fileID: 1748863278} + - component: {fileID: 1748863277} + - component: {fileID: 1748863276} + m_Layer: 9 + m_Name: BabyOrangeBlob + m_TagString: Blob + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1748863276 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1748863275} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 1 + m_FreeModeBodyPositions: [] + m_FreeModeBodyRadii: [] + m_FreeModeBodyKinematic: + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 1 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 0 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.25 + m_DistanceExponent: 2 + m_Stiffness: 1 + m_Mass: 1 + m_LockRotation: 1 + m_GravityScale: 5 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.05 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 0 + m_SoftBodyScale: {x: 0.66, y: 0.66} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: 0, y: 0} + m_CentralBodyOffset: {x: 0, y: 0} + m_SpriteScale: {x: 1.5, y: 1.5} + m_2DMode: 1 + m_AttachNeighbors: 0 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 1 + m_AttachPoints: + - {fileID: 754680098} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: 1bf823ed97bd0aa4e94356b09546f889, type: 3} +--- !u!23 &1748863277 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1748863275} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 99535627} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 10 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1748863278 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1748863275} + m_Mesh: {fileID: 1717460088} +--- !u!4 &1748863279 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1748863275} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -17.389809, y: -6.946686, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 754680098} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1759577228 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1759577229} + - component: {fileID: 1759577231} + - component: {fileID: 1759577230} + m_Layer: 0 + m_Name: WallLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1759577229 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1759577228} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -36.777767, y: 10.520569, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1759577230 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1759577228} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 1, y: 83.73} + m_EdgeRadius: 0 +--- !u!50 &1759577231 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1759577228} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!1 &1803190076 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1803190077} + - component: {fileID: 1803190080} + - component: {fileID: 1803190079} + - component: {fileID: 1803190078} + - component: {fileID: 1803190081} + m_Layer: 9 + m_Name: PinkBlob + m_TagString: Blob + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1803190077 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1803190076} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 10.112337, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1625896591} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1803190078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1803190076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 0 + m_FreeModeBodyPositions: + - {x: 0, y: 0, z: 0} + - {x: -15.205555, y: 3.4370236, z: 0} + - {x: -6.6940985, y: 10.389121, z: 0} + m_FreeModeBodyRadii: + - 2.2800035 + - 2.28 + - 2.1548774 + m_FreeModeBodyKinematic: 000000 + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 1 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 0 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.25 + m_DistanceExponent: 2 + m_Stiffness: 1 + m_Mass: 1 + m_LockRotation: 0 + m_GravityScale: 5 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.05 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 0 + m_SoftBodyScale: {x: 1, y: 0.77} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: 0, y: 0} + m_CentralBodyOffset: {x: 0, y: 0} + m_SpriteScale: {x: 3, y: 3} + m_2DMode: 1 + m_AttachNeighbors: 0 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 1 + m_AttachPoints: + - {fileID: 1625896591} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: 53f949e5141cb0247b4a5b89de21b524, type: 3} +--- !u!23 &1803190079 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1803190076} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2146201870} + 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 20 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1803190080 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1803190076} + m_Mesh: {fileID: 1015093777} +--- !u!114 &1803190081 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1803190076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dbf57392da360e54eb4a6ce326dc9067, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MinBounceTime: 2 + m_MaxBounceTime: 4 + m_MinJumpForce: 4000 + m_MaxJumpForce: 4000 + m_MinJumpVector: {x: -1, y: 1} + m_MaxJumpVector: {x: 1, y: 1} + m_GroundLayer: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!43 &1824436919 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: JellySprite Mesh + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 960 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 160 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 9.461201, y: 6.135, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000b000a0000000b00010002000c000b0001000c00020003000d000c0002000d00030004000e000d0003000e00040005000f000e0004000f000500060010000f00050010000600070011001000060011000700080012001100070012000800090013001200080013000a000b00150014000a0015000b000c00160015000b0016000c000d00170016000c0017000d000e00180017000d0018000e000f00190018000e0019000f0010001a0019000f001a00100011001b001a0010001b00110012001c001b0011001c00120013001d001c0012001d00140015001f001e0014001f001500160020001f001500200016001700210020001600210017001800220021001700220018001900230022001800230019001a0024002300190024001a001b00250024001a0025001b001c00260025001b0026001c001d00270026001c0027001e001f00290028001e0029001f0020002a0029001f002a00200021002b002a0020002b00210022002c002b0021002c00220023002d002c0022002d00230024002e002d0023002e00240025002f002e0024002f002500260030002f002500300026002700310030002600310028002900330032002800330029002a0034003300290034002a002b00350034002a0035002b002c00360035002b0036002c002d00370036002c0037002d002e00380037002d0038002e002f00390038002e0039002f0030003a0039002f003a00300031003b003a0030003b00320033003d003c0032003d00330034003e003d0033003e00340035003f003e0034003f003500360040003f003500400036003700410040003600410037003800420041003700420038003900430042003800430039003a0044004300390044003a003b00450044003a0045003c003d00470046003c0047003d003e00480047003d0048003e003f00490048003e0049003f0040004a0049003f004a00400041004b004a0040004b00410042004c004b0041004c00420043004d004c0042004d00430044004e004d0043004e00440045004f004e0044004f0046004700510050004600510047004800520051004700520048004900530052004800530049004a0054005300490054004a004b00550054004a0055004b004c00560055004b0056004c004d00570056004c0057004d004e00580057004d0058004e004f00590058004e005900500051005b005a0050005b00510052005c005b0051005c00520053005d005c0052005d00530054005e005d0053005e00540055005f005e0054005f005500560060005f00550060005600570061006000560061005700580062006100570062005800590063006200580063005a005b00650064005a0065005b005c00660065005b0066005c005d00670066005c0067005d005e00680067005d0068005e005f00690068005e0069005f0060006a0069005f006a00600061006b006a0060006b00610062006c006b0061006c00620063006d006c0062006d00640065006f006e0064006f006500660070006f006500700066006700710070006600710067006800720071006700720068006900730072006800730069006a0074007300690074006a006b00750074006a0075006b006c00760075006b0076006c006d00770076006c0077006e006f00790078006e0079006f0070007a0079006f007a00700071007b007a0070007b00710072007c007b0071007c00720073007d007c0072007d00730074007e007d0073007e00740075007f007e0074007f007500760080007f007500800076007700810080007600810078007900830082007800830079007a0084008300790084007a007b00850084007a0085007b007c00860085007b0086007c007d00870086007c0087007d007e00880087007d0088007e007f00890088007e0089007f0080008a0089007f008a00800081008b008a0080008b00820083008d008c0082008d00830084008e008d0083008e00840085008f008e0084008f008500860090008f008500900086008700910090008600910087008800920091008700920088008900930092008800930089008a0094009300890094008a008b00950094008a0095008c008d00970096008c0097008d008e00980097008d0098008e008f00990098008e0099008f0090009a0099008f009a00900091009b009a0090009b00910092009c009b0091009c00920093009d009c0092009d00930094009e009d0093009e00940095009f009e0094009f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 160 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 7680 + _typelessdata: 146117c1ec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000000000000000146117c17fb198c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398ee33d146117c123225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398e633e146117c148e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaaaa3e146117c1b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398ee33e146117c1b5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000e4380e3f146117c148e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaa2a3f146117c123225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000721c473f146117c17fb19840000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398e633f146117c1ec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000000000803f003203c1ec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883d00000000003203c17fb198c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883d398ee33d003203c123225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883d398e633e003203c148e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883dabaaaa3e003203c1b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883d398ee33e003203c1b5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883de4380e3f003203c148e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883dabaa2a3f003203c123225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883d721c473f003203c17fb19840000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8988883d398e633f003203c1ec51c440000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8988883d0000803fd905dec0ec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083e00000000d905dec07fb198c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083e398ee33dd905dec023225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083e398e633ed905dec048e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083eabaaaa3ed905dec0b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083e398ee33ed905dec0b5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083ee4380e3fd905dec048e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083eabaa2a3fd905dec023225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083e721c473fd905dec07fb19840000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083e398e633fd905dec0ec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083e0000803fb2a7b5c0ec51c4c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcc4c3e00000000b2a7b5c07fb198c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcc4c3e398ee33db2a7b5c023225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398e633eb2a7b5c048e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3eabaaaa3eb2a7b5c0b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398ee33eb2a7b5c0b5812e3f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcc4c3ee4380e3fb2a7b5c048e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3eabaa2a3fb2a7b5c023225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e721c473fb2a7b5c07fb19840000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcc4c3e398e633fb2a7b5c0ec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e0000803f8a498dc0ec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883e000000008a498dc07fb198c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883e398ee33d8a498dc023225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883e398e633e8a498dc048e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883eabaaaa3e8a498dc0b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883e398ee33e8a498dc0b5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883ee4380e3f8a498dc048e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883eabaa2a3f8a498dc023225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883e721c473f8a498dc07fb19840000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988883e398e633f8a498dc0ec51c440000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8988883e0000803fc5d649c0ec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e00000000c5d649c07fb198c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e398ee33dc5d649c023225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e398e633ec5d649c048e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3eabaaaa3ec5d649c0b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e398ee33ec5d649c0b5812e3f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fabaaaa3ee4380e3fc5d649c048e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3eabaa2a3fc5d649c023225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e721c473fc5d649c07fb19840000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e398e633fc5d649c0ec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaaaa3e0000803fed34f2bfec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e00000000ed34f2bf7fb198c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398ee33ded34f2bf23225ac0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398e633eed34f2bf48e102c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3eabaaaa3eed34f2bfb5812ebf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398ee33eed34f2bfb5812e3f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3ee4380e3fed34f2bf48e10240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3eabaa2a3fed34f2bf23225a40000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e721c473fed34f2bf7fb19840000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398e633fed34f2bfec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e0000803f9e7821bfec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fefeeee3e000000009e7821bf7fb198c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fefeeee3e398ee33d9e7821bf23225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803fefeeee3e398e633e9e7821bf48e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fefeeee3eabaaaa3e9e7821bfb5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803fefeeee3e398ee33e9e7821bfb5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fefeeee3ee4380e3f9e7821bf48e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803fefeeee3eabaa2a3f9e7821bf23225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803fefeeee3e721c473f9e7821bf7fb19840000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fefeeee3e398e633f9e7821bfec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803fefeeee3e0000803f9e78213fec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083f000000009e78213f7fb198c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8988083f398ee33d9e78213f23225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083f398e633e9e78213f48e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083fabaaaa3e9e78213fb5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083f398ee33e9e78213fb5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083fe4380e3f9e78213f48e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083fabaa2a3f9e78213f23225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083f721c473f9e78213f7fb19840000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f8988083f398e633f9e78213fec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803f8988083f0000803fed34f23fec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f00000000ed34f23f7fb198c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398ee33ded34f23f23225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398e633eed34f23f48e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fabaaaa3eed34f23fb5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398ee33eed34f23fb5812e3f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99193fe4380e3fed34f23f48e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fabaa2a3fed34f23f23225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f721c473fed34f23f7fb19840000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398e633fed34f23fec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f0000803fc5d64940ec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f00000000c5d649407fb198c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fabaa2a3f398ee33dc5d6494023225ac0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fabaa2a3f398e633ec5d6494048e102c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fabaa2a3fabaaaa3ec5d64940b5812ebf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fabaa2a3f398ee33ec5d64940b5812e3f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fabaa2a3fe4380e3fc5d6494048e10240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fabaa2a3fabaa2a3fc5d6494023225a40000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fabaa2a3f721c473fc5d649407fb19840000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fabaa2a3f398e633fc5d64940ec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803fabaa2a3f0000803f8a498d40ec51c4c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fbcbb3b3f000000008a498d407fb198c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fbcbb3b3f398ee33d8a498d4023225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803fbcbb3b3f398e633e8a498d4048e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fbcbb3b3fabaaaa3e8a498d40b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803fbcbb3b3f398ee33e8a498d40b5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fbcbb3b3fe4380e3f8a498d4048e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803fbcbb3b3fabaa2a3f8a498d4023225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803fbcbb3b3f721c473f8a498d407fb19840000000000000000000000000000080bf0000803f0000803f0000803f0000803fbcbb3b3f398e633f8a498d40ec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803fbcbb3b3f0000803fb2a7b540ec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f00000000b2a7b5407fb198c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398ee33db2a7b54023225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398e633eb2a7b54048e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fabaaaa3eb2a7b540b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398ee33eb2a7b540b5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fe4380e3fb2a7b54048e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fabaa2a3fb2a7b54023225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f721c473fb2a7b5407fb19840000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcc4c3f398e633fb2a7b540ec51c440000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcc4c3f0000803fd905de40ec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3f00000000d905de407fb198c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3f398ee33dd905de4023225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3f398e633ed905de4048e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3fabaaaa3ed905de40b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3f398ee33ed905de40b5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3fe4380e3fd905de4048e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3fabaa2a3fd905de4023225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3f721c473fd905de407fb19840000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3f398e633fd905de40ec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803fdedd5d3f0000803f00320341ec51c4c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fefee6e3f00000000003203417fb198c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fefee6e3f398ee33d0032034123225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803fefee6e3f398e633e0032034148e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fefee6e3fabaaaa3e00320341b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803fefee6e3f398ee33e00320341b5812e3f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fefee6e3fe4380e3f0032034148e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803fefee6e3fabaa2a3f0032034123225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803fefee6e3f721c473f003203417fb19840000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fefee6e3f398e633f00320341ec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803fefee6e3f0000803f14611741ec51c4c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f00000000146117417fb198c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398ee33d1461174123225ac0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398e633e1461174148e102c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaaaa3e14611741b5812ebf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398ee33e14611741b5812e3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fe4380e3f1461174148e10240000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaa2a3f1461174123225a40000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f721c473f146117417fb19840000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398e633f14611741ec51c440000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f0000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 9.461201, y: 6.135, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: -1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!1 &1834357724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1834357729} + - component: {fileID: 1834357728} + - component: {fileID: 1834357726} + - component: {fileID: 1834357725} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1834357725 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834357724} + m_Enabled: 1 +--- !u!124 &1834357726 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834357724} + m_Enabled: 1 +--- !u!20 &1834357728 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834357724} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 25 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1834357729 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834357724} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + 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!1 &1916232516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1916232517} + - component: {fileID: 1916232518} + m_Layer: 0 + m_Name: PupilRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1916232517 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916232516} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.4223582, y: 0.06418306, z: -0.42} + m_LocalScale: {x: 0.6, y: 0.6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1959031576} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1916232518 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1916232516} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 72 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1959031573 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1959031576} + - component: {fileID: 1959031575} + - component: {fileID: 1959031574} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1959031574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959031573} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8226ec8bfb3372142a457c0d9db860e5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClosedSprite: {fileID: 21300000, guid: 56e65b7643c20a340a63f639d2388906, type: 3} + m_OpenSprite: {fileID: 21300000, guid: 8dfd2447f63e37342888c262b7acbbc4, type: 3} + m_MinBlinkInterval: 2 + m_MaxBlinkInterval: 3 + m_MinBlinkTime: 0.1 + m_MaxBlinkTime: 0.15 + m_PupilLeft: {fileID: 1535110576} + m_PupilRight: {fileID: 1916232516} + m_EyeRadius: 0.1 +--- !u!212 &1959031575 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959031573} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 71 + m_Sprite: {fileID: 21300000, guid: 8dfd2447f63e37342888c262b7acbbc4, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1959031576 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959031573} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: -0.023036309, w: 0.99973464} + m_LocalPosition: {x: 0.2646637, y: 5.393994, z: 0.42} + m_LocalScale: {x: 7.5, y: 7.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1916232517} + - {fileID: 1535110577} + m_Father: {fileID: 837634409} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2014192162 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2014192164} + - component: {fileID: 2014192163} + m_Layer: 0 + m_Name: PupilRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &2014192163 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014192162} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &2014192164 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014192162} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.48065376, y: 0.07149598, z: -0.42} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 363049083} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2054050158 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2054050160} + - component: {fileID: 2054050159} + m_Layer: 0 + m_Name: TrailRenderer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!96 &2054050159 +TrailRenderer: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054050158} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5d47e0470a9bd37489fa6074bc72fefd, 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Time: 0.2 + m_PreviewTimeScale: 1 + m_Parameters: + serializedVersion: 3 + widthMultiplier: 2 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 1, g: 0, b: 0, a: 1} + key3: {r: 1, g: 0, b: 0, a: 1} + key4: {r: 1, g: 0, b: 0, a: 1} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 16384 + ctime2: 32768 + ctime3: 49151 + ctime4: 65535 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 16384 + atime2: 32768 + atime3: 49151 + atime4: 65535 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 5 + m_NumAlphaKeys: 5 + numCornerVertices: 0 + numCapVertices: 0 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MinVertexDistance: 0.01 + m_MaskInteraction: 0 + m_Autodestruct: 0 + m_Emitting: 1 + m_ApplyActiveColorSpace: 0 +--- !u!4 &2054050160 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2054050158} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.75817895, y: -0.03649521, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 757480808} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2130142293 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2130142294} + - component: {fileID: 2130142295} + m_Layer: 0 + m_Name: PupilLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2130142294 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130142293} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: -0.51106226, y: -0.08751371, z: -0.42} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 363049083} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &2130142295 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130142293} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!21 &2146201870 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pinkBlob_Jelly + m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: 53f949e5141cb0247b4a5b89de21b524, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1748863279} + - {fileID: 923265734} + - {fileID: 837634409} + - {fileID: 757480808} + - {fileID: 228399065} + - {fileID: 60479301} + - {fileID: 1834357729} + - {fileID: 1466140986} + - {fileID: 1803190077} + - {fileID: 280670254} + - {fileID: 672257220} diff --git a/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo Scene.unity.meta b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo Scene.unity.meta new file mode 100644 index 0000000..7cae8c6 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo Scene.unity.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 829e7d8e9c21bf84ea644ee78893fa76 +DefaultImporter: + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Jelly Sprite Demo Scene.unity + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo SceneSettings.lighting b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo SceneSettings.lighting new file mode 100644 index 0000000..3b220af --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo SceneSettings.lighting @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Jelly Sprite Demo SceneSettings + serializedVersion: 9 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 0 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_LightmapSizeFixed: 0 + m_UseMipmapLimits: 1 + m_BakeResolution: 50 + m_Padding: 2 + m_LightmapCompression: 0 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 1 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_EnableWorkerProcessBaking: 1 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 1 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo SceneSettings.lighting.meta b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo SceneSettings.lighting.meta new file mode 100644 index 0000000..3abc201 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Demo SceneSettings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b650199409a501d42a67f4fed39903f8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement Scene.unity b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement Scene.unity new file mode 100644 index 0000000..0b4e07c --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement Scene.unity @@ -0,0 +1,2226 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 1 + m_BakeResolution: 50 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: 17fb28342ef6239499248f56473542a4, type: 2} +--- !u!196 &5 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!21 &99535627 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: orangeBlob_Jelly + m_Shader: {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 5 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 1bf823ed97bd0aa4e94356b09546f889, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + - _EnableExternalAlpha: 0 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!1 &228399064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 228399065} + m_Layer: 0 + m_Name: Hut + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &228399065 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 228399064} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.2951696, y: -6.3562956, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1736920905} + - {fileID: 1116066775} + - {fileID: 854679783} + - {fileID: 1340625916} + - {fileID: 1220927808} + - {fileID: 1658079627} + - {fileID: 656009375} + - {fileID: 1895566336} + - {fileID: 422518340} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &422518339 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 422518340} + - component: {fileID: 422518343} + - component: {fileID: 422518342} + - component: {fileID: 422518341} + m_Layer: 0 + m_Name: Obstacle (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &422518340 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422518339} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 33.6, y: 15.3, z: 0} + m_LocalScale: {x: 0.15, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!61 &422518341 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422518339} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.00000023841858, y: -0.0000009536743} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 50.06222, y: 1.76} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 49.86, y: 1.76} + m_EdgeRadius: 0 +--- !u!50 &422518342 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422518339} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &422518343 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 422518339} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 100 + m_Sprite: {fileID: 21300000, guid: e053c7ea574825645a78a8c1db0c0723, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &656009374 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 656009375} + - component: {fileID: 656009378} + - component: {fileID: 656009377} + - component: {fileID: 656009376} + m_Layer: 0 + m_Name: Obstacle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &656009375 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 656009374} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.269823, y: 0.7, z: 0} + m_LocalScale: {x: 0.25, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &656009376 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 656009374} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.00000023841858, y: -0.0000009536743} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 50.06222, y: 1.76} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 49.86, y: 1.76} + m_EdgeRadius: 0 +--- !u!50 &656009377 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 656009374} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &656009378 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 656009374} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 100 + m_Sprite: {fileID: 21300000, guid: e053c7ea574825645a78a8c1db0c0723, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &854679781 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 854679783} + - component: {fileID: 854679782} + m_Layer: 0 + m_Name: WallRearRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &854679782 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854679781} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -200 + m_Sprite: {fileID: 21300000, guid: 60b1ed3f309acf44ead2b73f9afa3b4f, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &854679783 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854679781} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 47.410965, y: 10.208365, z: 0} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &978803279 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 978803280} + - component: {fileID: 978803281} + m_Layer: 0 + m_Name: PupilLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &978803280 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 978803279} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: -0.36067754, y: -0.020874834, z: -0.42} + m_LocalScale: {x: 0.6, y: 0.6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1523745688} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &978803281 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 978803279} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 42 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1116066773 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1116066775} + - component: {fileID: 1116066774} + m_Layer: 0 + m_Name: WallRearLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &1116066774 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116066773} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: -200 + m_Sprite: {fileID: 21300000, guid: 5defc05ee24247447815e7ce724961fe, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1116066775 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1116066773} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -17.736883, y: 10.208365, z: 0} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1220927807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1220927808} + - component: {fileID: 1220927811} + - component: {fileID: 1220927810} + - component: {fileID: 1220927809} + m_Layer: 0 + m_Name: WallLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1220927808 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1220927807} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -39.2, y: 30.8, z: 0} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!61 &1220927809 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1220927807} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.00000023841858, y: -0.0000009536743} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 50.06222, y: 1.76} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 49.86, y: 1.76} + m_EdgeRadius: 0 +--- !u!50 &1220927810 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1220927807} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &1220927811 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1220927807} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 100 + m_Sprite: {fileID: 21300000, guid: e053c7ea574825645a78a8c1db0c0723, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1340625915 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1340625916} + - component: {fileID: 1340625919} + - component: {fileID: 1340625918} + - component: {fileID: 1340625917} + m_Layer: 0 + m_Name: Roof + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1340625916 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340625915} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.269823, y: 30.8, z: 0} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1340625917 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340625915} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.00000023841858, y: -0.0000009536743} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 50.06222, y: 1.76} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 49.86, y: 1.76} + m_EdgeRadius: 0 +--- !u!50 &1340625918 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340625915} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &1340625919 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1340625915} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 100 + m_Sprite: {fileID: 21300000, guid: e053c7ea574825645a78a8c1db0c0723, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1466140982 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1466140986} + - component: {fileID: 1466140985} + - component: {fileID: 1466140984} + - component: {fileID: 1466140983} + - component: {fileID: 1466140987} + m_Layer: 9 + m_Name: OrangeBlob + m_TagString: Blob + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1466140983 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Style: 0 + m_FreeModeBodyPositions: [] + m_FreeModeBodyRadii: [] + m_FreeModeBodyKinematic: + m_MassStyle: 1 + m_PhysicsMaterial: {fileID: 0} + m_PhysicsMaterial2D: {fileID: 0} + m_Interpolation: 0 + m_Interpolation2D: 1 + m_CollisionDetectionMode: 0 + m_CollisionDetectionMode2D: 1 + m_ManualPositioning: 0 + m_VertexDensity: 10 + m_SphereRadius: 0.25 + m_DistanceExponent: 2 + m_Stiffness: 3 + m_Mass: 1 + m_LockRotation: 1 + m_GravityScale: 0 + m_UseGravity: 1 + m_CollideConnected: 0 + m_CentralBodyKinematic: 0 + m_Drag: 0 + m_AngularDrag: 0.05 + m_RadiusPoints: 8 + m_GridColumns: 4 + m_GridRows: 4 + m_DampingRatio: 1 + m_SoftBodyScale: {x: 1, y: 0.77} + m_SoftBodyRotation: 0 + m_SoftBodyOffset: {x: 0, y: 0} + m_CentralBodyOffset: {x: 0, y: 0} + m_SpriteScale: {x: 3, y: 3} + m_2DMode: 1 + m_AttachNeighbors: 1 + m_FlipX: 0 + m_FlipY: 0 + m_SpriteRotation: 0 + m_NumAttachPoints: 1 + m_AttachPoints: + - {fileID: 1523745688} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_ReferencePointParent: {fileID: 0} + m_Sprite: {fileID: 21300000, guid: 1bf823ed97bd0aa4e94356b09546f889, type: 3} +--- !u!23 &1466140984 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 99535627} + 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: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 40 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1466140985 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + m_Mesh: {fileID: 1649317257} +--- !u!4 &1466140986 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 7.96, y: -10.57, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1523745688} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1466140987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1466140982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 55c8fe5d9a49d3c4bad842cd5eae45f7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_MaxDistanceOffset: 2 +--- !u!1 &1523745687 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1523745688} + - component: {fileID: 1523745690} + - component: {fileID: 1523745689} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1523745688 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523745687} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: -0.023036309, w: 0.99973464} + m_LocalPosition: {x: 0.1, y: 0.35, z: 0.42} + m_LocalScale: {x: 7.5, y: 7.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1524051873} + - {fileID: 978803280} + m_Father: {fileID: 1466140986} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1523745689 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523745687} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8226ec8bfb3372142a457c0d9db860e5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClosedSprite: {fileID: 21300000, guid: a62fb5d445fae3745be11a48c8b82668, type: 3} + m_OpenSprite: {fileID: 21300000, guid: 12ca02a3e2ab3d94293f3d07a9e96c90, type: 3} + m_MinBlinkInterval: 2 + m_MaxBlinkInterval: 3 + m_MinBlinkTime: 0.1 + m_MaxBlinkTime: 0.15 + m_PupilLeft: {fileID: 978803279} + m_PupilRight: {fileID: 1524051872} + m_EyeRadius: 0.1 +--- !u!212 &1523745690 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1523745687} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 41 + m_Sprite: {fileID: 21300000, guid: 12ca02a3e2ab3d94293f3d07a9e96c90, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1524051872 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1524051873} + - component: {fileID: 1524051874} + m_Layer: 0 + m_Name: PupilRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1524051873 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1524051872} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.06279051, w: 0.9980267} + m_LocalPosition: {x: 0.37617433, y: 0.018596334, z: -0.42} + m_LocalScale: {x: 0.6, y: 0.6, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1523745688} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1524051874 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1524051872} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 42 + m_Sprite: {fileID: 21300000, guid: d08529a652bd6584da326fc1d42e1aeb, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!43 &1649317257 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: JellySprite Mesh + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 660 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 110 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 6.4800005, y: 5.895, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000b000a0000000b00010002000c000b0001000c00020003000d000c0002000d00030004000e000d0003000e00040005000f000e0004000f000500060010000f00050010000600070011001000060011000700080012001100070012000800090013001200080013000a000b00150014000a0015000b000c00160015000b0016000c000d00170016000c0017000d000e00180017000d0018000e000f00190018000e0019000f0010001a0019000f001a00100011001b001a0010001b00110012001c001b0011001c00120013001d001c0012001d00140015001f001e0014001f001500160020001f001500200016001700210020001600210017001800220021001700220018001900230022001800230019001a0024002300190024001a001b00250024001a0025001b001c00260025001b0026001c001d00270026001c0027001e001f00290028001e0029001f0020002a0029001f002a00200021002b002a0020002b00210022002c002b0021002c00220023002d002c0022002d00230024002e002d0023002e00240025002f002e0024002f002500260030002f002500300026002700310030002600310028002900330032002800330029002a0034003300290034002a002b00350034002a0035002b002c00360035002b0036002c002d00370036002c0037002d002e00380037002d0038002e002f00390038002e0039002f0030003a0039002f003a00300031003b003a0030003b00320033003d003c0032003d00330034003e003d0033003e00340035003f003e0034003f003500360040003f003500400036003700410040003600410037003800420041003700420038003900430042003800430039003a0044004300390044003a003b00450044003a0045003c003d00470046003c0047003d003e00480047003d0048003e003f00490048003e0049003f0040004a0049003f004a00400041004b004a0040004b00410042004c004b0041004c00420043004d004c0042004d00430044004e004d0043004e00440045004f004e0044004f0046004700510050004600510047004800520051004700520048004900530052004800530049004a0054005300490054004a004b00550054004a0055004b004c00560055004b0056004c004d00570056004c0057004d004e00580057004d0058004e004f00590058004e005900500051005b005a0050005b00510052005c005b0051005c00520053005d005c0052005d00530054005e005d0053005e00540055005f005e0054005f005500560060005f00550060005600570061006000560061005700580062006100570062005800590063006200580063005a005b00650064005a0065005b005c00660065005b0066005c005d00670066005c0067005d005e00680067005d0068005e005f00690068005e0069005f0060006a0069005f006a00600061006b006a0060006b00610062006c006b0061006c00620063006d006c0062006d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 110 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 5280 + _typelessdata: 2a5ccfc0d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000000000002a5ccfc052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f00000000398ee33d2a5ccfc09a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398e633e2a5ccfc01f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaaaa3e2a5ccfc014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000398ee33e2a5ccfc014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000e4380e3f2a5ccfc01f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000abaa2a3f2a5ccfc09a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f00000000721c473f2a5ccfc052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f00000000398e633f2a5ccfc0d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f000000000000803f55e3a5c0d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d0000000055e3a5c052b892c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398ee33d55e3a5c09a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398e633e55e3a5c01f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3dabaaaa3e55e3a5c014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398ee33e55e3a5c014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3de4380e3f55e3a5c01f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3dabaa2a3f55e3a5c09a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d721c473f55e3a5c052b89240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d398e633f55e3a5c0d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3d0000803fffd478c0d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e00000000ffd478c052b892c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398ee33dffd478c09a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398e633effd478c01f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3eabaaaa3effd478c014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398ee33effd478c014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3ee4380e3fffd478c01f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3eabaa2a3fffd478c09a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e721c473fffd478c052b89240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e398e633fffd478c0d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3e0000803f55e325c0d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993e0000000055e325c052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e398ee33d55e325c09a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993e398e633e55e325c01f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993eabaaaa3e55e325c014ae27bf000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e398ee33e55e325c014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993ee4380e3f55e325c01f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99993eabaa2a3f55e325c09a995140000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e721c473f55e325c052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e398e633f55e325c0d7a3bc40000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99993e0000803f55e3a5bfd7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e0000000055e3a5bf52b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398ee33d55e3a5bf9a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e398e633e55e3a5bf1f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3eabaaaa3e55e3a5bf14ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e398ee33e55e3a5bf14ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3ee4380e3f55e3a5bf1f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3eabaa2a3f55e3a5bf9a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e721c473f55e3a5bf52b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803fcdcccc3e398e633f55e3a5bfd7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcccc3e0000803f00000000d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f000000000000000052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000003f398ee33d000000009a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f398e633e000000001f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003fabaaaa3e0000000014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f398ee33e0000000014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003fe4380e3f000000001f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003fabaa2a3f000000009a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f721c473f0000000052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000003f398e633f00000000d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000003f0000803f55e3a53fd7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f0000000055e3a53f52b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99193f398ee33d55e3a53f9a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398e633e55e3a53f1f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fabaaaa3e55e3a53f14ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f398ee33e55e3a53f14ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fe4380e3f55e3a53f1f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193fabaa2a3f55e3a53f9a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f721c473f55e3a53f52b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f9a99193f398e633f55e3a53fd7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f9a99193f0000803f55e32540d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f0000000055e3254052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333f398ee33d55e325409a9951c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333f398e633e55e325401f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333fabaaaa3e55e3254014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f398ee33e55e3254014ae273f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333fe4380e3f55e325401f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333fabaa2a3f55e325409a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f721c473f55e3254052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f3333333f398e633f55e32540d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f3333333f0000803fffd47840d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f00000000ffd4784052b892c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398ee33dffd478409a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398e633effd478401f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fabaaaa3effd4784014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398ee33effd4784014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fe4380e3fffd478401f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3fabaa2a3fffd478409a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f721c473fffd4784052b89240000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f398e633fffd47840d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803fcdcc4c3f0000803f55e3a540d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f0000000055e3a54052b892c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398ee33d55e3a5409a9951c0000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398e633e55e3a5401f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663fabaaaa3e55e3a54014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398ee33e55e3a54014ae273f000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663fe4380e3f55e3a5401f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663fabaa2a3f55e3a5409a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f721c473f55e3a54052b89240000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f398e633f55e3a540d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f6666663f0000803f2a5ccf40d7a3bcc0000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f000000002a5ccf4052b892c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803f398ee33d2a5ccf409a9951c0000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803f398e633e2a5ccf401f85fbbf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaaaa3e2a5ccf4014ae27bf000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f398ee33e2a5ccf4014ae273f000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803fe4380e3f2a5ccf401f85fb3f000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803fabaa2a3f2a5ccf409a995140000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f721c473f2a5ccf4052b89240000000000000000000000000ffff7fbf0000803f0000803f0000803f0000803f0000803f398e633f2a5ccf40d7a3bc40000000000000000000000000000080bf0000803f0000803f0000803f0000803f0000803f0000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 6.4800005, y: 5.895, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: -1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!1 &1658079626 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1658079627} + - component: {fileID: 1658079630} + - component: {fileID: 1658079629} + - component: {fileID: 1658079628} + m_Layer: 0 + m_Name: WallRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1658079627 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1658079626} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 46.4, y: 30.8, z: 0} + m_LocalScale: {x: 2.500001, y: 2.500001, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!61 &1658079628 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1658079626} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.00000023841858, y: -0.0000009536743} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 50.06222, y: 1.76} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 49.86, y: 1.76} + m_EdgeRadius: 0 +--- !u!50 &1658079629 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1658079626} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &1658079630 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1658079626} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 100 + m_Sprite: {fileID: 21300000, guid: e053c7ea574825645a78a8c1db0c0723, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1 &1736920901 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1736920905} + - component: {fileID: 1736920904} + - component: {fileID: 1736920903} + - component: {fileID: 1736920902} + m_Layer: 0 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!61 &1736920902 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736920901} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.00000023841858, y: -0.0000009536743} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 50.06222, y: 1.76} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 49.86, y: 1.76} + m_EdgeRadius: 0 +--- !u!50 &1736920903 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736920901} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &1736920904 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736920901} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 100 + m_Sprite: {fileID: 21300000, guid: e053c7ea574825645a78a8c1db0c0723, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &1736920905 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1736920901} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 10.269823, y: -17.244915, z: 0} + m_LocalScale: {x: 2.5, y: 2.5, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1834357724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1834357729} + - component: {fileID: 1834357728} + - component: {fileID: 1834357726} + - component: {fileID: 1834357725} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1834357725 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834357724} + m_Enabled: 1 +--- !u!124 &1834357726 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834357724} + m_Enabled: 1 +--- !u!20 &1834357728 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834357724} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 25 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1834357729 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834357724} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + 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!1 &1895566335 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1895566336} + - component: {fileID: 1895566339} + - component: {fileID: 1895566338} + - component: {fileID: 1895566337} + m_Layer: 0 + m_Name: Obstacle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &1895566336 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1895566335} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -11.2, y: 15.3, z: 0} + m_LocalScale: {x: 0.25, y: 2, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 228399065} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!61 &1895566337 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1895566335} + m_Enabled: 1 + serializedVersion: 3 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 + m_Offset: {x: 0.00000023841858, y: -0.0000009536743} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 50.06222, y: 1.76} + newSize: {x: 1, y: 1} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + m_Size: {x: 49.86, y: 1.76} + m_EdgeRadius: 0 +--- !u!50 &1895566338 +Rigidbody2D: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1895566335} + m_BodyType: 1 + m_Simulated: 1 + m_UseFullKinematicContacts: 0 + m_UseAutoMass: 0 + m_Mass: 1 + m_LinearDamping: 0 + m_AngularDamping: 0.05 + m_GravityScale: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_Interpolate: 0 + m_SleepingMode: 1 + m_CollisionDetection: 0 + m_Constraints: 0 +--- !u!212 &1895566339 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1895566335} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + 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: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 100 + m_Sprite: {fileID: 21300000, guid: e053c7ea574825645a78a8c1db0c0723, type: 3} + m_Color: {r: 1, g: 1, b: 1, 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: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 228399065} + - {fileID: 1834357729} + - {fileID: 1466140986} diff --git a/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement Scene.unity.meta b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement Scene.unity.meta new file mode 100644 index 0000000..2b2e52c --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement Scene.unity.meta @@ -0,0 +1,14 @@ +fileFormatVersion: 2 +guid: c2a70b32b76c1964f9d493fa8179378d +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Jelly Sprite Mouse Movement Scene.unity + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement SceneSettings.lighting b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement SceneSettings.lighting new file mode 100644 index 0000000..0c7b163 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement SceneSettings.lighting @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Jelly Sprite Mouse Movement SceneSettings + serializedVersion: 9 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 0 + m_BakeBackend: 1 + m_LightmapMaxSize: 1024 + m_LightmapSizeFixed: 0 + m_UseMipmapLimits: 1 + m_BakeResolution: 50 + m_Padding: 2 + m_LightmapCompression: 0 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 1 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} + m_ExportTrainingData: 0 + m_EnableWorkerProcessBaking: 1 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 1 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVREnvironmentSampleCount: 512 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRMinBounces: 2 + m_PVREnvironmentImportanceSampling: 0 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_RespectSceneVisibilityWhenBakingGI: 0 diff --git a/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement SceneSettings.lighting.meta b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement SceneSettings.lighting.meta new file mode 100644 index 0000000..a20d582 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Jelly Sprite Mouse Movement SceneSettings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 17fb28342ef6239499248f56473542a4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4890085278179872738 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThirdParty/JellySprites/Demo/Materials.meta b/Assets/ThirdParty/JellySprites/Demo/Materials.meta new file mode 100644 index 0000000..c837986 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Materials.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 8773002b0c2f6cc4d865bec26da010e2 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/ThirdParty/JellySprites/Demo/Materials/Debug Material.mat b/Assets/ThirdParty/JellySprites/Demo/Materials/Debug Material.mat new file mode 100644 index 0000000..761736b --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Materials/Debug Material.mat @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Debug Material + m_Shader: {fileID: 30, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: 3baeae1326ddeef4ab97a9472cd41151, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: [] + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 0.19607843} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/ThirdParty/JellySprites/Demo/Materials/Debug Material.mat.meta b/Assets/ThirdParty/JellySprites/Demo/Materials/Debug Material.mat.meta new file mode 100644 index 0000000..f97b780 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Materials/Debug Material.mat.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a2e65a8c669271d48b9a077881c338de +NativeFormatImporter: + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Materials/Debug Material.mat + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Scripts.meta b/Assets/ThirdParty/JellySprites/Demo/Scripts.meta new file mode 100644 index 0000000..32f4f73 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Scripts.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: da650685c193ff44697488dc451fd099 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobBehaviour.cs b/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobBehaviour.cs new file mode 100644 index 0000000..75f9c42 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobBehaviour.cs @@ -0,0 +1,44 @@ +using UnityEngine; +using System.Collections; + +public class BlobBehaviour : MonoBehaviour +{ + public float m_MinBounceTime = 0.3f; + public float m_MaxBounceTime = 1.0f; + public float m_MinJumpForce = 10.0f; + public float m_MaxJumpForce = 10.0f; + public Vector2 m_MinJumpVector = new Vector2(-0.1f, 1.0f); + public Vector2 m_MaxJumpVector = new Vector2(0.1f, 1.0f); + public LayerMask m_GroundLayer; + + JellySprite m_JellySprite; + float m_BounceTimer; + + /// + /// Start this instance. + /// + void Start () + { + m_JellySprite = GetComponent(); + m_BounceTimer = UnityEngine.Random.Range(m_MinBounceTime, m_MaxBounceTime); + } + + /// + /// Update this instance. + /// + void Update () + { + m_BounceTimer -= Time.deltaTime; + + // Randomly bounce around + if(m_BounceTimer < 0.0f && m_JellySprite.IsGrounded(m_GroundLayer, 2)) + { + Vector2 jumpVector = Vector2.zero; + jumpVector.x = UnityEngine.Random.Range(m_MinJumpVector.x, m_MaxJumpVector.x); + jumpVector.y = UnityEngine.Random.Range(m_MinJumpVector.y, m_MaxJumpVector.y); + jumpVector.Normalize(); + m_JellySprite.AddForce(jumpVector * UnityEngine.Random.Range(m_MinJumpForce, m_MaxJumpForce)); + m_BounceTimer = UnityEngine.Random.Range(m_MinBounceTime, m_MaxBounceTime); + } + } +} \ No newline at end of file diff --git a/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobBehaviour.cs.meta b/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobBehaviour.cs.meta new file mode 100644 index 0000000..a2a6175 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobBehaviour.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: dbf57392da360e54eb4a6ce326dc9067 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Scripts/BlobBehaviour.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobEyes.cs b/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobEyes.cs new file mode 100644 index 0000000..c9e5fe7 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobEyes.cs @@ -0,0 +1,92 @@ +using UnityEngine; +using System.Collections; + +public class BlobEyes : MonoBehaviour +{ + SpriteRenderer m_SpriteRenderer; + public Sprite m_ClosedSprite; + public Sprite m_OpenSprite; + public float m_MinBlinkInterval = 2.0f; + public float m_MaxBlinkInterval = 3.0f; + public float m_MinBlinkTime = 0.1f; + public float m_MaxBlinkTime = 0.15f; + public GameObject m_PupilLeft; + public GameObject m_PupilRight; + public float m_EyeRadius = 1.0f; + + float m_BlinkTimer; + bool m_Blinking; + Vector3 m_LookDirection; + Vector3 m_PupilLeftCentre; + Vector3 m_PupilRightCentre; + Transform m_LookTarget; + + /// + /// Start this instance. + /// + void Start () + { + m_SpriteRenderer = GetComponent(); + m_BlinkTimer = UnityEngine.Random.Range(m_MinBlinkInterval, m_MaxBlinkInterval); + m_PupilLeftCentre = m_PupilLeft.transform.localPosition; + m_PupilRightCentre = m_PupilRight.transform.localPosition; + } + + /// + /// Update this instance. + /// + void Update () + { + m_BlinkTimer -= Time.deltaTime; + + if(m_BlinkTimer < 0.0f) + { + m_Blinking = !m_Blinking; + + if(m_Blinking) + { + GameObject[] blobs = GameObject.FindGameObjectsWithTag("Blob"); + int randomBlobIndex = UnityEngine.Random.Range(0, blobs.Length); + + if(blobs[randomBlobIndex] != this.gameObject) + { + m_LookTarget = blobs[randomBlobIndex].transform; + } + + m_BlinkTimer = UnityEngine.Random.Range(m_MinBlinkTime, m_MaxBlinkTime); + m_SpriteRenderer.sprite = m_ClosedSprite; + + m_PupilLeft.SetActive(false); + m_PupilRight.SetActive(false); + } + else + { + m_BlinkTimer = UnityEngine.Random.Range(m_MinBlinkInterval, m_MaxBlinkInterval); + m_SpriteRenderer.sprite = m_OpenSprite; + + m_PupilLeft.SetActive(true); + m_PupilRight.SetActive(true); + } + } + + float lookFilterFactor = 0.1f; + Vector3 desiredLookDirection; + + if(m_LookTarget != null) + { + desiredLookDirection = m_LookTarget.transform.position - this.transform.position; + } + else + { + desiredLookDirection = Vector2.zero; + } + + desiredLookDirection.Normalize(); + + m_LookDirection.x = (m_LookDirection.x * (1.0f - lookFilterFactor)) + (desiredLookDirection.x * lookFilterFactor); + m_LookDirection.y = (m_LookDirection.y * (1.0f - lookFilterFactor)) + (desiredLookDirection.y * lookFilterFactor); + + m_PupilLeft.transform.localPosition = m_PupilLeftCentre + (m_LookDirection * m_EyeRadius); + m_PupilRight.transform.localPosition = m_PupilRightCentre + (m_LookDirection * m_EyeRadius); + } +} diff --git a/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobEyes.cs.meta b/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobEyes.cs.meta new file mode 100644 index 0000000..1f23edc --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Scripts/BlobEyes.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 8226ec8bfb3372142a457c0d9db860e5 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Scripts/BlobEyes.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteDemoManager.cs b/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteDemoManager.cs new file mode 100644 index 0000000..755e3af --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteDemoManager.cs @@ -0,0 +1,146 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +public class JellySpriteDemoManager : MonoBehaviour +{ + bool m_DrawPhysicsBodies = false; + GameObject[] m_BlobObjects; + bool m_DebugRenderersCreated; + public Material m_DebugRenderMaterial; + + // Use this for initialization + void Start () + { + m_BlobObjects = GameObject.FindGameObjectsWithTag("Blob"); + Physics.gravity = new Vector3(0, -50, 0); + } + + /// + /// Turn all the debug sprite renderers on/off + /// + void SetSpriteRenderersEnabled(bool enabled) + { + foreach(GameObject gameObject in m_BlobObjects) + { + JellySprite jellySprite = gameObject.GetComponent(); + + if(jellySprite) + { + foreach(JellySprite.ReferencePoint referencePoint in jellySprite.ReferencePoints) + { + GameObject refPointObject = referencePoint.GameObject; + + if(refPointObject) + { + MeshRenderer meshRenderer = refPointObject.GetComponent(); + + if(meshRenderer) + { + meshRenderer.enabled = enabled; + } + } + } + } + } + } + + /// + /// Draws the GUI + /// + void OnGUI () + { + if(m_DrawPhysicsBodies) + { + if(GUI.Button(new Rect(20,20,200,20), "Render Physics Bodies: On")) + { + m_DrawPhysicsBodies = !m_DrawPhysicsBodies; + SetSpriteRenderersEnabled(false); + } + } + else + { + if(GUI.Button(new Rect(20,20,200,20), "Render Physics Bodies: Off")) + { + m_DrawPhysicsBodies = !m_DrawPhysicsBodies; + + if(!m_DebugRenderersCreated) + { + foreach(GameObject gameObject in m_BlobObjects) + { + JellySprite jellySprite = gameObject.GetComponent(); + + if(jellySprite) + { + // Go through and create a simple circle mesh for each body + foreach(JellySprite.ReferencePoint referencePoint in jellySprite.ReferencePoints) + { + if(referencePoint.InitialOffset == Vector3.zero) + { + continue; + } + + GameObject referencePointObject = referencePoint.GameObject; + + if(referencePointObject) + { + MeshRenderer meshRenderer = referencePointObject.AddComponent(); + MeshFilter meshFilter = referencePointObject.AddComponent(); + + Mesh newMesh = new Mesh(); + newMesh.name = "JellySprite Debug Mesh"; + + List meshVertices = new List(); + List meshTriangles = new List(); + List meshUVs = new List(); + List meshColors = new List(); + + meshVertices.Add(Vector3.zero); + meshUVs.Add(Vector2.zero); + meshColors.Add (Color.white); + + for(int loop = 0; loop <= 32; loop++) + { + float angle = ((Mathf.PI * 2.0f)/32.0f) * loop; + float x = Mathf.Cos(angle) * referencePoint.Radius; + float y = Mathf.Sin(angle) * referencePoint.Radius; + meshVertices.Add(new Vector3(x, y, 0.0f)); + meshUVs.Add(Vector2.one); + meshColors.Add (Color.white); + } + + for(int loop = 1; loop <= 32; loop++) + { + meshTriangles.Add(0); + meshTriangles.Add(loop); + meshTriangles.Add(loop -1); + } + + meshTriangles.Add(0); + meshTriangles.Add(1); + meshTriangles.Add(32); + + newMesh.Clear(); + newMesh.vertices = meshVertices.ToArray(); + newMesh.uv = meshUVs.ToArray(); + newMesh.colors = meshColors.ToArray(); + newMesh.triangles = meshTriangles.ToArray(); + newMesh.RecalculateBounds(); + newMesh.RecalculateNormals(); + meshFilter.mesh = newMesh; + + meshRenderer.sharedMaterial = m_DebugRenderMaterial; + meshRenderer.sortingOrder = 500; + } + } + } + } + + m_DebugRenderersCreated = true; + } + + SetSpriteRenderersEnabled(true); + } + } + } +} diff --git a/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteDemoManager.cs.meta b/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteDemoManager.cs.meta new file mode 100644 index 0000000..0779b8f --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteDemoManager.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 7717bf13e118e0a4f9626d4dec85af6d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Scripts/JellySpriteDemoManager.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteFollowMouse.cs b/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteFollowMouse.cs new file mode 100644 index 0000000..b801f7d --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteFollowMouse.cs @@ -0,0 +1,48 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +// input system 변경 후 사용 불가 + +public class JellySpriteFollowMouse : MonoBehaviour +{ + public float m_MaxDistanceOffset = 2.0f; + + // Update is called once per frame + void Update() + { + Vector2 mousePos = new Vector2(Input.mousePosition.x, Input.mousePosition.y); + mousePos = Camera.main.ScreenToWorldPoint(mousePos); + + JellySprite jellySprite = GetComponent(); + + // This uses Physics system's MovePosition to move the jelly sprite using physics forces + if(jellySprite) + { + if(jellySprite.CentralPoint.Body2D) + { + jellySprite.CentralPoint.Body2D.MovePosition(mousePos); + } + else if (jellySprite.CentralPoint.Body3D) + { + jellySprite.CentralPoint.Body3D.MovePosition(mousePos); + } + + foreach(JellySprite.ReferencePoint refPoint in jellySprite.ReferencePoints) + { + if(refPoint != jellySprite.CentralPoint) + { + Vector2 offset = refPoint.transform.position - jellySprite.CentralPoint.transform.position; + float distance = offset.magnitude; + float initialDistance = refPoint.InitialOffset.magnitude; + + // This prevents the physics body from getting too far away from the central point (eg. if it gets stuck behind an object) + if(distance > initialDistance * m_MaxDistanceOffset) + { + refPoint.transform.position = (jellySprite.CentralPoint.transform.position) + (Vector3)(offset.normalized * initialDistance); + } + } + } + } + } +} diff --git a/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteFollowMouse.cs.meta b/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteFollowMouse.cs.meta new file mode 100644 index 0000000..ea61867 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Scripts/JellySpriteFollowMouse.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 55c8fe5d9a49d3c4bad842cd5eae45f7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Scripts/JellySpriteFollowMouse.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites.meta new file mode 100644 index 0000000..a11c3b5 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: bac6e10276824564aa0a916a4b4045ee +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/HutFloor.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/HutFloor.png new file mode 100644 index 0000000..730a786 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/HutFloor.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/HutFloor.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/HutFloor.png.meta new file mode 100644 index 0000000..6fc04fa --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/HutFloor.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: e053c7ea574825645a78a8c1db0c0723 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/HutFloor.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/Logo.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/Logo.png new file mode 100644 index 0000000..a431114 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/Logo.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/Logo.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/Logo.png.meta new file mode 100644 index 0000000..7e916e4 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/Logo.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 44f89850214d9e24080dfacf1165b837 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/Logo.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/blueBlob.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueBlob.png new file mode 100644 index 0000000..6a30581 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueBlob.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/blueBlob.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueBlob.png.meta new file mode 100644 index 0000000..f7ba92f --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueBlob.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: a6d7486e588f0ff4caed88a7356f3fd3 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/blueBlob.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesClosed.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesClosed.png new file mode 100644 index 0000000..4653218 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesClosed.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesClosed.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesClosed.png.meta new file mode 100644 index 0000000..de9aa8c --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesClosed.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 17fc81f46da2d8342bf176224522c6d0 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/blueEyesClosed.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesNormal.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesNormal.png new file mode 100644 index 0000000..9400ed3 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesNormal.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesNormal.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesNormal.png.meta new file mode 100644 index 0000000..775119b --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/blueEyesNormal.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: f797c4493d98e1d4e8709d5217dd8cdc +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/blueEyesNormal.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/brownBlob.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownBlob.png new file mode 100644 index 0000000..0083c74 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownBlob.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/brownBlob.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownBlob.png.meta new file mode 100644 index 0000000..c3ee040 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownBlob.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 4dd6972387fb3204fab22bc3c4cb3a8e +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/brownBlob.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyes.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyes.png new file mode 100644 index 0000000..7fe39d5 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyes.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyes.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyes.png.meta new file mode 100644 index 0000000..d4e5d7c --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyes.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 8dfd2447f63e37342888c262b7acbbc4 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/brownEyes.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyesClosed.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyesClosed.png new file mode 100644 index 0000000..53f166b Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyesClosed.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyesClosed.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyesClosed.png.meta new file mode 100644 index 0000000..7ba3965 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/brownEyesClosed.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 56e65b7643c20a340a63f639d2388906 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/brownEyesClosed.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall1.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall1.png new file mode 100644 index 0000000..126b9bf Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall1.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall1.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall1.png.meta new file mode 100644 index 0000000..d5751cb --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall1.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 5defc05ee24247447815e7ce724961fe +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/hutWall1.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall2.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall2.png new file mode 100644 index 0000000..4ba2e47 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall2.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall2.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall2.png.meta new file mode 100644 index 0000000..3bb0544 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/hutWall2.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 60b1ed3f309acf44ead2b73f9afa3b4f +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/hutWall2.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeBlob.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeBlob.png new file mode 100644 index 0000000..5471c46 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeBlob.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeBlob.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeBlob.png.meta new file mode 100644 index 0000000..e442018 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeBlob.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 1bf823ed97bd0aa4e94356b09546f889 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/orangeBlob.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyes.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyes.png new file mode 100644 index 0000000..2c56599 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyes.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyes.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyes.png.meta new file mode 100644 index 0000000..f40a649 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyes.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 12ca02a3e2ab3d94293f3d07a9e96c90 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/orangeEyes.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyesClosed.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyesClosed.png new file mode 100644 index 0000000..73b83f1 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyesClosed.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyesClosed.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyesClosed.png.meta new file mode 100644 index 0000000..f28924a --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/orangeEyesClosed.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: a62fb5d445fae3745be11a48c8b82668 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/orangeEyesClosed.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkBlob.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkBlob.png new file mode 100644 index 0000000..cf1aa05 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkBlob.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkBlob.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkBlob.png.meta new file mode 100644 index 0000000..ea78506 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkBlob.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 53f949e5141cb0247b4a5b89de21b524 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: 1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/pinkBlob.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyes.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyes.png new file mode 100644 index 0000000..382ed5d Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyes.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyes.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyes.png.meta new file mode 100644 index 0000000..431804b --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyes.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 8669fe48da4d3e9458e5291d1362dd8a +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/pinkEyes.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyesShut.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyesShut.png new file mode 100644 index 0000000..01027d4 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyesShut.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyesShut.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyesShut.png.meta new file mode 100644 index 0000000..0b5a8b7 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/pinkEyesShut.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 7b3fd9ab033015a4f87d028f155b181c +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/pinkEyesShut.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/pupil.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/pupil.png new file mode 100644 index 0000000..7b2c58e Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/pupil.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/pupil.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/pupil.png.meta new file mode 100644 index 0000000..22f9a85 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/pupil.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: d08529a652bd6584da326fc1d42e1aeb +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/pupil.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteBlob.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteBlob.png new file mode 100644 index 0000000..e80c3c2 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteBlob.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteBlob.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteBlob.png.meta new file mode 100644 index 0000000..7df25a8 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteBlob.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 4082ddc36f76b29448f8195b68fa5456 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/whiteBlob.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyes.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyes.png new file mode 100644 index 0000000..fa0f329 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyes.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyes.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyes.png.meta new file mode 100644 index 0000000..8e35493 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyes.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: dcc2061f431d4bf45a8c22bb725b92ea +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/whiteEyes.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyesClosed.png b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyesClosed.png new file mode 100644 index 0000000..7a45e22 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyesClosed.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyesClosed.png.meta b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyesClosed.png.meta new file mode 100644 index 0000000..63dbe46 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Sprites/whiteEyesClosed.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 50c1f56eb7b384d469163cce60034942 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Sprites/whiteEyesClosed.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Demo/Textures.meta b/Assets/ThirdParty/JellySprites/Demo/Textures.meta new file mode 100644 index 0000000..abe58ee --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Textures.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: e2bc0ef6cbcd046498049b5dc2c74cd6 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/ThirdParty/JellySprites/Demo/Textures/DebugTexture.png b/Assets/ThirdParty/JellySprites/Demo/Textures/DebugTexture.png new file mode 100644 index 0000000..73455f1 Binary files /dev/null and b/Assets/ThirdParty/JellySprites/Demo/Textures/DebugTexture.png differ diff --git a/Assets/ThirdParty/JellySprites/Demo/Textures/DebugTexture.png.meta b/Assets/ThirdParty/JellySprites/Demo/Textures/DebugTexture.png.meta new file mode 100644 index 0000000..54e91ae --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Demo/Textures/DebugTexture.png.meta @@ -0,0 +1,103 @@ +fileFormatVersion: 2 +guid: 3baeae1326ddeef4ab97a9472cd41151 +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: 1024 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Demo/Textures/DebugTexture.png + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Editor.meta b/Assets/ThirdParty/JellySprites/Editor.meta new file mode 100644 index 0000000..686c537 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Editor.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 02a3d20092dc5814182f5e7b8108ed2d +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/ThirdParty/JellySprites/Editor/JellySpriteEditor.cs b/Assets/ThirdParty/JellySprites/Editor/JellySpriteEditor.cs new file mode 100644 index 0000000..d90b29d --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Editor/JellySpriteEditor.cs @@ -0,0 +1,623 @@ +using UnityEditor; +using UnityEngine; +using System; + +[CustomEditor(typeof(JellySprite)), CanEditMultipleObjects] +public class JellySpriteEditor : Editor +{ + public SerializedProperty m_PhysicsStyle; + public SerializedProperty m_PhysicsMode; + public SerializedProperty m_CircleRadiusPoints; + public SerializedProperty m_GridRows; + public SerializedProperty m_GridColumns; + public SerializedProperty m_ColliderRadius; + public SerializedProperty m_Stiffness; + public SerializedProperty m_Mass; + public SerializedProperty m_ManualPositioning; + public SerializedProperty m_DampingRatio; + public SerializedProperty m_VertexDensity; + public SerializedProperty m_PhysicsMaterial2D; + public SerializedProperty m_PhysicsMaterial; + public SerializedProperty m_InterpolationMode; + public SerializedProperty m_InterpolationMode2D; + public SerializedProperty m_CollisionDetectionMode; + public SerializedProperty m_CollisionDetectionMode2D; + public SerializedProperty m_DistanceExponent; + public SerializedProperty m_MassStyle; + public SerializedProperty m_GravityScale; + public SerializedProperty m_UseGravity; + public SerializedProperty m_Drag; + public SerializedProperty m_AngularDrag; + public SerializedProperty m_SoftBodyScale; + public SerializedProperty m_SoftBodyRotation; + public SerializedProperty m_SoftBodyOffset; + public SerializedProperty m_CentralBodyOffset; + public SerializedProperty m_SpriteScale; + public SerializedProperty m_AttachPoints; + public SerializedProperty m_NumAttachPoints; + public SerializedProperty m_FlipX; + public SerializedProperty m_FlipY; + public SerializedProperty m_SpriteRotation; + public SerializedProperty m_CollideConnected; + public SerializedProperty m_AttachNeighbors; + public SerializedProperty m_LockRotation; + public SerializedProperty m_CentralBodyKinematic; + public SerializedProperty m_Color; + + bool m_InitialFlipX; + bool m_InitialFlipY; + float m_InitialSpriteRotation; + bool m_InitialLockRotation; + bool m_InitialCentralBodyKinematic; + Color m_InitialColor; + int m_InitialVertexDensity; + int m_InitialMassStyle; + int m_InitialInterpolation2D; + int m_InitialInterpolation; + int m_InitialCollisionDetectionMode; + int m_InitialCollisionDetectionMode2D; + int m_InitialNumAttachPoints; + float m_InitialStiffness; + float m_InitialDamping; + float m_InitialMass; + float m_InitialDistanceExponent; + float m_InitialGravityScale; + bool m_InitialUseGravity; + float m_InitialDrag; + float m_InitialAngularDrag; + Vector2 m_InitialSpriteScale; + + protected virtual void OnEnable () + { + // Setup the SerializedProperties + m_PhysicsStyle = serializedObject.FindProperty("m_Style"); + m_PhysicsMode = serializedObject.FindProperty("m_2DMode"); + m_CircleRadiusPoints = serializedObject.FindProperty("m_RadiusPoints"); + m_GridRows = serializedObject.FindProperty("m_GridRows"); + m_GridColumns = serializedObject.FindProperty("m_GridColumns"); + m_ColliderRadius = serializedObject.FindProperty("m_SphereRadius"); + m_Stiffness = serializedObject.FindProperty("m_Stiffness"); + m_Mass = serializedObject.FindProperty("m_Mass"); + m_ManualPositioning = serializedObject.FindProperty("m_ManualPositioning"); + m_DampingRatio = serializedObject.FindProperty("m_DampingRatio"); + m_VertexDensity = serializedObject.FindProperty("m_VertexDensity"); + m_PhysicsMaterial = serializedObject.FindProperty("m_PhysicsMaterial"); + m_PhysicsMaterial2D = serializedObject.FindProperty("m_PhysicsMaterial2D"); + m_CollisionDetectionMode = serializedObject.FindProperty("m_CollisionDetectionMode"); + m_CollisionDetectionMode2D = serializedObject.FindProperty("m_CollisionDetectionMode2D"); + m_InterpolationMode = serializedObject.FindProperty("m_Interpolation"); + m_InterpolationMode2D = serializedObject.FindProperty("m_Interpolation2D"); + m_CollisionDetectionMode = serializedObject.FindProperty("m_CollisionDetectionMode"); + m_CollisionDetectionMode2D = serializedObject.FindProperty("m_CollisionDetectionMode2D"); + m_DistanceExponent = serializedObject.FindProperty("m_DistanceExponent"); + m_MassStyle = serializedObject.FindProperty("m_MassStyle"); + m_GravityScale = serializedObject.FindProperty("m_GravityScale"); + m_UseGravity = serializedObject.FindProperty("m_UseGravity"); + m_Drag = serializedObject.FindProperty("m_Drag"); + m_AngularDrag = serializedObject.FindProperty("m_AngularDrag"); + m_SoftBodyScale = serializedObject.FindProperty("m_SoftBodyScale"); + m_SoftBodyRotation = serializedObject.FindProperty("m_SoftBodyRotation"); + m_SoftBodyOffset = serializedObject.FindProperty("m_SoftBodyOffset"); + m_CentralBodyOffset = serializedObject.FindProperty("m_CentralBodyOffset"); + m_SpriteScale = serializedObject.FindProperty("m_SpriteScale"); + m_AttachPoints = serializedObject.FindProperty("m_AttachPoints"); + m_NumAttachPoints = serializedObject.FindProperty("m_NumAttachPoints"); + m_FlipX = serializedObject.FindProperty("m_FlipX"); + m_FlipY = serializedObject.FindProperty("m_FlipY"); + m_SpriteRotation = serializedObject.FindProperty("m_SpriteRotation"); + m_CollideConnected = serializedObject.FindProperty("m_CollideConnected"); + + m_AttachNeighbors = serializedObject.FindProperty("m_AttachNeighbors"); + m_LockRotation = serializedObject.FindProperty("m_LockRotation"); + m_CentralBodyKinematic = serializedObject.FindProperty("m_CentralBodyKinematic"); + m_Color = serializedObject.FindProperty("m_Color"); + } + + private static System.Reflection.PropertyInfo sortingLayerNamesPropInfo = null; + private static bool sortingLayerNamesChecked = false; + + private static string[] GetSortingLayerNames() + { + if (sortingLayerNamesPropInfo == null && !sortingLayerNamesChecked) + { + sortingLayerNamesChecked = true; + try + { + System.Type IEU = System.Type.GetType("UnityEditorInternal.InternalEditorUtility,UnityEditor"); + if (IEU != null) + { + sortingLayerNamesPropInfo = IEU.GetProperty("sortingLayerNames", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public); + } + } + catch { } + if (sortingLayerNamesPropInfo == null) + { + Debug.Log("tk2dEditorUtility - Unable to get sorting layer names."); + } + } + + if (sortingLayerNamesPropInfo != null) + { + return sortingLayerNamesPropInfo.GetValue(null, null) as string[]; + } + else + { + return new string[0]; + } + } + + public static string SortingLayerNamePopup( string label, string value ) + { + string[] names = GetSortingLayerNames(); + string finalValueToUse = value; + int hasValueInArray = System.Array.IndexOf(names, finalValueToUse); + + // If we can't find the value - set to default + if(hasValueInArray == -1) + { + finalValueToUse = "Default"; + } + + if (names.Length == 0) + { + return EditorGUILayout.TextField(label, finalValueToUse); + } + else + { + int sel = 0; + for (int i = 0; i < names.Length; ++i) + { + if (names[i] == finalValueToUse) + { + sel = i; + break; + } + } + sel = EditorGUILayout.Popup(label, sel, names); + return names[sel]; + } + } + + protected virtual void StoreInitialValues() + { + m_InitialVertexDensity = m_VertexDensity.intValue; + m_InitialMassStyle = m_MassStyle.enumValueIndex; + m_InitialInterpolation2D = m_InterpolationMode2D.enumValueIndex; + m_InitialInterpolation = m_InterpolationMode.enumValueIndex; + m_InitialCollisionDetectionMode = m_CollisionDetectionMode.enumValueIndex; + m_InitialCollisionDetectionMode2D = m_CollisionDetectionMode2D.enumValueIndex; + m_InitialStiffness = m_Stiffness.floatValue; + m_InitialDamping = m_DampingRatio.floatValue; + m_InitialMass = m_Mass.floatValue; + m_InitialDistanceExponent = m_DistanceExponent.floatValue; + m_InitialGravityScale = m_GravityScale.floatValue; + m_InitialUseGravity = m_UseGravity.boolValue; + m_InitialDrag = m_Drag.floatValue; + m_InitialAngularDrag = m_AngularDrag.floatValue; + m_InitialSpriteScale = m_SpriteScale.vector2Value; + m_InitialNumAttachPoints = m_NumAttachPoints.intValue; + m_InitialFlipX = m_FlipX.boolValue; + m_InitialFlipY = m_FlipY.boolValue; + m_InitialSpriteRotation = m_SpriteRotation.floatValue; + m_InitialLockRotation = m_LockRotation.boolValue; + m_InitialCentralBodyKinematic = m_CentralBodyKinematic.boolValue; + m_InitialColor = m_Color.colorValue; + } + + protected virtual void CheckForObjectChanges() + { + serializedObject.ApplyModifiedProperties(); + + // Update the visible mesh if the sprite or vertex density was changed + if(m_InitialVertexDensity != m_VertexDensity.intValue || + m_InitialSpriteScale != m_SpriteScale.vector2Value || + m_InitialSpriteRotation != m_SpriteRotation.floatValue) + { + foreach(UnityEngine.Object targetObject in targets) + { + JellySprite targetObjectSprite = targetObject as JellySprite; + targetObjectSprite.RefreshMesh(); + } + } + + // Update the springs if we altered any of their settings + if(m_InitialStiffness != m_Stiffness.floatValue || m_InitialDamping != m_DampingRatio.floatValue) + { + foreach(UnityEngine.Object targetObject in targets) + { + JellySprite targetObjectSprite = targetObject as JellySprite; + targetObjectSprite.UpdateJoints(); + targetObjectSprite.WakeUp(); + } + } + + // Recalculate weighting values if the exponent changes + if(m_InitialDistanceExponent != m_DistanceExponent.floatValue) + { + foreach(UnityEngine.Object targetObject in targets) + { + JellySprite targetObjectSprite = targetObject as JellySprite; + targetObjectSprite.CalculateWeightingValues(); + } + } + + // Update the mass of each body if the value changed + if(m_InitialMassStyle != m_MassStyle.enumValueIndex || + m_InitialMass != m_Mass.floatValue || + m_InitialGravityScale != m_GravityScale.floatValue || + m_InitialUseGravity != m_UseGravity.boolValue || + m_InitialAngularDrag != m_AngularDrag.floatValue || + m_InitialInterpolation != m_InterpolationMode.enumValueIndex || + m_InitialInterpolation2D != m_InterpolationMode2D.enumValueIndex || + m_InitialCollisionDetectionMode != m_CollisionDetectionMode.enumValueIndex || + m_InitialCollisionDetectionMode2D != m_CollisionDetectionMode2D.enumValueIndex || + m_InitialDrag != m_Drag.floatValue) + { + foreach(UnityEngine.Object targetObject in targets) + { + JellySprite targetObjectSprite = targetObject as JellySprite; + targetObjectSprite.InitMass(); + targetObjectSprite.WakeUp(); + } + } + + if(m_InitialNumAttachPoints != m_NumAttachPoints.intValue) + { + foreach(UnityEngine.Object targetObject in targets) + { + JellySprite targetObjectSprite = targetObject as JellySprite; + targetObjectSprite.ResizeAttachPoints(); + } + } + + if(m_InitialFlipX != m_FlipX.boolValue || + m_InitialFlipY != m_FlipY.boolValue) + { + foreach(UnityEngine.Object targetObject in targets) + { + JellySprite targetObjectSprite = targetObject as JellySprite; + targetObjectSprite.UpdateTextureCoords(); + } + } + + if(m_InitialLockRotation != m_LockRotation.boolValue || + m_InitialCentralBodyKinematic != m_CentralBodyKinematic.boolValue) + { + foreach(UnityEngine.Object targetObject in targets) + { + JellySprite targetObjectSprite = targetObject as JellySprite; + targetObjectSprite.UpdateRotationLock(); + } + } + + if (m_InitialColor != m_Color.colorValue) + { + foreach (UnityEngine.Object targetObject in targets) + { + JellySprite targetObjectSprite = targetObject as JellySprite; + targetObjectSprite.GetComponent().sharedMaterial.color = m_Color.colorValue; + } + } + } + + protected virtual void DisplayInspectorGUI() + { + JellySprite targetObject = this.target as JellySprite; + + if (targetObject.GetComponent()!= null) + { + string sortingLayerName = SortingLayerNamePopup("Sorting Layer", targetObject.GetComponent().sortingLayerName); + + if (sortingLayerName != targetObject.GetComponent().sortingLayerName) + { + targetObject.GetComponent().sortingLayerName = sortingLayerName; + } + + int sortingOrder = EditorGUILayout.IntField("Order In Layer", targetObject.GetComponent().sortingOrder); + + if (sortingOrder != targetObject.GetComponent().sortingOrder) + { + targetObject.GetComponent().sortingOrder = sortingOrder; + } + } + + EditorGUILayout.PropertyField(m_FlipX, new GUIContent("Flip Horizontal")); + EditorGUILayout.PropertyField(m_FlipY, new GUIContent("Flip Vertical")); + EditorGUILayout.Slider(m_SpriteRotation, 0, 360, new GUIContent("Sprite Rotation") ); + + if(Application.isPlaying) + { + GUI.enabled = false; + } + + EditorGUILayout.PropertyField(m_SpriteScale, new GUIContent("Sprite Scale")); + + GUI.enabled = true; + + if(Application.isPlaying) + { + GUI.enabled = false; + } + + GUILayout.Space(15); + + EditorGUILayout.PropertyField(m_PhysicsMode, new GUIContent("Use 2D Physics")); + + JellySprite.PhysicsStyle selectedStyle = (JellySprite.PhysicsStyle)m_PhysicsStyle.enumValueIndex; + + if(selectedStyle != JellySprite.PhysicsStyle.Grid) + { + EditorGUILayout.PropertyField(m_AttachNeighbors, new GUIContent("Attach Neighbors")); + } + + int initialStyle = m_PhysicsStyle.enumValueIndex; + EditorGUILayout.PropertyField(m_PhysicsStyle, new GUIContent("Body Configuration")); + + if(m_PhysicsStyle.enumValueIndex != initialStyle && (JellySprite.PhysicsStyle)m_PhysicsStyle.enumValueIndex == JellySprite.PhysicsStyle.Free) + { + m_PhysicsStyle.enumValueIndex = initialStyle; + Debug.LogError("Please use the 'Copy Configuration to Free Mode' button to switch Jelly Sprites to Free Mode"); + } + + switch(selectedStyle) + { + case JellySprite.PhysicsStyle.Circle: + EditorGUILayout.IntSlider(m_CircleRadiusPoints, 8, 128, new GUIContent("Num Colliders") ); + break; + case JellySprite.PhysicsStyle.Grid: + m_GridRows.intValue = EditorGUILayout.IntField("Grid Rows", m_GridRows.intValue); + m_GridColumns.intValue = EditorGUILayout.IntField("Grid Columns", m_GridColumns.intValue); + break; + case JellySprite.PhysicsStyle.Line: + m_GridColumns.intValue = Mathf.Max(2, EditorGUILayout.IntField("Num Bodies", m_GridColumns.intValue)); + break; + case JellySprite.PhysicsStyle.Rectangle: + break; + case JellySprite.PhysicsStyle.Triangle: + break; + case JellySprite.PhysicsStyle.Free: + for(int i = 0; i < targetObject.m_FreeModeBodyPositions.Count; i++) + { + EditorGUILayout.BeginHorizontal(); + Vector2 point = targetObject.m_FreeModeBodyPositions[i]; + float radius = targetObject.m_FreeModeBodyRadii[i]; + bool kinematic = targetObject.m_FreeModeBodyKinematic[i]; + + Vector3 result = EditorGUILayout.Vector3Field(i == 0? "Centre" : "Body " + i .ToString(), new Vector3(point.x, point.y, radius), GUILayout.MaxWidth(1500f)); + Vector2 positionResult = new Vector2(result.x, result.y); + bool kinematicResult = false; + + if(point != positionResult) + { + Undo.RecordObject(targetObject, "Adjusted Jelly Sprite Body Position"); + targetObject.m_FreeModeBodyPositions[i] = positionResult; + SceneView.RepaintAll(); + } + + if(result.z != radius) + { + Undo.RecordObject(targetObject, "Adjusted Jelly Sprite Body Radius"); + targetObject.m_FreeModeBodyRadii[i] = result.z; + SceneView.RepaintAll(); + } + + using (new FixedWidthLabel("Kinematic")) + { + kinematicResult = EditorGUILayout.Toggle(kinematic); + } + + if(kinematicResult != kinematic) + { + Undo.RecordObject(targetObject, "Adjusted Jelly Sprite Body Kinematic Flag"); + targetObject.m_FreeModeBodyKinematic[i] = kinematicResult; + SceneView.RepaintAll(); + } + + if(GUILayout.Button(new GUIContent("Delete", "delete this point"), EditorStyles.miniButtonRight, GUILayout.MaxWidth(100f))) + { + if(i == 0) + { + Debug.LogWarning("Cannot remove central Jelly Sprite control point!"); + } + else + { + Undo.RecordObject(targetObject, "Deleted Jelly Sprite Body"); + targetObject.m_FreeModeBodyPositions.RemoveAt(i); + targetObject.m_FreeModeBodyRadii.RemoveAt(i); + SceneView.RepaintAll(); + i--; + } + } + + EditorGUILayout.EndHorizontal(); + } + + GUILayout.Space(5); + + if(GUILayout.Button(new GUIContent("Add New Body", "Add new body"), EditorStyles.miniButtonLeft)) + { + Undo.RecordObject(targetObject, "Added New Jelly Sprite Body"); + targetObject.m_FreeModeBodyPositions.Add(new Vector2(0.0f, -1.0f)); + targetObject.m_FreeModeBodyRadii.Add(1.0f); + targetObject.m_FreeModeBodyKinematic.Add(false); + SceneView.RepaintAll(); + } + + break; + } + + if(selectedStyle != JellySprite.PhysicsStyle.Free) + { + EditorGUILayout.Slider(m_ColliderRadius, 0.001f, 0.25f, new GUIContent("Collider Radius") ); + EditorGUILayout.PropertyField(m_SoftBodyScale, new GUIContent("Collider Scale")); + EditorGUILayout.PropertyField(m_SoftBodyRotation, new GUIContent("Collider Rotation")); + EditorGUILayout.PropertyField(m_SoftBodyOffset, new GUIContent("Collider Offset")); + EditorGUILayout.PropertyField(m_CentralBodyOffset, new GUIContent("Central Body Offset")); + + GUILayout.Space(5); + + if(GUILayout.Button(new GUIContent("Copy Configuration To Free Mode", "Copy this configuration to the free mode layout"), EditorStyles.miniButtonRight)) + { + Undo.RecordObject(target, "Converted Jelly Sprite to Free Mode"); + targetObject.OnCopyToFreeModeSelected(); + SceneView.RepaintAll(); + } + } + + GUI.enabled = true; + + EditorGUILayout.PropertyField(m_LockRotation, new GUIContent("Lock Rotation")); + + if(selectedStyle != JellySprite.PhysicsStyle.Free) + { + EditorGUILayout.PropertyField(m_CentralBodyKinematic, new GUIContent("Kinematic Central Body")); + } + + GUILayout.Space(15); + + if(m_PhysicsMode.boolValue) + { + EditorGUILayout.PropertyField(m_PhysicsMaterial2D, new GUIContent("Physics Material")); + m_GravityScale.floatValue = EditorGUILayout.FloatField("Gravity Scale", m_GravityScale.floatValue); + EditorGUILayout.PropertyField(m_InterpolationMode2D, new GUIContent("Interpolate")); + EditorGUILayout.PropertyField(m_CollisionDetectionMode2D, new GUIContent("Collision Detection")); + } + else + { + EditorGUILayout.PropertyField(m_PhysicsMaterial, new GUIContent("Physics Material")); + EditorGUILayout.PropertyField(m_InterpolationMode, new GUIContent("Interpolate")); + EditorGUILayout.PropertyField(m_UseGravity, new GUIContent("Use Gravity")); + EditorGUILayout.PropertyField(m_CollisionDetectionMode, new GUIContent("Collision Detection")); + } + + m_Drag.floatValue = EditorGUILayout.FloatField("Drag", m_Drag.floatValue); + m_AngularDrag.floatValue = EditorGUILayout.FloatField("Angular Drag", m_AngularDrag.floatValue); + EditorGUILayout.PropertyField(m_CollideConnected, new GUIContent("Collide Connected")); + EditorGUILayout.PropertyField(m_ManualPositioning, new GUIContent("Manual Positioning")); + + m_Stiffness.floatValue = EditorGUILayout.FloatField("Spring Stiffness", m_Stiffness.floatValue); + m_DampingRatio.floatValue = EditorGUILayout.FloatField("Spring Damping", m_DampingRatio.floatValue); + EditorGUILayout.PropertyField(m_MassStyle, new GUIContent("Mass Type")); + m_Mass.floatValue = EditorGUILayout.FloatField("Mass", m_Mass.floatValue); + + GUILayout.Space(15); + + if(Application.isPlaying) + { + GUI.enabled = false; + } + + EditorGUILayout.Slider(m_DistanceExponent, 1.0f, 4.0f, new GUIContent("Ctrl Point Influence") ); + + GUI.enabled = true; + + EditorGUILayout.IntSlider(m_VertexDensity, 2, 100, new GUIContent("Vertex Density")); + + GUILayout.Space(15); + + m_NumAttachPoints.intValue = EditorGUILayout.IntField("Num Attach Points", m_NumAttachPoints.intValue); + + for(int loop = 0; loop < targetObject.m_AttachPoints.Length; loop++) + { + targetObject.m_AttachPoints[loop] = (Transform)EditorGUILayout.ObjectField("Attach Point", targetObject.m_AttachPoints[loop], typeof(Transform), true, null); + } + + m_Color.colorValue = EditorGUILayout.ColorField("Tint Color", m_Color.colorValue); + } + + public override void OnInspectorGUI() + { + GUILayout.Space(5); + StoreInitialValues(); + serializedObject.Update(); + DisplayInspectorGUI(); + CheckForObjectChanges(); + } + + protected void UpdateHandles() + { + if(!Application.isPlaying) + { + JellySprite jellySprite = (JellySprite)target; + + if(jellySprite.m_Style == JellySprite.PhysicsStyle.Free) + { + if(jellySprite.m_FreeModeBodyPositions != null) + { + Transform transform = jellySprite.transform; + + for(int i = 0; i < jellySprite.m_FreeModeBodyPositions.Count; i++) + { + Handles.color = jellySprite.m_FreeModeBodyKinematic[i]? Color.red : Color.green; + + Vector3 point = transform.TransformPoint(jellySprite.m_FreeModeBodyPositions[i]); + var fmh_554_91_638968574444553267 = Quaternion.identity; Vector3 newPosition = transform.InverseTransformPoint(Handles.FreeMoveHandle(point, 0.1f, Vector3.zero, Handles.DotHandleCap)); + newPosition.z = 0.0f; + + if(jellySprite.m_FreeModeBodyPositions[i] != newPosition) + { + Undo.RecordObject(target, "Adjusted Jelly Sprite Body Position"); + jellySprite.m_FreeModeBodyPositions[i] = newPosition; + } + + float newRadius = Handles.RadiusHandle(Quaternion.identity, point, jellySprite.m_FreeModeBodyRadii[i]); + + if(jellySprite.m_FreeModeBodyRadii[i] != newRadius) + { + Undo.RecordObject(target, "Adjusted Jelly Sprite Body Radius"); + jellySprite.m_FreeModeBodyRadii[i] = newRadius; + } + } + } + } + } + } +} + +public class FixedWidthLabel : IDisposable +{ + //helper class to clear and restore indentation + private readonly ZeroIndent indentReset; + + public FixedWidthLabel(GUIContent label) + { + //Create a horizontal group + EditorGUILayout.BeginHorizontal(); + //Display the label: + EditorGUILayout.LabelField(label, + //Fix its width: + GUILayout.Width(GUI.skin.label.CalcSize(label).x + + //Correct for previous indentation: (9 pixels per level) + 9 * EditorGUI.indentLevel)); + //Set following indentation to zero: + indentReset = new ZeroIndent(); + } + + //alternative constructor, if we don't want to deal with GUIContents + public FixedWidthLabel(string label) : this(new GUIContent(label)) + { + } + + public void Dispose() + { + //restore indentation state: + indentReset.Dispose(); + //finish horizontal group: + EditorGUILayout.EndHorizontal(); + } +} + +class ZeroIndent : IDisposable //helper class to clear indentation +{ + private readonly int originalIndent;//the original indentation value before we change the GUI state + public ZeroIndent() + { + originalIndent = EditorGUI.indentLevel;//save original indentation + EditorGUI.indentLevel = 0;//clear indentation + } + + public void Dispose() + { + EditorGUI.indentLevel = originalIndent;//restore original indentation + } +} diff --git a/Assets/ThirdParty/JellySprites/Editor/JellySpriteEditor.cs.meta b/Assets/ThirdParty/JellySprites/Editor/JellySpriteEditor.cs.meta new file mode 100644 index 0000000..3d74564 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Editor/JellySpriteEditor.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: f45ba97e791b18b478f35a9fe1e2efc4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Editor/JellySpriteEditor.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Editor/UnityJellySpriteEditor.cs b/Assets/ThirdParty/JellySprites/Editor/UnityJellySpriteEditor.cs new file mode 100644 index 0000000..518683f --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Editor/UnityJellySpriteEditor.cs @@ -0,0 +1,49 @@ +using UnityEditor; +using UnityEngine; + +[CanEditMultipleObjects] +[CustomEditor(typeof(UnityJellySprite))] +class UnityJellySpriteEditor : JellySpriteEditor +{ + public SerializedProperty m_Sprite; + public Object m_InitialSprite; + + protected override void OnEnable() + { + base.OnEnable(); + m_Sprite = serializedObject.FindProperty("m_Sprite"); + } + + protected override void DisplayInspectorGUI() + { + EditorGUILayout.PropertyField(m_Sprite, new GUIContent("Sprite")); + base.DisplayInspectorGUI(); + } + + protected override void StoreInitialValues() + { + m_InitialSprite = m_Sprite.objectReferenceValue; + base.StoreInitialValues(); + } + + protected override void CheckForObjectChanges() + { + base.CheckForObjectChanges(); + JellySprite targetObject = this.target as JellySprite; + + if (m_InitialSprite != m_Sprite.objectReferenceValue) + { + Sprite sprite = m_Sprite.objectReferenceValue as Sprite; + Bounds bounds = sprite.bounds; + float pivotX = -bounds.center.x / bounds.extents.x; + float pivotY = -bounds.center.y / bounds.extents.y; + targetObject.m_CentralBodyOffset = targetObject.m_SoftBodyOffset = new Vector3(pivotX * bounds.extents.x * targetObject.m_SpriteScale.x, pivotY * bounds.extents.y * targetObject.m_SpriteScale.y, 0.0f); + targetObject.RefreshMesh(); + } + } + + void OnSceneGUI () + { + UpdateHandles(); + } +} \ No newline at end of file diff --git a/Assets/ThirdParty/JellySprites/Editor/UnityJellySpriteEditor.cs.meta b/Assets/ThirdParty/JellySprites/Editor/UnityJellySpriteEditor.cs.meta new file mode 100644 index 0000000..6948016 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Editor/UnityJellySpriteEditor.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: e932120ac75fcdd46883f2e37689147d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Editor/UnityJellySpriteEditor.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Scripts.meta b/Assets/ThirdParty/JellySprites/Scripts.meta new file mode 100644 index 0000000..85e9f3a --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: cea96cd6087b7e546a46170c3f0cc080 +folderAsset: yes +DefaultImporter: + userData: diff --git a/Assets/ThirdParty/JellySprites/Scripts/JellyBridge.cs b/Assets/ThirdParty/JellySprites/Scripts/JellyBridge.cs new file mode 100644 index 0000000..e483585 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/JellyBridge.cs @@ -0,0 +1,56 @@ +using UnityEngine; +using System.Collections; + +// Helper script to create a jelly sprite that hovers in mid-air and functions like +// a bridge. This is done by taking a grid-style configuration and then making a row of +// bodies kinematic. Simply create a Jelly Sprite, set it to grid configuration, then +// attach this script to it. +[RequireComponent (typeof(JellySprite))] +public class JellyBridge : MonoBehaviour +{ + public float fixedRowFraction = 0.5f; + bool isFirstUpdate = true; + + // Update is called once per frame + void Update () + { + // Need to wait until the jelly sprite has initialised + if(isFirstUpdate) + { + JellySprite jellySprite = GetComponent(); + + if(jellySprite.m_Style == JellySprite.PhysicsStyle.Grid) + { + // Work out the row of rigidbodies to fix - so 0.5 means halfway + int fixedRow = (int)(jellySprite.m_GridRows * fixedRowFraction); + + for(int x = 0; x < jellySprite.m_GridColumns; x++) + { + // Work out the point index in the array from the x and y index + int pointIndex = (fixedRow * jellySprite.m_GridColumns) + x; + + // Check its not a dummy point + if(jellySprite.ReferencePoints[pointIndex].GameObject) + { + // Set kinematic (might be a 2D or 3D point, so check for both + if(jellySprite.ReferencePoints[pointIndex].Body3D) + { + jellySprite.ReferencePoints[pointIndex].Body3D.isKinematic = true; + } + + if(jellySprite.ReferencePoints[pointIndex].Body2D) + { + jellySprite.ReferencePoints[pointIndex].Body2D.isKinematic = true; + } + } + } + } + else + { + Debug.LogWarning("JellyBridges can only be used on JellySprites using a Grid style configuration"); + } + + isFirstUpdate = false; + } + } +} \ No newline at end of file diff --git a/Assets/ThirdParty/JellySprites/Scripts/JellyBridge.cs.meta b/Assets/ThirdParty/JellySprites/Scripts/JellyBridge.cs.meta new file mode 100644 index 0000000..debb951 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/JellyBridge.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 47f4d3d551d1aad45903fb22ee0032ce +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Scripts/JellyBridge.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Scripts/JellyCameraFollow.cs b/Assets/ThirdParty/JellySprites/Scripts/JellyCameraFollow.cs new file mode 100644 index 0000000..82949a4 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/JellyCameraFollow.cs @@ -0,0 +1,27 @@ +using UnityEngine; +using System.Collections; + +// Helper script to make a camera follow a JellySprite - simply attach to your main camera and +// then drop a JellySprite into the 'Follow Sprite' field +public class JellyCameraFollow : MonoBehaviour +{ + public JellySprite m_FollowSprite; + + /// + /// Update this instance. + /// + void Update () + { + // New camera position should be the position of the central reference point + if(m_FollowSprite.ReferencePoints != null) + { + Vector3 newPosition = m_FollowSprite.ReferencePoints[0].GameObject.transform.position; + + // Keep the z coordinate the same + newPosition.z = this.transform.position.z; + + // Update the camera position + this.transform.position = newPosition; + } + } +} diff --git a/Assets/ThirdParty/JellySprites/Scripts/JellyCameraFollow.cs.meta b/Assets/ThirdParty/JellySprites/Scripts/JellyCameraFollow.cs.meta new file mode 100644 index 0000000..e33b90f --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/JellyCameraFollow.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 4b7bd7f71eb1b6e48808548da5935fe1 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Scripts/JellyCameraFollow.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Scripts/JellySprite.cs b/Assets/ThirdParty/JellySprites/Scripts/JellySprite.cs new file mode 100644 index 0000000..c95af1d --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/JellySprite.cs @@ -0,0 +1,2531 @@ +//#define TOOLKIT2D_SUPPORT_ENABLED +using UnityEngine; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +using System.Collections; +using System.Collections.Generic; + +[RequireComponent (typeof(MeshFilter), typeof(MeshRenderer))] +public abstract class JellySprite : MonoBehaviour +{ +#region PUBLIC_VARIABLES + // Arrangement of the physics bodies + public enum PhysicsStyle + { + Circle, + Rectangle, + Triangle, + Grid, + Free, + Line, + } + + public PhysicsStyle m_Style = PhysicsStyle.Circle; + + /// + /// Controls body positions in free mode + /// + public List m_FreeModeBodyPositions; + public List m_FreeModeBodyRadii; + public List m_FreeModeBodyKinematic; + + // Whether the chosen mass value is applied per rigid body or + // to the soft body as a whole + public enum MassStyle + { + Global, + PerBody + } + + public MassStyle m_MassStyle = MassStyle.PerBody; + + // Physics materials for 2D/3D modes + public PhysicsMaterial m_PhysicsMaterial; + public PhysicsMaterial2D m_PhysicsMaterial2D; + + // Physics interpolation modes + public RigidbodyInterpolation m_Interpolation = RigidbodyInterpolation.None; + public RigidbodyInterpolation2D m_Interpolation2D = RigidbodyInterpolation2D.None; + + // Physics collision detection modes + public CollisionDetectionMode m_CollisionDetectionMode = CollisionDetectionMode.Discrete; + public CollisionDetectionMode2D m_CollisionDetectionMode2D = CollisionDetectionMode2D.Discrete; + + // If enabled, the jelly sprite will not automatically position itself at the physics + // body location, instead the user can manually position it themselves by modifying the gameobject transform + public bool m_ManualPositioning = false; + + // How many vertices make up the rendered physics mesh + public int m_VertexDensity = 10; + + // Radius of the rigid body colliders (given as a % of sprite size) + public float m_SphereRadius = 0.25f; + + // How strongly we map reference points to mesh vertices. Higher values will make the mesh vertex distortion + // more accurately correspond to the rigid body movement, but may cause visual artefacts, especially on + // soft bodies made up of only a few rigid bodies. + public float m_DistanceExponent = 2.0f; + + // How stiff the soft body physics springs are + public float m_Stiffness = 2.5f; + + // The mass of the entire sprite (each of the n reference point is 1/n times this value) + public float m_Mass = 1.0f; + + // Whether or not to lock rotation around the Z-axis + public bool m_LockRotation = true; + + // Gravity scale (in 2D mode) + public float m_GravityScale = 1.0f; + + // Use Gravity (in 3D mode) + public bool m_UseGravity = true; + + // Whether child bodies should collider with one another + public bool m_CollideConnected = false; + + // Whether to make the central body kinematic (ie. not move) + public bool m_CentralBodyKinematic = false; + + // Drag (in 3D mode) + public float m_Drag = 0.0f; + public float m_AngularDrag = 0.05f; + + // Circle-configuration only - how many rigid bodies are placed around the circle radius + public int m_RadiusPoints = 8; + + // Grid-configuration only - how many rigid bodies make up the grid in each dimension + public int m_GridColumns = 4; + public int m_GridRows = 4; + + // The amount by which the spring force is reduced in proportion to the movement speed. The spring will oscillate + // with a certain frequency as it attempts to reestablish the desired distance between the objects. The higher + // the damping ratio, the quicker the oscillation will die down to zero. + public float m_DampingRatio = 0.0f; + + /// + /// Used to scale the collider up/down without adjusting the actual sprite size + /// + public Vector2 m_SoftBodyScale = Vector2.one; + + /// + /// Used to rotate the collider independently of the sprite + /// + public float m_SoftBodyRotation = 0.0f; + + /// + /// Used to offset the soft bodies + /// + public Vector2 m_SoftBodyOffset = Vector2.zero; + + /// + /// Used to offset the central soft body + /// + public Vector2 m_CentralBodyOffset = Vector2.zero; + + /// + /// Used to scale the sprite size + /// + public Vector2 m_SpriteScale = Vector2.one; + + // Whether to use 2D or 3D rigid bodies/colliders + public bool m_2DMode = false; + + // Controls whether bodies are attached to their neighboring bodies as well as to + // the central point + public bool m_AttachNeighbors = false; + + // Flip the sprite horizontally/vertically + public bool m_FlipX = false; + public bool m_FlipY = false; + + // Sprite rotation (in degrees) + public float m_SpriteRotation = 0.0f; + + // Array of attach points - used to attach child objects to this jelly sprite + public int m_NumAttachPoints = 0; + public Transform[] m_AttachPoints = new Transform[0]; + + // Tint color + public Color m_Color = Color.white; + + public List ReferencePoints { get { return m_ReferencePoints; } } + public ReferencePoint CentralPoint { get { return m_CentralPoint; } } +#endregion + +#region PRIVATE_VARIABLES + // Internal rendering data + Vector3[] m_Vertices; + Vector3[] m_InitialVertexPositions; + Color[] m_Colors; + Vector2[] m_TexCoords; + int[] m_Triangles; + Mesh m_SpriteMesh; + + // Physics reference points + public List m_ReferencePoints; + + // Reference point->vertex weighting values + float[,] m_ReferencePointWeightings; + + // Reference point->attach point weighting valuse + float[,] m_AttachPointWeightings; + + // Initial attach point positions + Vector3[] m_InitialAttachPointPositions = new Vector3[0]; + + // Saves us checking components every frame to see if an + // attached object is actually another Jelly Sprite + bool[] m_IsAttachPointJellySprite = new bool[0]; + + // Parent object for rigidbodies + public GameObject m_ReferencePointParent; + + // Central body point + ReferencePoint m_CentralPoint; + + // List of reference point offset + Vector3[] m_ReferencePointOffsets; + + // Cached transform + Transform m_Transform; +#endregion + +#region PUBLIC_CLASSES + /// + /// The ReferencePoint class encapsulates a rigid body (2D or 3D) and information about + /// the bodies initial position. From there, we can work out how much the body has moved + /// from its initial position and then map the movement to the visible mesh. + /// + public class ReferencePoint + { + public Vector3 InitialOffset { get { return m_InitialOffset; } set { m_InitialOffset = value; } } + + public Rigidbody2D Body2D { get { return m_RigidBody2D; } } + public Rigidbody Body3D { get { return m_RigidBody3D; } } + + public CircleCollider2D Collider2D { get { return m_CircleCollider2D; } } + public SphereCollider Collider { get { return m_SphereCollider; } } + + public bool IsDummy { get { return m_IsDummy; } } + + Transform m_Transform; + Rigidbody2D m_RigidBody2D; + Rigidbody m_RigidBody3D; + CircleCollider2D m_CircleCollider2D; + SphereCollider m_SphereCollider; + Vector3 m_InitialOffset; + bool m_IsDummy = true; + + /// + /// ReferencePoint 2D Constructor + /// + public ReferencePoint(Rigidbody2D body) + { + if (body != null) + { + m_RigidBody2D = body; + m_CircleCollider2D = body.GetComponent(); + m_Transform = body.transform; + m_IsDummy = false; + } + else + { + m_IsDummy = true; + } + } + + /// + /// ReferencePoint 3D Constructor + /// + public ReferencePoint(Rigidbody body) + { + if (body != null) + { + m_RigidBody3D = body; + m_SphereCollider = body.GetComponent(); + m_Transform = body.transform; + m_IsDummy = false; + } + else + { + m_IsDummy = true; + } + } + + /// + /// Get the radius of the rigid body + /// + public float Radius + { + get + { + if(m_CircleCollider2D != null) + { + return m_CircleCollider2D.radius; + } + else if(m_SphereCollider != null) + { + return m_SphereCollider.radius; + } + + return 0.0f; + } + } + + /// + /// Gets the game object. + /// + public GameObject GameObject + { + get + { + if(m_RigidBody2D != null) + { + return m_RigidBody2D.gameObject; + } + else if(m_RigidBody3D != null) + { + return m_RigidBody3D.gameObject; + } + + return null; + } + } + + /// + /// Gets the transform. + /// + public Transform transform { get { return m_Transform; } } + + /// + /// Set the kinematic flag on this object + /// + public void SetKinematic(bool kinematic) + { + if(m_RigidBody2D != null) + { + m_RigidBody2D.isKinematic = kinematic; + } + else if(m_RigidBody3D != null) + { + m_RigidBody3D.isKinematic = kinematic; + } + } + } + + /// + /// Helper class for passing information about collisions + /// + public class JellyCollision + { + public Collision Collision { get; set; } + public JellySpriteReferencePoint ReferencePoint { get; set; } + } + + /// + /// Helper class for passing information about 2D collisions + /// + public class JellyCollision2D + { + public Collision2D Collision2D { get; set; } + public JellySpriteReferencePoint ReferencePoint { get; set; } + } + + /// + /// Helper class for passing information about triggers + /// + public class JellyCollider + { + public Collider Collider { get; set; } + public JellySpriteReferencePoint ReferencePoint { get; set; } + } + + /// + /// Helper class for passing information about 2D collisions + /// + public class JellyCollider2D + { + public Collider2D Collider2D { get; set; } + public JellySpriteReferencePoint ReferencePoint { get; set; } + } +#endregion + + /// + /// JellySprite constructor + /// + void Awake() + { + m_Transform = this.transform; + } + + /// + /// Start this instance. + /// + void Start() + { + if(m_FreeModeBodyPositions == null) + { + m_FreeModeBodyPositions = new List(); + m_FreeModeBodyPositions.Add(Vector3.zero); + + m_FreeModeBodyRadii = new List(); + m_FreeModeBodyRadii.Add(1.0f); + + m_FreeModeBodyKinematic = new List(); + m_FreeModeBodyKinematic.Add(false); + } + + // Maintaining support for users upgrading from 1.07 to 1.08 + if(m_FreeModeBodyKinematic.Count != m_FreeModeBodyPositions.Count) + { + m_FreeModeBodyKinematic = new List(); + + for(int loop = 0; loop < m_FreeModeBodyPositions.Count; loop++) + { + m_FreeModeBodyKinematic.Add(false); + } + } + + Bounds spriteBounds = new Bounds(); + + if(IsSpriteValid()) + { + spriteBounds = GetSpriteBounds(); + InitVertices(spriteBounds); + InitMaterial(); + InitMesh(); + } + else + { + MeshFilter meshFilter = GetComponent(); + + // If the user hasn't supplied a mesh, attempt to extract it from the meshfilter + if(Application.isPlaying && meshFilter.sharedMesh != null) + { + m_SpriteMesh = meshFilter.sharedMesh; + m_Vertices = m_SpriteMesh.vertices; + m_InitialVertexPositions = m_SpriteMesh.vertices; + m_Triangles = m_SpriteMesh.triangles; + m_TexCoords = m_SpriteMesh.uv; + m_Colors = m_SpriteMesh.colors; + spriteBounds = m_SpriteMesh.bounds; + m_SpriteScale = Vector3.one; + } + else if(Application.isPlaying) + { + Debug.LogError("Failed to initialize Jelly Sprite " + name + " - no valid sprite or mesh"); + this.enabled = false; + return; + } + } + + m_InitialAttachPointPositions = new Vector3[m_AttachPoints.Length]; + m_IsAttachPointJellySprite = new bool[m_AttachPoints.Length]; + + if(Application.isPlaying) + { + Vector3 spriteAngle = m_Transform.eulerAngles; + m_Transform.eulerAngles = Vector3.zero; + +#if UNITY_4_3 + if(m_2DMode && !Physics2D.GetIgnoreLayerCollision(this.gameObject.layer, this.gameObject.layer)) + { + Debug.LogError("Layer '" + LayerMask.LayerToName(this.gameObject.layer) + "' is set to collide with itself - soft body physics will not work as intended. Please disable collisions between this layer and itself (Edit->Project Settings->Physics 2D)"); + return; + } +#endif + + m_ReferencePointParent = new GameObject(); + m_ReferencePointParent.name = this.name + " Reference Points"; + + m_ReferencePoints = new List(); + + switch(m_Style) + { + case PhysicsStyle.Circle: + CreateRigidBodiesCircle(spriteBounds); + break; + case PhysicsStyle.Triangle: + CreateRigidBodiesTriangle(spriteBounds); + break; + case PhysicsStyle.Rectangle: + CreateRigidBodiesRectangle(spriteBounds); + break; + case PhysicsStyle.Line: + CreateRigidBodiesLine(spriteBounds); + break; + case PhysicsStyle.Grid: + CreateRigidBodiesGrid(spriteBounds); + break; + case PhysicsStyle.Free: + CreateRigidBodiesFree(spriteBounds); + break; + } + + if(m_CentralPoint != null) + { + m_CentralPoint.GameObject.name = this.name + " Central Ref Point"; + } + + if(m_Style != PhysicsStyle.Free) + { + UpdateRotationLock(); + } + + CalculateInitialOffsets(); + InitMass(); + CalculateWeightingValues(); + SetupCollisions(); + + m_ReferencePointOffsets = new Vector3[m_ReferencePoints.Count]; + + foreach(ReferencePoint referencePoint in m_ReferencePoints) + { + if(!referencePoint.IsDummy) + { + Vector3 referencePointPosition = referencePoint.transform.position; + Vector3 centralPointPosition = m_Transform.position; + referencePoint.transform.position = centralPointPosition + (Quaternion.Euler(spriteAngle) * (referencePointPosition - centralPointPosition)); + } + } + + m_CentralPoint.transform.eulerAngles = spriteAngle; + } + } + + /// + /// Calculates the initial offsets of each reference point + /// + void CalculateInitialOffsets() + { + foreach(ReferencePoint referencePoint in m_ReferencePoints) + { + if(referencePoint.GameObject && referencePoint != m_CentralPoint) + { + referencePoint.InitialOffset = m_CentralPoint.transform.InverseTransformPoint(referencePoint.transform.position); + } + } + + int index = 0; + + foreach(Transform attachPointTransform in m_AttachPoints) + { + JellySprite attachedJellySprite = attachPointTransform.GetComponent(); + Vector3 position = m_CentralPoint.transform.InverseTransformPoint(attachPointTransform.position); + position.x /= m_Transform.localScale.x; + position.y /= m_Transform.localScale.y; + + if(attachedJellySprite) + { + m_IsAttachPointJellySprite[index] = true; + m_InitialAttachPointPositions[index++] = position; + } + else + { + m_IsAttachPointJellySprite[index] = false; + m_InitialAttachPointPositions[index++] = position; + attachPointTransform.parent = m_Transform; + } + } + + for(int loop = 0; loop < m_Vertices.Length; loop++) + { + m_InitialVertexPositions[loop] -= m_Transform.InverseTransformPoint(m_CentralPoint.transform.position); + m_Vertices[loop] -= m_Transform.InverseTransformPoint(m_CentralPoint.transform.position); + } + } + + /// + /// Raises the enable event. + /// + void OnEnable() + { + if(m_ReferencePointParent) + { + m_ReferencePointParent.SetActive(true); + } + + // Collisions need to be set up again each time the object is activated + SetupCollisions(); + } + + /// + /// Raises the disable event + /// + void OnDisable() + { + if (m_ReferencePointParent) + { + m_ReferencePointParent.SetActive(false); + } + } + + /// + /// Get the bounds of the sprite + /// + protected abstract Bounds GetSpriteBounds(); + + /// + /// Check if the sprite is valid + /// + protected abstract bool IsSpriteValid(); + + /// + /// Raises the destroy event. + /// + void OnDestroy() + { + if(m_ReferencePointParent != null) + { + Destroy(m_ReferencePointParent); + } + } + + /// + /// Create reference points in a circular formation around the central body. Each point is linked to + /// its neighbors and to the center + /// + void CreateRigidBodiesCircle(Bounds spriteBounds) + { + int numPoints = m_RadiusPoints; + float width = spriteBounds.size.x * m_SpriteScale.x; + float radius = width * 0.5f; + float sphereRadius = m_SphereRadius * m_Transform.localScale.x; + + m_CentralPoint = AddReferencePoint(m_CentralBodyOffset, width * sphereRadius, m_LockRotation); + + // Add nodes in a circle around the centre + for(int loop = 0; loop < numPoints; loop++) + { + // Work out the correct offset to place the node + float angle = ((Mathf.PI * 2)/numPoints) * loop; + Vector2 offset = new Vector2(Mathf.Cos(angle), Mathf.Sin(angle)); + offset *= radius; + offset.x *= m_SoftBodyScale.x; + offset.y *= m_SoftBodyScale.y; + Vector3 bodyPosition = offset * (1.0f - ((sphereRadius * width) / (m_Transform.localScale.x * offset.magnitude))) + m_SoftBodyOffset; + ReferencePoint referencePoint = AddReferencePoint(bodyPosition, width * sphereRadius, true); + AttachPoint(referencePoint, m_CentralPoint); + } + + if(m_AttachNeighbors) + { + for(int loop = 2; loop < m_ReferencePoints.Count; loop++) + { + AttachPoint(m_ReferencePoints[loop], m_ReferencePoints[loop - 1]); + } + + AttachPoint(m_ReferencePoints[m_ReferencePoints.Count - 1], m_ReferencePoints[1]); + } + } + + /// + /// Create reference points in a triangle formation. Each point is connected to the central point + /// and to its neighbors + /// + void CreateRigidBodiesTriangle(Bounds spriteBounds) + { + float width = spriteBounds.size.x * m_SoftBodyScale.x * m_SpriteScale.x; + float height = spriteBounds.size.y * m_SoftBodyScale.y * m_SpriteScale.y; + float radius = spriteBounds.size.y * m_SphereRadius * m_SpriteScale.y * m_Transform.localScale.y; + float offsetFactor = 0.5f - m_SphereRadius; + + m_CentralPoint = AddReferencePoint(m_CentralBodyOffset, radius, m_LockRotation); + + ReferencePoint bottomLeftPoint = AddReferencePoint(new Vector2(-width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset, radius, true); + AttachPoint(bottomLeftPoint, m_CentralPoint); + + ReferencePoint bottomRightPoint = AddReferencePoint(new Vector2(width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset, radius, true); + AttachPoint(bottomRightPoint, m_CentralPoint); + + ReferencePoint topCentrePoint = AddReferencePoint(new Vector2(0.0f, height * offsetFactor) + m_SoftBodyOffset, radius, true); + AttachPoint(topCentrePoint, m_CentralPoint); + + if(m_AttachNeighbors) + { + AttachPoint(m_ReferencePoints[1], m_ReferencePoints[2]); + AttachPoint(m_ReferencePoints[2], m_ReferencePoints[3]); + AttachPoint(m_ReferencePoints[3], m_ReferencePoints[1]); + } + } + + /// + /// Create reference points in a rectangular formation with each point connected to the central + /// point and to its neighbors + /// + void CreateRigidBodiesRectangle(Bounds spriteBounds) + { + float width = spriteBounds.size.x * m_SoftBodyScale.x * m_SpriteScale.x; + float height = spriteBounds.size.y * m_SoftBodyScale.y * m_SpriteScale.y; + float radius = spriteBounds.size.y * m_SphereRadius * m_SpriteScale.y * m_Transform.localScale.y; + float offsetFactor = 0.5f - m_SphereRadius; + + m_CentralPoint = AddReferencePoint(m_CentralBodyOffset, radius, m_LockRotation); + + ReferencePoint bottomLeftPoint = AddReferencePoint(new Vector2(-width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset, radius, true); + AttachPoint(bottomLeftPoint, m_CentralPoint); + + ReferencePoint bottomRightPoint = AddReferencePoint(new Vector2(width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset, radius, true); + AttachPoint(bottomRightPoint, m_CentralPoint); + + ReferencePoint topRightPoint = AddReferencePoint(new Vector2(width * offsetFactor, height * offsetFactor) + m_SoftBodyOffset, radius, true); + AttachPoint(topRightPoint, m_CentralPoint); + + ReferencePoint topLeftPoint = AddReferencePoint(new Vector2(-width * offsetFactor, height * offsetFactor) + m_SoftBodyOffset, radius, true); + AttachPoint(topLeftPoint, m_CentralPoint); + + if(m_AttachNeighbors) + { + AttachPoint(m_ReferencePoints[1], m_ReferencePoints[2]); + AttachPoint(m_ReferencePoints[2], m_ReferencePoints[3]); + AttachPoint(m_ReferencePoints[3], m_ReferencePoints[4]); + AttachPoint(m_ReferencePoints[4], m_ReferencePoints[1]); + } + } + + /// + /// Create reference points in a line formation with each point connected to its neighbors + /// + void CreateRigidBodiesLine(Bounds spriteBounds) + { + float width = spriteBounds.size.x * m_SoftBodyScale.x * m_SpriteScale.x; + float radius = spriteBounds.size.x * m_SphereRadius * m_SpriteScale.x * this.transform.localScale.x; + + // Always create an odd number of points so that we can correctly pick the central one + int numPoints = ((m_GridColumns/2) * 2) + 1; + + for(int x = 0; x < numPoints; x++) + { + Vector2 position; + position.x = (-width * 0.5f) + ((width/(float)(numPoints - 1)) * x); + position.y = 0.0f; + + if(x == m_GridColumns/2) + { + AddReferencePoint(position + m_CentralBodyOffset, radius, true); + } + else + { + AddReferencePoint(position + m_SoftBodyOffset, radius, true); + } + + if(x > 0) + { + AttachPoint(m_ReferencePoints[x], m_ReferencePoints[x-1]); + } + } + + m_CentralPoint = m_ReferencePoints[m_GridColumns/2]; + } + + /// + /// Create reference points in a diamond grid formation around the central body. Each point is linked to + /// its neighbors + /// + void CreateRigidBodiesGrid(Bounds spriteBounds) + { + float radius = spriteBounds.size.x * m_SphereRadius * m_SpriteScale.x; + float width = (spriteBounds.size.x * m_SoftBodyScale.x * m_SpriteScale.x) - (m_SphereRadius * 4); + float height = (spriteBounds.size.y * m_SoftBodyScale.y * m_SpriteScale.y) - (m_SphereRadius * 4); + + int columns = m_GridColumns; + int rows = m_GridRows; + + columns = Mathf.Max(1, columns); + rows = Mathf.Max(1, rows); + + for(int y = 0; y < rows; y++) + { + for(int x = 0; x < columns; x++) + { + if(y % 2 != 0 && x == columns - 1) + { + Rigidbody2D dummyBody = null; + ReferencePoint dummyPoint = new ReferencePoint(dummyBody); + m_ReferencePoints.Add(dummyPoint); + } + else + { + Vector2 position; + position.x = (-width * 0.5f) + ((width/(float)(columns - 1)) * x); + + if(y % 2 != 0) + { + position.x += ((width/(float)(columns - 1)) * 0.5f); + } + + position.y = (-height * 0.5f) + ((height/(float)(rows - 1)) * y); + position += m_SoftBodyOffset; + ReferencePoint refPoint = AddReferencePoint(position, radius, true); + + if(x == columns/2 && y == rows/2) + { + m_CentralPoint = refPoint; + } + } + } + } + + for(int y = 0; y < rows - 1; y++) + { + for(int x = 0; x < columns; x++) + { + int thisPoint = (y * columns) + x; + int nextPoint = ((y + 1) * columns) + x; + + if(!m_ReferencePoints[thisPoint].IsDummy && !m_ReferencePoints[nextPoint].IsDummy) + { + AttachPoint(m_ReferencePoints[thisPoint], m_ReferencePoints[nextPoint]); + } + } + } + + for(int y = 0; y < rows - 1; y++) + { + for(int x = 1; x < columns - 1; x++) + { + if(y % 2 == 0) + { + int thisPoint = (y * columns) + x; + int nextPoint = ((y + 1) * columns) + (x - 1); + + if(!m_ReferencePoints[thisPoint].IsDummy && !m_ReferencePoints[nextPoint].IsDummy) + { + AttachPoint(m_ReferencePoints[thisPoint], m_ReferencePoints[nextPoint]); + } + } + } + } + + for(int y = 0; y < rows - 1; y++) + { + for(int x = 0; x < columns - 1; x++) + { + if(y % 2 != 0) + { + int thisPoint = (y * columns) + x; + int nextPoint = ((y + 1) * columns) + (x + 1); + + if(!m_ReferencePoints[thisPoint].IsDummy && !m_ReferencePoints[nextPoint].IsDummy) + { + AttachPoint(m_ReferencePoints[thisPoint], m_ReferencePoints[nextPoint]); + } + } + } + } + + for(int y = 0; y < rows - 1; y++) + { + if(y % 2 == 0) + { + int x = columns - 1; + int thisPoint = (y * columns) + x; + int nextPoint = ((y + 1) * columns) + (x - 1); + + if(!m_ReferencePoints[thisPoint].IsDummy && !m_ReferencePoints[nextPoint].IsDummy) + { + AttachPoint(m_ReferencePoints[thisPoint], m_ReferencePoints[nextPoint]); + } + } + } + } + + /// + /// Creates the rigid bodies in a free configuration based around a central point + /// + /// . + void CreateRigidBodiesFree(Bounds spriteBounds) + { + m_CentralBodyOffset = m_FreeModeBodyPositions[0]; + m_CentralPoint = AddReferencePoint(m_FreeModeBodyPositions[0], m_FreeModeBodyRadii[0], m_LockRotation); + m_CentralPoint.SetKinematic(m_FreeModeBodyKinematic[0]); + + for(int loop = 1; loop < m_FreeModeBodyPositions.Count; loop++) + { + ReferencePoint referencePoint = AddReferencePoint(m_FreeModeBodyPositions[loop], m_FreeModeBodyRadii[loop], true); + AttachPoint(referencePoint, m_CentralPoint); + referencePoint.SetKinematic(m_FreeModeBodyKinematic[loop]); + } + + if(m_AttachNeighbors) + { + for(int loop = 2; loop < m_ReferencePoints.Count; loop++) + { + AttachPoint(m_ReferencePoints[loop], m_ReferencePoints[loop - 1]); + } + + AttachPoint(m_ReferencePoints[m_ReferencePoints.Count - 1], m_ReferencePoints[1]); + } + } + + /// + /// Update the sprite after changing the rotation lock flag + /// + public void UpdateRotationLock() + { + if(m_CentralPoint != null) + { + if(m_2DMode) + { + Rigidbody2D centreRigidBody = m_CentralPoint.Body2D; + RigidbodyConstraints2D constraints = centreRigidBody.constraints; + + if(m_LockRotation) + { + constraints |= RigidbodyConstraints2D.FreezeRotation; + } + else + { + constraints &= ~RigidbodyConstraints2D.FreezeRotation; + } + + centreRigidBody.constraints = constraints; + centreRigidBody.isKinematic = m_CentralBodyKinematic; + } + else + { + Rigidbody centreRigidBody = m_CentralPoint.Body3D; + + // Fix the body to the 2D plane + RigidbodyConstraints constraints = centreRigidBody.constraints; + + if(m_LockRotation) + { + constraints |= RigidbodyConstraints.FreezeRotationZ; + } + else + { + constraints &= ~RigidbodyConstraints.FreezeRotationZ; + } + + centreRigidBody.constraints = constraints; + centreRigidBody.isKinematic = m_CentralBodyKinematic; + } + } + } + + /// + /// Add a reference point - essentially just a rigid body + circle collider - at the given + /// position and with the given properties + /// + ReferencePoint AddReferencePoint(Vector3 position, float radius, bool lockRotation) + { + position = Quaternion.Euler(0, 0, m_SoftBodyRotation) * position; + GameObject referencePointObject = new GameObject(); + referencePointObject.name = this.name + " Ref Point " + m_ReferencePoints.Count.ToString(); + referencePointObject.transform.parent = m_ReferencePointParent.transform; + referencePointObject.transform.position = m_Transform.TransformPoint(position); + referencePointObject.layer = gameObject.layer; + referencePointObject.tag = gameObject.tag; + + JellySpriteReferencePoint refPointBehaviour = referencePointObject.AddComponent(); + refPointBehaviour.ParentJellySprite = this.gameObject; + refPointBehaviour.Index = m_ReferencePoints.Count; + + ReferencePoint referencePoint = null; + + if(m_2DMode) + { + CircleCollider2D circleCollider = referencePointObject.AddComponent(); + circleCollider.radius = radius; + circleCollider.sharedMaterial = m_PhysicsMaterial2D; + + Rigidbody2D newRigidBody = referencePointObject.AddComponent(); + + if(lockRotation) + { + newRigidBody.constraints |= RigidbodyConstraints2D.FreezeRotation; + } + + newRigidBody.interpolation = m_Interpolation2D; + newRigidBody.collisionDetectionMode = m_CollisionDetectionMode2D; + referencePoint = new ReferencePoint(newRigidBody); + } + else + { + SphereCollider circleCollider = referencePointObject.AddComponent(); + circleCollider.radius = radius; + circleCollider.sharedMaterial = m_PhysicsMaterial; + + Rigidbody newRigidBody = referencePointObject.AddComponent(); + + // Fix the body to the 2D plane + RigidbodyConstraints constraints = newRigidBody.constraints; + constraints |= RigidbodyConstraints.FreezePositionZ; + constraints |= RigidbodyConstraints.FreezeRotationX; + constraints |= RigidbodyConstraints.FreezeRotationY; + + // Prevent rotation unless desired + constraints |= RigidbodyConstraints.FreezeRotationX; + constraints |= RigidbodyConstraints.FreezeRotationY; + + if(lockRotation) + { + constraints |= RigidbodyConstraints.FreezeRotationZ; + } + + newRigidBody.constraints = constraints; + newRigidBody.interpolation = m_Interpolation; + newRigidBody.collisionDetectionMode = m_CollisionDetectionMode; + + referencePoint = new ReferencePoint(newRigidBody); + } + + m_ReferencePoints.Add(referencePoint); + return referencePoint; + } + + /// + /// Attach two reference points together using a spring joint + /// + void AttachPoint(ReferencePoint point1, ReferencePoint point2) + { + if(m_2DMode) + { + SpringJoint2D joint = point1.Body2D.gameObject.AddComponent(); + joint.connectedBody = point2.Body2D; + joint.connectedAnchor = point1.Body2D.transform.localPosition - point2.Body2D.transform.localPosition; + joint.distance = 0.0f; + +#if UNITY_5 + joint.enableCollision = m_CollideConnected; +#else + joint.enableCollision = m_CollideConnected; +#endif + + joint.frequency = m_Stiffness; + joint.dampingRatio = m_DampingRatio; + joint.autoConfigureDistance = false; + } + else + { + SpringJoint joint = point1.Body3D.gameObject.AddComponent(); + joint.autoConfigureConnectedAnchor = false; + + joint.connectedBody = point2.Body3D; + joint.connectedAnchor = point1.Body3D.transform.localPosition - point2.Body3D.transform.localPosition; + joint.minDistance = 0.0f; + joint.maxDistance = 0.0f; + joint.enableCollision = m_CollideConnected; + + joint.spring = m_Stiffness; + joint.damper = m_DampingRatio; + } + } + + /// + /// Each vertex takes its position from the movement of the reference points, with closer reference + /// points contributing more to the final position than those far away. We can pre-calculate these weighting + /// values as they remain constant. + /// + public void CalculateWeightingValues() + { + float inverseScaleX = 1.0f / m_Transform.localScale.x; + float inverseScaleY = 1.0f / m_Transform.localScale.y; + + if(m_ReferencePoints != null) + { + m_ReferencePointWeightings = new float[m_Vertices.Length, m_ReferencePoints.Count]; + + for(int vertexIndex = 0; vertexIndex < m_Vertices.Length; vertexIndex++) + { + float distanceSum = 0.0f; + + for(int referencePointIndex = 0; referencePointIndex < m_ReferencePoints.Count; referencePointIndex++) + { + if(!m_ReferencePoints[referencePointIndex].IsDummy) + { + Vector3 offset = m_ReferencePoints[referencePointIndex].InitialOffset; + offset.x = offset.x * inverseScaleX; + offset.y = offset.y * inverseScaleY; + float distance = Vector2.Distance(offset, m_Vertices[vertexIndex]); + distance = Mathf.Pow(distance, m_DistanceExponent); + float invDistance = float.MaxValue; + + if(distance > 0.0f) + { + invDistance = 1.0f/distance; + } + + distanceSum += invDistance; + } + } + + for(int referencePointIndex = 0; referencePointIndex < m_ReferencePoints.Count; referencePointIndex++) + { + if(!m_ReferencePoints[referencePointIndex].IsDummy) + { + Vector3 offset = m_ReferencePoints[referencePointIndex].InitialOffset; + offset.x = offset.x * inverseScaleX; + offset.y = offset.y * inverseScaleY; + float distance = Vector2.Distance(offset, m_Vertices[vertexIndex]); + distance = Mathf.Pow(distance, m_DistanceExponent); + float invDistance = float.MaxValue; + + if(distance > 0.0f) + { + invDistance = 1.0f/distance; + } + + m_ReferencePointWeightings[vertexIndex, referencePointIndex] = invDistance/distanceSum; + } + } + } + } + + if(m_AttachPoints != null && m_ReferencePoints != null) + { + m_AttachPointWeightings = new float[m_AttachPoints.Length, m_ReferencePoints.Count]; + + for(int attachPointIndex = 0; attachPointIndex < m_AttachPoints.Length; attachPointIndex++) + { + float distanceSum = 0.0f; + + for(int referencePointIndex = 0; referencePointIndex < m_ReferencePoints.Count; referencePointIndex++) + { + if(!m_ReferencePoints[referencePointIndex].IsDummy) + { + Vector3 offset = m_ReferencePoints[referencePointIndex].InitialOffset; + offset.x = offset.x * inverseScaleX; + offset.y = offset.y * inverseScaleY; + float distance = Vector2.Distance(offset, m_AttachPoints[attachPointIndex].localPosition); + distance = Mathf.Pow(distance, m_DistanceExponent); + float invDistance = float.MaxValue; + + if(distance > 0.0f) + { + invDistance = 1.0f/distance; + } + + distanceSum += invDistance; + } + } + + for(int referencePointIndex = 0; referencePointIndex < m_ReferencePoints.Count; referencePointIndex++) + { + if(!m_ReferencePoints[referencePointIndex].IsDummy) + { + Vector3 offset = m_ReferencePoints[referencePointIndex].InitialOffset; + offset.x = offset.x * inverseScaleX; + offset.y = offset.y * inverseScaleY; + float distance = Vector2.Distance(offset, m_AttachPoints[attachPointIndex].localPosition); + distance = Mathf.Pow(distance, m_DistanceExponent); + float invDistance = float.MaxValue; + + if(distance > 0.0f) + { + invDistance = 1.0f/distance; + } + + m_AttachPointWeightings[attachPointIndex, referencePointIndex] = invDistance/distanceSum; + } + } + } + } + } + + /// + /// Disable reference points from colliding with one another + /// + void SetupCollisions() + { + if(m_ReferencePoints != null) + { + for(int referencePointIndex = 0; referencePointIndex < m_ReferencePoints.Count; referencePointIndex++) + { + for(int comparisonPointIndex = 0; comparisonPointIndex < m_ReferencePoints.Count; comparisonPointIndex++) + { + if(!m_ReferencePoints[referencePointIndex].IsDummy && !m_ReferencePoints[comparisonPointIndex].IsDummy) + { + if(m_2DMode) + { + if(referencePointIndex != comparisonPointIndex) + { +#if UNITY_4_3 + // No support for 2D IgnoreCollision in Unity < 4.5 + if(!Physics2D.GetIgnoreLayerCollision(this.gameObject.layer, this.gameObject.layer)) + { + Debug.LogError("Layer '" + LayerMask.LayerToName(this.gameObject.layer) + "' is set to collide with itself - soft body physics will not work as intended. Please disable collisions between this layer and itself (Edit->Project Settings->Physics 2D)"); + return; + } +#else + Physics2D.IgnoreCollision(m_ReferencePoints[referencePointIndex].Collider2D, m_ReferencePoints[comparisonPointIndex].Collider2D); +#endif + } + + } + else + { + if(referencePointIndex != comparisonPointIndex) + { + Physics.IgnoreCollision(m_ReferencePoints[referencePointIndex].Collider, m_ReferencePoints[comparisonPointIndex].Collider); + } + } + } + } + } + } + } + + /// + /// Initialise the render material + /// + protected abstract void InitMaterial(); + + /// + /// Check if the source sprite is rotated + /// + protected abstract bool IsSourceSpriteRotated(); + + /// + /// Initialise the grid of vertices that will be used to render this object. + /// + void InitVertices(Bounds spriteBounds) + { + float width = spriteBounds.size.x * m_SpriteScale.x; + float height = spriteBounds.size.y * m_SpriteScale.y; + + // Work out how many nodes we need in each direction + float nodeDistance = Mathf.Min(width, height)/m_VertexDensity; + int vertexGridWidth = Mathf.CeilToInt(width/nodeDistance); + int vertexGridHeight = Mathf.CeilToInt(height/nodeDistance); + + // Set up our texture coordinates for each vertex + int numVertices = vertexGridWidth * vertexGridHeight; + m_Vertices = new Vector3[numVertices]; + m_InitialVertexPositions = new Vector3[numVertices]; + m_Colors = new Color[numVertices]; + m_TexCoords = new Vector2[numVertices]; + m_Triangles = new int[numVertices * 6]; + + bool rotated = IsSourceSpriteRotated(); + + // Work out vertex positions and texture coordinates + for(int x = 0; x < vertexGridWidth; x++) + { + for(int y = 0; y < vertexGridHeight; y++) + { + int vertexIndex = (x * vertexGridHeight) + y; + Vector2 uv = Vector2.zero; + uv.x = x/((float)vertexGridWidth - 1); + uv.y = y/((float)vertexGridHeight - 1); + + if(m_FlipX) + { + uv.x = 1.0f - uv.x; + } + + if(m_FlipY) + { + uv.y = 1.0f - uv.y; + } + + if(rotated) + { + float temp = uv.x; + uv.x = 1.0f; + uv.y = temp; + } + + m_TexCoords[vertexIndex] = uv; + m_Colors[vertexIndex] = m_Color; + + Vector3 vertexPosition = Vector3.zero; + vertexPosition.x = (-width * 0.5f) + ((width/((float)vertexGridWidth - 1)) * x); + vertexPosition.y = (-height * 0.5f) + ((height/((float)vertexGridHeight - 1)) * y); + vertexPosition = Quaternion.Euler(0, 0, m_SpriteRotation) * vertexPosition; + + m_Vertices[vertexIndex] = vertexPosition; + } + } + + m_Vertices.CopyTo(m_InitialVertexPositions, 0); + + // Generate triangle indices + int numTriangles = 0; + + for(int x = 0; x < vertexGridWidth - 1; x++) + { + for(int y = 0; y < vertexGridHeight - 1; y++) + { + int p0 = (x * vertexGridHeight) + y; + int p1 = (x * vertexGridHeight) + (y + 1); + int p2 = ((x + 1) * vertexGridHeight) + (y + 1); + int p3 = ((x + 1) * vertexGridHeight) + y; + + m_Triangles[numTriangles++] = p0; + m_Triangles[numTriangles++] = p1; + m_Triangles[numTriangles++] = p2; + + m_Triangles[numTriangles++] = p3; + m_Triangles[numTriangles++] = p0; + m_Triangles[numTriangles++] = p2; + } + } + + Vector2 minTextureCoords; + Vector2 maxTextureCoords; + + GetMinMaxTextureRect(out minTextureCoords, out maxTextureCoords); + FixupTextureCoordinates(minTextureCoords, maxTextureCoords); + } + + /// + /// Called if you need to reinitialise the material at runtime (eg. animating the + /// sprite's texture + /// + public void ReInitMaterial() + { + InitMaterial(); + } + + /// + /// Updates the texture coords. + /// + public void UpdateTextureCoords() + { + if(m_SpriteMesh) + { + Bounds spriteBounds = GetSpriteBounds(); + float width = spriteBounds.size.x * m_SpriteScale.x; + float height = spriteBounds.size.y * m_SpriteScale.y; + + // Work out how many nodes we need in each direction + float nodeDistance = Mathf.Min(width, height)/m_VertexDensity; + int vertexGridWidth = Mathf.CeilToInt(width/nodeDistance); + int vertexGridHeight = Mathf.CeilToInt(height/nodeDistance); + + bool rotated = IsSourceSpriteRotated(); + + // Work out vertex positions and texture coordinates + for(int x = 0; x < vertexGridWidth; x++) + { + for(int y = 0; y < vertexGridHeight; y++) + { + int vertexIndex = (x * vertexGridHeight) + y; + Vector2 uv = Vector2.zero; + uv.x = x/((float)vertexGridWidth - 1); + uv.y = y/((float)vertexGridHeight - 1); + + if(m_FlipX) + { + uv.x = 1.0f - uv.x; + } + + if(m_FlipY) + { + uv.y = 1.0f - uv.y; + } + + if(rotated) + { + float temp = uv.x; + uv.x = 1.0f; + uv.y = temp; + } + + m_TexCoords[vertexIndex] = uv; + } + } + + Vector2 minTextureCoords; + Vector2 maxTextureCoords; + + GetMinMaxTextureRect(out minTextureCoords, out maxTextureCoords); + FixupTextureCoordinates(minTextureCoords, maxTextureCoords); + + m_SpriteMesh.uv = m_TexCoords; + } + } + + /// + /// Flip the sprite horizontally + /// + public void SetFlipHorizontal(bool flipHorizontal) + { + if(flipHorizontal != m_FlipX) + { + m_FlipX = flipHorizontal; + UpdateTextureCoords(); + + for(int loop = 0; loop < m_AttachPoints.Length; loop++) + { + Vector3 offset = m_InitialAttachPointPositions[loop]; + Vector3 rotation = m_AttachPoints[loop].localEulerAngles; + offset.x *= -1.0f; + rotation.y = m_FlipX ? 180.0f : 0.0f; + m_InitialAttachPointPositions[loop] = offset; + m_AttachPoints[loop].localEulerAngles = rotation; + } + } + } + + /// + /// Flip the sprite vertically + /// + public void SetFlipVertical(bool flipVertical) + { + if(flipVertical != m_FlipY) + { + m_FlipY = flipVertical; + UpdateTextureCoords(); + + for(int loop = 0; loop < m_AttachPoints.Length; loop++) + { + Vector3 offset = m_InitialAttachPointPositions[loop]; + Vector3 rotation = m_AttachPoints[loop].localEulerAngles; + offset.y *= -1.0f; + rotation.x = m_FlipY ? 180.0f : 0.0f; + m_InitialAttachPointPositions[loop] = offset; + m_AttachPoints[loop].localEulerAngles = rotation; + } + } + } + + /// + /// Sets the position of the Jelly Sprite + /// + public void SetPosition(Vector3 position, bool resetVelocity) + { + if (CentralPoint == null || CentralPoint.transform == null) + { + this.transform.position = position; + return; + } + + Vector3 offset = position - CentralPoint.transform.position; + + foreach(JellySprite.ReferencePoint referencePoint in ReferencePoints) + { + if(!referencePoint.IsDummy) + { + referencePoint.transform.position = referencePoint.transform.position + offset; + + if(resetVelocity) + { + if(referencePoint.Body2D) + { + referencePoint.Body2D.angularVelocity = 0.0f; + referencePoint.Body2D.linearVelocity = Vector2.zero; + } + else if(referencePoint.Body3D) + { + referencePoint.Body3D.angularVelocity = Vector3.zero; + referencePoint.Body3D.linearVelocity = Vector3.zero; + } + } + } + } + } + + /// + /// Reset the jelly sprite bodies back to their original offsets, and places the Jelly Sprite at + /// the given positon/rotation + /// + public void Reset(Vector3 position, Vector3 rotation) + { + m_CentralPoint.transform.position = position; + m_CentralPoint.transform.eulerAngles = rotation; + + for(int referencePointIndex = 0; referencePointIndex < m_ReferencePoints.Count; referencePointIndex++) + { + if(!m_ReferencePoints[referencePointIndex].IsDummy && m_ReferencePoints[referencePointIndex] != m_CentralPoint) + { + ReferencePoint referencePoint = m_ReferencePoints[referencePointIndex]; + referencePoint.transform.localPosition = m_CentralPoint.transform.TransformPoint(referencePoint.InitialOffset); + + if(referencePoint.Body2D) + { + referencePoint.Body2D.angularVelocity = 0.0f; + referencePoint.Body2D.linearVelocity = Vector2.zero; + } + else if(referencePoint.Body3D) + { + referencePoint.Body3D.angularVelocity = Vector3.zero; + referencePoint.Body3D.linearVelocity = Vector3.zero; + } + } + } + + UpdateMesh(); + UpdateAttachPoints(); + } + + + + /// + /// Sets whether or not the Jelly Sprite is kinematic + /// + public void SetKinematic(bool isKinematic, bool centralPointOnly) + { + foreach(JellySprite.ReferencePoint referencePoint in ReferencePoints) + { + if(!referencePoint.IsDummy) + { + if(referencePoint == m_CentralPoint || !centralPointOnly) + { + if(referencePoint.Body2D) + { + referencePoint.Body2D.isKinematic = isKinematic; + } + else if(referencePoint.Body3D) + { + referencePoint.Body3D.isKinematic = isKinematic; + } + } + } + } + } + + /// + /// Rotate the whole jelly sprite by the given angle + /// + public void Rotate(float angleChange) + { + Vector3 eulerAngleChange = new Vector3(0.0f, 0.0f, angleChange); + + // Rotate the central body by the required amount + CentralPoint.transform.localEulerAngles = CentralPoint.transform.localEulerAngles + eulerAngleChange; + + // Now go through all the reference points and orbit them around the central body by the required amount + foreach(ReferencePoint referencePoint in ReferencePoints) + { + if(!referencePoint.IsDummy) + { + Vector3 referencePointPosition = referencePoint.transform.position; + Vector3 centralPointPosition = m_Transform.position; + referencePoint.transform.position = centralPointPosition + (Quaternion.Euler(eulerAngleChange) * (referencePointPosition - centralPointPosition)); + } + } + } + + /// + /// Check if the Jelly Sprite is touching the given layer. You can specify how many physics bodies need to be touching for the + /// whole Jelly Sprite to be classes as grounded + /// + public bool IsGrounded(LayerMask groundLayer, int minGroundedBodies) + { + int numGroundedBodies = 0; + + foreach(JellySprite.ReferencePoint referencePoint in ReferencePoints) + { + if(!referencePoint.IsDummy) + { + if(referencePoint.Collider) + { + SphereCollider sphereCollider = referencePoint.Collider; + + if(Physics.CheckSphere(sphereCollider.bounds.center + new Vector3(0, -sphereCollider.radius * 0.1f, 0), sphereCollider.radius, groundLayer)) + { + numGroundedBodies++; + + if(numGroundedBodies >= minGroundedBodies) + { + return true; + } + } + } + else if(referencePoint.Collider2D) + { + CircleCollider2D circleCollider = referencePoint.Collider2D; + Vector2 bodyPosition = referencePoint.transform.position; + + if(Physics2D.OverlapCircle(bodyPosition + new Vector2(0, -circleCollider.radius * 0.1f), circleCollider.radius, groundLayer)) + { + numGroundedBodies++; + + if(numGroundedBodies >= minGroundedBodies) + { + return true; + } + } + } + } + } + + return false; + } + + protected abstract void GetMinMaxTextureRect(out Vector2 min, out Vector2 max); + + /// + /// Adjust our texture coordinates from a 0-1 scale to point at the correct offset into the + /// sprite rectangle + void FixupTextureCoordinates(Vector2 minTextureCoords, Vector2 maxTextureCoords) + { + for(int vertexIndex = 0; vertexIndex < m_Vertices.Length; vertexIndex++) + { + Vector2 spriteOffset = maxTextureCoords - minTextureCoords; + spriteOffset.Scale(m_TexCoords[vertexIndex]); + m_TexCoords[vertexIndex] = minTextureCoords + spriteOffset; + } + } + + /// + /// Resizes the attach point array + /// + public void ResizeAttachPoints() + { + Transform[] oldAttachPoints = new Transform[m_AttachPoints.Length]; + bool[] oldIsAttachPointJellySprite = new bool[m_AttachPoints.Length]; + Vector3[] oldInitialAttachPointPositions = new Vector3[m_AttachPoints.Length]; + + m_AttachPoints.CopyTo(oldAttachPoints, 0); + m_IsAttachPointJellySprite.CopyTo(oldIsAttachPointJellySprite, 0); + m_InitialAttachPointPositions.CopyTo(oldInitialAttachPointPositions, 0); + + m_AttachPoints = new Transform[m_NumAttachPoints]; + m_IsAttachPointJellySprite = new bool[m_NumAttachPoints]; + m_InitialAttachPointPositions = new Vector3[m_NumAttachPoints]; + + for(int loop = 0; loop < m_NumAttachPoints && loop < oldAttachPoints.Length; loop++) + { + m_AttachPoints[loop] = oldAttachPoints[loop]; + m_IsAttachPointJellySprite[loop] = oldIsAttachPointJellySprite[loop]; + m_InitialAttachPointPositions[loop] = oldInitialAttachPointPositions[loop]; + } + + if(m_AttachPointWeightings != null) + { + float[,] oldAttachPointWeightings = new float[m_AttachPointWeightings.GetLength(0),m_AttachPointWeightings.GetLength(1)]; + + for(int x = 0; x < m_AttachPointWeightings.GetLength(0); x++) + { + for(int y = 0; y < m_AttachPointWeightings.GetLength(1); y++) + { + oldAttachPointWeightings[x, y] = m_AttachPointWeightings[x, y]; + } + } + + m_AttachPointWeightings = new float[m_AttachPoints.Length, m_ReferencePoints.Count]; + + for(int x = 0; x < oldAttachPointWeightings.GetLength(0); x++) + { + for(int y = 0; y < oldAttachPointWeightings.GetLength(1); y++) + { + if(x < m_AttachPoints.Length) + { + m_AttachPointWeightings[x, y] = oldAttachPointWeightings[x, y]; + } + } + } + } + } + + /// + /// Called when free mode is selected for the first time - copies all existing points to + /// the free mode configuration + /// + public void OnCopyToFreeModeSelected() + { + if(IsSpriteValid()) + { + m_FreeModeBodyPositions.Clear(); + m_FreeModeBodyRadii.Clear(); + m_FreeModeBodyKinematic.Clear(); + + Bounds spriteBounds = GetSpriteBounds(); + float width = spriteBounds.size.x * m_SoftBodyScale.x * m_SpriteScale.x; + float height = spriteBounds.size.y * m_SoftBodyScale.y * m_SpriteScale.y; + + switch(m_Style) + { + case PhysicsStyle.Circle: + { + width = spriteBounds.size.x * m_SpriteScale.x; + height = spriteBounds.size.y * m_SpriteScale.x; + + int numPoints = m_RadiusPoints; + float radius = width * 0.5f; + float sphereRadius = m_SphereRadius * transform.localScale.x; + + AddFreeModeBodyDefinition(m_CentralBodyOffset, width * sphereRadius, m_CentralBodyKinematic); + + for(int loop = 0; loop < numPoints; loop++) + { + float angle = ((Mathf.PI * 2)/numPoints) * loop; + Vector2 offset = new Vector2(Mathf.Cos(angle), Mathf.Sin(angle)); + offset *= radius; + offset.x *= m_SoftBodyScale.x; + offset.y *= m_SoftBodyScale.y; + Vector3 bodyPosition = offset * (1.0f - ((sphereRadius * width) / (transform.localScale.x * offset.magnitude))) + m_SoftBodyOffset; + AddFreeModeBodyDefinition(bodyPosition, width * sphereRadius, false); + } + } + break; + + case PhysicsStyle.Triangle: + { + float radius = spriteBounds.size.y * m_SphereRadius * m_SpriteScale.y * transform.localScale.y; + float offsetFactor = 0.5f - m_SphereRadius; + AddFreeModeBodyDefinition(m_CentralBodyOffset, radius, m_CentralBodyKinematic); + AddFreeModeBodyDefinition(new Vector2(-width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset, radius, false); + AddFreeModeBodyDefinition(new Vector2(width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset, radius, false); + AddFreeModeBodyDefinition(new Vector2(0.0f, height * offsetFactor) + m_SoftBodyOffset, radius, false); + } + break; + + case PhysicsStyle.Rectangle: + { + float radius = spriteBounds.size.y * m_SphereRadius * m_SpriteScale.y * transform.localScale.y; + float offsetFactor = 0.5f - m_SphereRadius; + AddFreeModeBodyDefinition(m_CentralBodyOffset, radius, m_CentralBodyKinematic); + AddFreeModeBodyDefinition(new Vector2(-width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset, radius, false); + AddFreeModeBodyDefinition(new Vector2(width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset, radius, false); + AddFreeModeBodyDefinition(new Vector2(-width * offsetFactor, height * offsetFactor) + m_SoftBodyOffset, radius, false); + AddFreeModeBodyDefinition(new Vector2(width * offsetFactor, height * offsetFactor) + m_SoftBodyOffset, radius, false); + } + break; + + case PhysicsStyle.Free: + break; + + case PhysicsStyle.Grid: + { + width -= (m_SphereRadius * 4); + height -= (m_SphereRadius * 4); + + float radius = spriteBounds.size.x * m_SphereRadius * m_SpriteScale.x * m_Transform.localScale.x; + AddFreeModeBodyDefinition(Vector2.zero, radius, m_CentralBodyKinematic); + int columns = m_GridColumns; + int rows = m_GridRows; + + for(int y = 0; y < rows; y++) + { + for(int x = 0; x < (y % 2 == 0? columns : columns - 1); x++) + { + Vector2 position; + position.x = (-width * 0.5f) + ((width/(float)(columns - 1)) * x); + + if(y % 2 != 0) + { + position.x += width/(float)(columns - 1) * 0.5f; + } + + position.y = (-height * 0.5f) + ((height/(float)(rows - 1)) * y); + position += m_SoftBodyOffset; + AddFreeModeBodyDefinition(position, radius, false); + } + } + } + break; + } + + m_Style = PhysicsStyle.Free; + m_SoftBodyOffset = Vector3.zero; + m_SoftBodyRotation = 0.0f; + m_SoftBodyScale = Vector3.one; + } + } + + /// + /// First time setup of the mesh + /// + void InitMesh() + { + MeshFilter meshFilter = GetComponent(); + m_SpriteMesh = new Mesh(); + m_SpriteMesh.name = "JellySprite Mesh"; + m_SpriteMesh.MarkDynamic(); + meshFilter.mesh = m_SpriteMesh; + + m_SpriteMesh.Clear(); + m_SpriteMesh.vertices = m_Vertices; + m_SpriteMesh.uv = m_TexCoords; + m_SpriteMesh.triangles = m_Triangles; + m_SpriteMesh.colors = m_Colors; + m_SpriteMesh.RecalculateBounds(); + m_SpriteMesh.RecalculateNormals(); + } + + /// + /// Update the vertex positions of the mesh + /// + void UpdateMesh() + { + // For each vertex, look at the offset values of each reference point and apply the same offset + // (scaled by the weighting value) to the vertex's position + if(Application.isPlaying) + { + // Calculate reference point offsets + bool haveAnyPointsMoved = false; + + for(int referencePointIndex = 0; referencePointIndex < m_ReferencePoints.Count; referencePointIndex++) + { + if(!m_ReferencePoints[referencePointIndex].IsDummy && m_ReferencePoints[referencePointIndex] != m_CentralPoint) + { + ReferencePoint referencePoint = m_ReferencePoints[referencePointIndex]; + Vector3 offset = m_CentralPoint.transform.InverseTransformPoint(referencePoint.transform.position); + offset -= referencePoint.InitialOffset; + + if(haveAnyPointsMoved || m_ReferencePointOffsets[referencePointIndex] != offset) + { + m_ReferencePointOffsets[referencePointIndex] = offset; + haveAnyPointsMoved = true; + } + } + else + { + m_ReferencePointOffsets[referencePointIndex] = Vector3.zero; + } + } + + if(!haveAnyPointsMoved) + { + return; + } + + int numVertices = m_Vertices.Length; + int numReferencePoints = m_ReferencePoints.Count; + int centralPointIndex = GetCentralPointIndex(); + + for(int vertexIndex = 0; vertexIndex < numVertices; vertexIndex++) + { + Vector3 totalOffset = Vector3.zero; + + for(int referencePointIndex = 0; referencePointIndex < numReferencePoints; referencePointIndex++) + { + if(referencePointIndex != centralPointIndex && !m_ReferencePoints[referencePointIndex].IsDummy) + { + totalOffset += m_ReferencePointOffsets[referencePointIndex] * m_ReferencePointWeightings[vertexIndex, referencePointIndex]; + } + } + + m_Vertices[vertexIndex] = m_InitialVertexPositions[vertexIndex] + totalOffset + new Vector3(m_CentralBodyOffset.x, m_CentralBodyOffset.y, 0); + } + + // Update the mesh + m_SpriteMesh.vertices = m_Vertices; + m_SpriteMesh.RecalculateBounds(); + m_SpriteMesh.RecalculateNormals(); + } + } + + /// + /// Gets the index of the central point. + /// + int GetCentralPointIndex() + { + int numReferencePoints = m_ReferencePoints.Count; + + for(int referencePointIndex = 0; referencePointIndex < numReferencePoints; referencePointIndex++) + { + if(m_ReferencePoints[referencePointIndex] == m_CentralPoint) + { + return referencePointIndex; + } + } + + return -1; + } + + /// + /// Update the attach point positions + /// + void UpdateAttachPoints() + { + // For each vertex, look at the offset values of each reference point and apply the same offset + // (scaled by the weighting value) to the vertex's position + if(Application.isPlaying) + { + Quaternion additionalBodyRotation = Quaternion.Euler(0, 0, m_SoftBodyRotation); + Vector3 rotatedBodyOffset = additionalBodyRotation * m_CentralBodyOffset; + + int numAttachPoints = m_AttachPoints.Length; + int numReferencePoints = m_ReferencePoints.Count; + int centralPointIndex = GetCentralPointIndex(); + + for(int attachPointIndex = 0; attachPointIndex < numAttachPoints; attachPointIndex++) + { + Vector3 totalOffset = Vector3.zero; + + for(int referencePointIndex = 0; referencePointIndex < numReferencePoints; referencePointIndex++) + { + if(referencePointIndex != centralPointIndex && !m_ReferencePoints[referencePointIndex].IsDummy) + { + ReferencePoint referencePoint = m_ReferencePoints[referencePointIndex]; + Vector3 offset = m_CentralPoint.transform.InverseTransformPoint(referencePoint.transform.position); + offset -= referencePoint.InitialOffset; + totalOffset += offset * m_AttachPointWeightings[attachPointIndex, referencePointIndex]; + } + } + + // Attached Jelly Sprites need to behave slightly differently from regular objects - we set the central + // body to be kinematic and then adjust the position of this, which allows the Jelly Sprite to track the + // attach point position while still being able to wobble around + if(m_IsAttachPointJellySprite[attachPointIndex]) + { + JellySprite attachedJellySprite = m_AttachPoints[attachPointIndex].GetComponent(); + attachedJellySprite.CentralPoint.transform.parent = m_Transform; + attachedJellySprite.CentralPoint.SetKinematic(true); + attachedJellySprite.CentralPoint.transform.localPosition = m_InitialAttachPointPositions[attachPointIndex] + totalOffset + rotatedBodyOffset; + } + else + { + m_AttachPoints[attachPointIndex].transform.localPosition = m_InitialAttachPointPositions[attachPointIndex] + totalOffset + rotatedBodyOffset; + } + } + } + } + + /// + /// Add a force to every reference point + /// + public void AddForce(Vector2 force) + { + if(m_ReferencePoints != null) + { + foreach(ReferencePoint referencePoint in m_ReferencePoints) + { + if(referencePoint.Body2D) + { + referencePoint.Body2D.AddForce(force); + } + + if(referencePoint.Body3D) + { + referencePoint.Body3D.AddForce(force); + } + } + } + } + + /// + /// Add a force at a given position to every reference point + /// + public void AddForceAtPosition(Vector2 force, Vector2 position) + { + if(m_ReferencePoints != null) + { + foreach(ReferencePoint referencePoint in m_ReferencePoints) + { + if(referencePoint.Body2D) + { + referencePoint.Body2D.AddForceAtPosition(force, position); + } + + if(referencePoint.Body3D) + { + referencePoint.Body3D.AddForceAtPosition(force, position); + } + } + } + } + + /// + /// Called when the editor wants to update the visible mesh + /// + public void RefreshMesh() + { + if(IsSpriteValid()) + { + InitVertices(GetSpriteBounds()); + InitMaterial(); + InitMesh(); + + if(m_ReferencePoints != null) + { + CalculateInitialOffsets(); + CalculateWeightingValues(); + } + + UpdateMesh(); + } + } + + /// + /// Set up the mass of each rigidbody + /// + public void InitMass() + { + if(m_ReferencePoints != null) + { + float mass = m_Mass; + + // If the mass is being defined on a global scale, then for n rigid + // bodies, each one has 1/n of the total mass. + if(m_MassStyle == MassStyle.Global) + { + int numNonDummyReferencePoints = 0; + + foreach(ReferencePoint referencePoint in m_ReferencePoints) + { + if(!referencePoint.IsDummy) + { + numNonDummyReferencePoints++; + } + } + + mass /= numNonDummyReferencePoints; + } + + + foreach(ReferencePoint referencePoint in m_ReferencePoints) + { + if(!referencePoint.IsDummy) + { + if(referencePoint.Body2D) + { + referencePoint.Body2D.mass = mass; + referencePoint.Body2D.gravityScale = m_GravityScale; + referencePoint.Body2D.angularDamping = m_AngularDrag; + referencePoint.Body2D.linearDamping = m_Drag; + referencePoint.Body2D.interpolation = m_Interpolation2D; + referencePoint.Body2D.collisionDetectionMode = m_CollisionDetectionMode2D; + } + + if(referencePoint.Body3D) + { + referencePoint.Body3D.mass = mass; + referencePoint.Body3D.useGravity = m_UseGravity; + referencePoint.Body3D.angularDamping = m_AngularDrag; + referencePoint.Body3D.linearDamping = m_Drag; + referencePoint.Body3D.interpolation = m_Interpolation; + referencePoint.Body3D.collisionDetectionMode = m_CollisionDetectionMode; + } + } + } + } + } + + /// + /// Reapply our spring/damping values to each joint + /// + public void UpdateJoints() + { + if(m_ReferencePoints != null) + { + foreach(ReferencePoint referencePoint in m_ReferencePoints) + { + if(!referencePoint.IsDummy) + { + if(referencePoint.Body2D != null) + { + SpringJoint2D[] joints = referencePoint.Body2D.gameObject.GetComponents(); + + if(joints != null) + { + for(int jointIndex = 0; jointIndex < joints.Length; jointIndex++) + { + joints[jointIndex].frequency = m_Stiffness; + joints[jointIndex].dampingRatio = m_DampingRatio; + } + } + } + + if(referencePoint.Body3D != null) + { + SpringJoint[] joints = referencePoint.Body3D.gameObject.GetComponents(); + + if(joints != null) + { + for(int jointIndex = 0; jointIndex < joints.Length; jointIndex++) + { + joints[jointIndex].spring = m_Stiffness; + joints[jointIndex].damper = m_DampingRatio; + } + } + } + } + } + } + } + + /// + /// Use this function to scale the Jelly Sprite at runtime. Scales the rigid bodies and + /// rendered mesh by the given amount + /// + public void Scale(float scaleRatio, bool scaleAttachedObjects = true) + { + int index = 0; + Vector3[] refPointPositions = new Vector3[m_ReferencePoints.Count]; + + foreach (ReferencePoint refPoint in m_ReferencePoints) + { + if (refPoint.GameObject) + { + refPointPositions[index] = refPoint.transform.position; + } + + index++; + } + + m_Transform.localScale = m_Transform.localScale * scaleRatio; + index = 0; + + foreach (ReferencePoint refPoint in m_ReferencePoints) + { + if (refPoint.GameObject) + { + if (!refPoint.IsDummy) + { + if (refPoint.Body2D) + { + CircleCollider2D circleCollider = refPoint.GameObject.GetComponent(); + + if (circleCollider) + { + circleCollider.radius = circleCollider.radius * scaleRatio; + } + } + else + { + SphereCollider sphereCollider = refPoint.GameObject.GetComponent(); + + if (sphereCollider) + { + sphereCollider.radius = sphereCollider.radius * scaleRatio; + } + } + } + + refPoint.transform.position = refPointPositions[0] + ((refPointPositions[index] - refPointPositions[0]) * scaleRatio); + refPoint.InitialOffset *= scaleRatio; + + if (m_2DMode) + { + SpringJoint2D[] springJoints = refPoint.GameObject.GetComponents(); + + for (int jointLoop = 0; jointLoop < springJoints.Length; jointLoop++) + { + springJoints[jointLoop].connectedAnchor = springJoints[jointLoop].connectedAnchor * scaleRatio; + springJoints[jointLoop].frequency *= scaleRatio; + } + } + else + { + SpringJoint[] springJoints = refPoint.GameObject.GetComponents(); + + for (int jointLoop = 0; jointLoop < springJoints.Length; jointLoop++) + { + springJoints[jointLoop].connectedAnchor = springJoints[jointLoop].connectedAnchor * scaleRatio; + } + } + } + + index++; + } + + if (!scaleAttachedObjects && scaleRatio > 0) + { + float inverseScale = 1.0f / scaleRatio; + + for (int attachPointIndex = 0; attachPointIndex < m_AttachPoints.Length; attachPointIndex++) + { + m_AttachPoints[attachPointIndex].localScale *= inverseScale; + } + } + } + + /// + /// Attaches a new object to the Jelly Sprite at runtime + /// + public void AddAttachPoint(Transform newAttachedObject) + { + m_NumAttachPoints++; + ResizeAttachPoints(); + + m_AttachPoints[m_NumAttachPoints - 1] = newAttachedObject; + + JellySprite attachedJellySprite = newAttachedObject.GetComponent(); + Vector3 position = m_CentralPoint.transform.InverseTransformPoint(newAttachedObject.position); + position.x /= m_Transform.localScale.x; + position.y /= m_Transform.localScale.y; + + if(attachedJellySprite) + { + m_IsAttachPointJellySprite[m_NumAttachPoints - 1] = true; + m_InitialAttachPointPositions[m_NumAttachPoints - 1] = position; + } + else + { + m_IsAttachPointJellySprite[m_NumAttachPoints - 1] = false; + m_InitialAttachPointPositions[m_NumAttachPoints - 1] = position; + newAttachedObject.parent = m_Transform; + } + + float distanceSum = 0.0f; + + for(int referencePointIndex = 0; referencePointIndex < m_ReferencePoints.Count; referencePointIndex++) + { + if(!m_ReferencePoints[referencePointIndex].IsDummy) + { + float distance = Vector2.Distance(m_ReferencePoints[referencePointIndex].InitialOffset, m_AttachPoints[m_NumAttachPoints - 1].localPosition); + distance = Mathf.Pow(distance, m_DistanceExponent); + float invDistance = float.MaxValue; + + if(distance > 0.0f) + { + invDistance = 1.0f/distance; + } + + distanceSum += invDistance; + } + } + + for(int referencePointIndex = 0; referencePointIndex < m_ReferencePoints.Count; referencePointIndex++) + { + if(!m_ReferencePoints[referencePointIndex].IsDummy) + { + float distance = Vector2.Distance(m_ReferencePoints[referencePointIndex].InitialOffset, m_AttachPoints[m_NumAttachPoints - 1].localPosition); + distance = Mathf.Pow(distance, m_DistanceExponent); + float invDistance = float.MaxValue; + + if(distance > 0.0f) + { + invDistance = 1.0f/distance; + } + + m_AttachPointWeightings[m_NumAttachPoints - 1, referencePointIndex] = invDistance/distanceSum; + } + } + } + + /// + /// Wake up the whole body - useful for editor controls when they update a value + /// + public void WakeUp() + { + if(m_ReferencePoints != null) + { + foreach(ReferencePoint referencePoint in m_ReferencePoints) + { + if(referencePoint.Body2D != null) + { + referencePoint.Body2D.WakeUp(); + } + + if(referencePoint.Body3D != null) + { + referencePoint.Body3D.WakeUp(); + } + } + } + } + + /// + /// Update this instance. + /// + void Update() + { + if(m_ReferencePoints != null) + { +#if UNITY_EDITOR + // Debug draw the joints that connect each node + if(Selection.activeGameObject == this.gameObject) + { + foreach(ReferencePoint referencePoint in m_ReferencePoints) + { + if(!referencePoint.IsDummy) + { + if(m_2DMode) + { + SpringJoint2D[] springJoints = referencePoint.Body2D.GetComponents(); + + for(int jointIndex = 0; jointIndex < springJoints.Length; jointIndex++) + { + Debug.DrawLine(springJoints[jointIndex].transform.position, springJoints[jointIndex].connectedBody.transform.position, Color.green); + } + } + else + { + SpringJoint[] springJoints = referencePoint.Body3D.GetComponents(); + + for(int jointIndex = 0; jointIndex < springJoints.Length; jointIndex++) + { + Debug.DrawLine(springJoints[jointIndex].transform.position, springJoints[jointIndex].connectedBody.transform.position, Color.green); + } + } + } + } + } +#endif + + if(!m_ManualPositioning) + { + Quaternion additionalBodyRotation = Quaternion.Euler(0, 0, m_SoftBodyRotation); + Vector3 rotatedPostion = additionalBodyRotation * new Vector3(-m_CentralBodyOffset.x * m_Transform.localScale.x, -m_CentralBodyOffset.y * m_Transform.localScale.y, 0); + m_Transform.position = m_CentralPoint.transform.TransformPoint(rotatedPostion); + m_Transform.rotation = m_CentralPoint.transform.rotation; + } + + // Apply our rigid body movements to the rendered mesh + UpdateMesh(); + UpdateAttachPoints(); + } + } + + /// + /// Add a position/radius pair to the free mode bodies + /// + void AddFreeModeBodyDefinition(Vector2 position, float radius, bool kinematic) + { + position = Quaternion.Euler(0, 0, m_SoftBodyRotation) * position; + m_FreeModeBodyPositions.Add(position); + m_FreeModeBodyRadii.Add(radius); + m_FreeModeBodyKinematic.Add(kinematic); + } + + /// + /// Helper function to draw a sphere with a line connecting to it from the object's origin + /// + void DrawSphereWithCentreConnection(Vector3 position, float radius, bool kinematic) + { + position = Quaternion.Euler(0, 0, m_SoftBodyRotation) * position; + Vector3 centralBodyPosition = Quaternion.Euler(0, 0, m_SoftBodyRotation) * m_CentralBodyOffset; + + Vector3 worldPoint = this.transform.localToWorldMatrix.MultiplyPoint(position); + Vector3 originPoint = this.transform.localToWorldMatrix.MultiplyPoint(centralBodyPosition); + + Gizmos.color = kinematic? Color.red : Color.green; + Gizmos.DrawWireSphere(worldPoint, radius); + + Gizmos.color = Color.white; + Gizmos.DrawLine(worldPoint, originPoint); + } + + /// + /// Helper function to draw a sphere with a line connecting to it from the object's origin + /// + void DrawSphereWithExplicitConnection(Vector3 position, Vector3 connectionPosition, float radius, bool kinematic) + { + position = Quaternion.Euler(0, 0, m_SoftBodyRotation) * position; + connectionPosition = Quaternion.Euler(0, 0, m_SoftBodyRotation) * connectionPosition; + + Vector3 worldPoint = this.transform.localToWorldMatrix.MultiplyPoint(position); + Vector3 originPoint = this.transform.localToWorldMatrix.MultiplyPoint(connectionPosition); + + Gizmos.color = kinematic? Color.red : Color.green; + Gizmos.DrawWireSphere(worldPoint, radius); + + Gizmos.color = Color.white; + Gizmos.DrawLine(worldPoint, originPoint); + } + + /// + /// Helper function to draw a sphere with a line connecting to it from the object's origin + /// + void DrawCentreConnection(Vector3 position, Vector3 centre) + { + position = Quaternion.Euler(0, 0, m_SoftBodyRotation) * position; + Vector3 centralBodyPosition = Quaternion.Euler(0, 0, m_SoftBodyRotation) * m_CentralBodyOffset; + + Vector3 worldPoint = this.transform.localToWorldMatrix.MultiplyPoint(position); + Vector3 originPoint = this.transform.localToWorldMatrix.MultiplyPoint(centralBodyPosition); + + Gizmos.color = Color.white; + Gizmos.DrawLine(worldPoint, originPoint); + } + + /// + /// Helper function to draw a sphere with a line connecting to it from the object's origin + /// + void DrawCentreConnectionWithoutRotation(Vector3 position, Vector3 centre) + { + Vector3 worldPoint = this.transform.localToWorldMatrix.MultiplyPoint(position); + Vector3 originPoint = this.transform.localToWorldMatrix.MultiplyPoint(centre); + + Gizmos.color = Color.white; + Gizmos.DrawLine(worldPoint, originPoint); + } + + /// + /// Draw the positions of the colliders when we select objects in the hierarchy + /// + void OnDrawGizmosSelected () + { + if(!Application.isPlaying && IsSpriteValid()) + { + Bounds spriteBounds = GetSpriteBounds(); + float width = spriteBounds.size.x * m_SoftBodyScale.x * m_SpriteScale.x; + float height = spriteBounds.size.y * m_SoftBodyScale.y * m_SpriteScale.y; + + switch(m_Style) + { + case PhysicsStyle.Circle: + { + float sphereRadius = m_SphereRadius * transform.localScale.x; + width = spriteBounds.size.x * m_SpriteScale.x; + height = spriteBounds.size.y * m_SpriteScale.x; + + int numPoints = m_RadiusPoints; + float radius = width * 0.5f; + Vector3 prevPosition = Vector3.zero; + Vector3 startPosition = Vector3.zero; + DrawSphereWithCentreConnection(m_CentralBodyOffset, width * sphereRadius, m_CentralBodyKinematic); + + for(int loop = 0; loop < numPoints; loop++) + { + float angle = ((Mathf.PI * 2)/numPoints) * loop; + Vector2 offset = new Vector2(Mathf.Cos(angle), Mathf.Sin(angle)); + offset *= radius; + offset.x *= m_SoftBodyScale.x; + offset.y *= m_SoftBodyScale.y; + Vector3 bodyPosition = offset * (1.0f - ((sphereRadius * width) / (transform.localScale.x * offset.magnitude))) + m_SoftBodyOffset; + DrawSphereWithCentreConnection(bodyPosition, width * sphereRadius, false); + + if(m_AttachNeighbors) + { + if(loop == 0) + { + startPosition = bodyPosition; + } + else + { + DrawCentreConnection(bodyPosition, prevPosition); + } + } + + prevPosition = bodyPosition; + } + + if(m_AttachNeighbors) + { + DrawCentreConnection(prevPosition, startPosition); + } + } + break; + + case PhysicsStyle.Triangle: + { + float radius = spriteBounds.size.y * m_SphereRadius * m_SpriteScale.y * transform.localScale.y; + float offsetFactor = 0.5f - m_SphereRadius; + + Vector2 point1 = new Vector2(-width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset; + Vector3 point2 = new Vector2(width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset; + Vector3 point3 = new Vector2(0.0f, height * offsetFactor) + m_SoftBodyOffset; + + DrawSphereWithCentreConnection(m_CentralBodyOffset, radius, m_CentralBodyKinematic); + DrawSphereWithCentreConnection(point1, radius, false); + DrawSphereWithCentreConnection(point2, radius, false); + DrawSphereWithCentreConnection(point3, radius, false); + + if(m_AttachNeighbors) + { + DrawCentreConnection(point1, point2); + DrawCentreConnection(point2, point3); + DrawCentreConnection(point3, point1); + } + } + break; + + case PhysicsStyle.Rectangle: + { + float radius = spriteBounds.size.y * m_SphereRadius * m_SpriteScale.y * transform.localScale.y; + float offsetFactor = 0.5f - m_SphereRadius; + + Vector2 point1 = new Vector2(-width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset; + Vector2 point2 = new Vector2(width * offsetFactor, -height * offsetFactor) + m_SoftBodyOffset; + Vector2 point3 = new Vector2(width * offsetFactor, height * offsetFactor) + m_SoftBodyOffset; + Vector2 point4 = new Vector2(-width * offsetFactor, height * offsetFactor) + m_SoftBodyOffset; + + DrawSphereWithCentreConnection(m_CentralBodyOffset, radius, m_CentralBodyKinematic); + DrawSphereWithCentreConnection(point1, radius, false); + DrawSphereWithCentreConnection(point2, radius, false); + DrawSphereWithCentreConnection(point3, radius, false); + DrawSphereWithCentreConnection(point4, radius, false); + + if(m_AttachNeighbors) + { + DrawCentreConnection(point1, point2); + DrawCentreConnection(point2, point3); + DrawCentreConnection(point3, point4); + DrawCentreConnection(point4, point1); + } + } + break; + + case PhysicsStyle.Free: + { + if(m_FreeModeBodyPositions != null) + { + for(int loop = 1; loop < m_FreeModeBodyPositions.Count; loop++) + { + DrawCentreConnectionWithoutRotation(m_FreeModeBodyPositions[loop], m_FreeModeBodyPositions[0]); + } + } + } + break; + + case PhysicsStyle.Line: + { + float radius = spriteBounds.size.x * m_SphereRadius * m_SpriteScale.x * this.transform.localScale.x; + + // Always create an odd number of points so that we can correctly pick the central one + int numPoints = ((m_GridColumns/2) * 2) + 1; + Vector2 previousPosition = Vector2.zero; + + for(int x = 0; x < numPoints; x++) + { + Vector2 position; + position.x = (-width * 0.5f) + ((width/(float)(numPoints - 1)) * x); + position.y = 0.0f; + + bool isKinematic = false; + + if(x == numPoints / 2) + { + position += m_CentralBodyOffset; + isKinematic = m_CentralBodyKinematic; + } + else + { + position += m_SoftBodyOffset; + } + + if(x == 0) + { + previousPosition = position; + } + + DrawSphereWithExplicitConnection(position, previousPosition, radius, isKinematic); + previousPosition = position; + } + } + break; + + case PhysicsStyle.Grid: + { + width -= (m_SphereRadius * 4); + height -= (m_SphereRadius * 4); + + float radius = spriteBounds.size.x * m_SphereRadius * m_SpriteScale.x * this.transform.localScale.x; + int columns = m_GridColumns; + int rows = m_GridRows; + + for(int y = 0; y < rows; y++) + { + for(int x = 0; x < (y % 2 == 0? columns : columns - 1); x++) + { + Vector2 position; + position.x = (-width * 0.5f) + ((width/(float)(columns - 1)) * x); + + if(y % 2 != 0) + { + position.x += width/(float)(columns - 1) * 0.5f; + } + + position.y = (-height * 0.5f) + ((height/(float)(rows - 1)) * y); + position += m_SoftBodyOffset; + + Vector3 worldPoint = this.transform.localToWorldMatrix.MultiplyPoint(position); + Gizmos.color = Color.green; + + if(m_CentralBodyKinematic && x == columns/2 && y == rows/2) + { + Gizmos.color = Color.red; + } + + Gizmos.DrawWireSphere(worldPoint, radius); + } + } + } + break; + } + } + } +} diff --git a/Assets/ThirdParty/JellySprites/Scripts/JellySprite.cs.meta b/Assets/ThirdParty/JellySprites/Scripts/JellySprite.cs.meta new file mode 100644 index 0000000..901f535 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/JellySprite.cs.meta @@ -0,0 +1,18 @@ +fileFormatVersion: 2 +guid: 3404fb3a207bcd146bc8bf385b000bdb +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Scripts/JellySprite.cs + uploadId: 554010 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ThirdParty/JellySprites/Scripts/JellySpriteReferencePoint.cs b/Assets/ThirdParty/JellySprites/Scripts/JellySpriteReferencePoint.cs new file mode 100644 index 0000000..d20c0f5 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/JellySpriteReferencePoint.cs @@ -0,0 +1,133 @@ +using UnityEngine; +using System.Collections; + +public class JellySpriteReferencePoint : MonoBehaviour +{ + public GameObject ParentJellySprite { get; set; } + public bool SendCollisionMessages { get { return m_SendCollisionMessages; } set { m_SendCollisionMessages = value; } } + public int Index { get; set; } + + JellySprite.JellyCollision m_JellyCollision = new JellySprite.JellyCollision(); + JellySprite.JellyCollision2D m_JellyCollision2D = new JellySprite.JellyCollision2D(); + + JellySprite.JellyCollider m_JellyCollider = new JellySprite.JellyCollider(); + JellySprite.JellyCollider2D m_JellyCollider2D = new JellySprite.JellyCollider2D(); + + bool m_SendCollisionMessages = true; + + public JellySpriteReferencePoint() + { + m_JellyCollision.ReferencePoint = this; + m_JellyCollision2D.ReferencePoint = this; + m_JellyCollider.ReferencePoint = this; + m_JellyCollider2D.ReferencePoint = this; + } + + void OnCollisionEnter(Collision collision) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollision.Collision = collision; + ParentJellySprite.SendMessage("OnJellyCollisionEnter", m_JellyCollision, SendMessageOptions.DontRequireReceiver); + } + } + + void OnCollisionEnter2D(Collision2D collision) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollision2D.Collision2D = collision; + ParentJellySprite.SendMessage("OnJellyCollisionEnter2D", m_JellyCollision2D, SendMessageOptions.DontRequireReceiver); + } + } + + void OnCollisionExit(Collision collision) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollision.Collision = collision; + ParentJellySprite.SendMessage("OnJellyCollisionExit", m_JellyCollision, SendMessageOptions.DontRequireReceiver); + } + } + + void OnCollisionExit2D(Collision2D collision) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollision2D.Collision2D = collision; + ParentJellySprite.SendMessage("OnJellyCollisionExit2D", m_JellyCollision2D, SendMessageOptions.DontRequireReceiver); + } + } + + void OnCollisionStay(Collision collision) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollision.Collision = collision; + ParentJellySprite.SendMessage("OnJellyCollisionStay", m_JellyCollision, SendMessageOptions.DontRequireReceiver); + } + } + + void OnCollisionStay2D(Collision2D collision) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollision2D.Collision2D = collision; + ParentJellySprite.SendMessage("OnJellyCollisionStay2D", m_JellyCollision2D, SendMessageOptions.DontRequireReceiver); + } + } + + void OnTriggerEnter(Collider collider) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollider.Collider = collider; + ParentJellySprite.SendMessage("OnJellyTriggerEnter", m_JellyCollider, SendMessageOptions.DontRequireReceiver); + } + } + + void OnTriggerEnter2D(Collider2D collider) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollider2D.Collider2D = collider; + ParentJellySprite.SendMessage("OnJellyTriggerEnter2D", m_JellyCollider2D, SendMessageOptions.DontRequireReceiver); + } + } + + void OnTriggerExit(Collider collider) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollider.Collider = collider; + ParentJellySprite.SendMessage("OnJellyTriggerExit", m_JellyCollider, SendMessageOptions.DontRequireReceiver); + } + } + + void OnTriggerExit2D(Collider2D collider) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollider2D.Collider2D = collider; + ParentJellySprite.SendMessage("OnJellyTriggerExit2D", m_JellyCollider2D, SendMessageOptions.DontRequireReceiver); + } + } + + void OnTriggerStay(Collider collider) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollider.Collider = collider; + ParentJellySprite.SendMessage("OnJellyTriggerStay", m_JellyCollider, SendMessageOptions.DontRequireReceiver); + } + } + + void OnTriggerStay2D(Collider2D collider) + { + if(ParentJellySprite && SendCollisionMessages) + { + m_JellyCollider2D.Collider2D = collider; + ParentJellySprite.SendMessage("OnJellyTriggerStay2D", m_JellyCollider2D, SendMessageOptions.DontRequireReceiver); + } + } +} diff --git a/Assets/ThirdParty/JellySprites/Scripts/JellySpriteReferencePoint.cs.meta b/Assets/ThirdParty/JellySprites/Scripts/JellySpriteReferencePoint.cs.meta new file mode 100644 index 0000000..c5e9c2c --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/JellySpriteReferencePoint.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 63aef92fa0c0640abb049c71620fa283 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Scripts/JellySpriteReferencePoint.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/Scripts/UnityJellySprite.cs b/Assets/ThirdParty/JellySprites/Scripts/UnityJellySprite.cs new file mode 100644 index 0000000..76d4e95 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/UnityJellySprite.cs @@ -0,0 +1,98 @@ +using UnityEngine; + +#if UNITY_EDITOR +using UnityEditor; +#endif + +using System.Collections; +using System.Collections.Generic; + +/// +/// Jelly sprite class. Attach to any Unity sprite, and at runtime the sprite will move and +/// distort under the influence of soft body physics. +/// +[AddComponentMenu("Jelly Sprite/Unity Jelly Sprite")] +public class UnityJellySprite : JellySprite +{ + public Sprite m_Sprite; + + // Rendering materials - cached to enable reuse where possible + static List s_MaterialList = new List(); + + /// + /// Jelly sprites share materials wherever possible in order to ensure that dynamic batching is maintained when + /// eg. slicing lots of sprites that share the same sprite sheet. If you want to clear out this list + /// (eg. on transitioning to a new scene) then simply call this function + /// + public static void ClearMaterials() + { + s_MaterialList.Clear(); + } + + /// + /// Get the bounds of the sprite + /// + protected override Bounds GetSpriteBounds() + { + return m_Sprite.bounds; + } + + /// + /// Check if the sprite is valid + /// + protected override bool IsSpriteValid() + { + return m_Sprite != null; + } + + /// + /// Check if the source sprite is rotated + /// + protected override bool IsSourceSpriteRotated() + { + return false; + } + + protected override void GetMinMaxTextureRect(out Vector2 min, out Vector2 max) + { + Rect textureRect = m_Sprite.textureRect; + min = new Vector2(textureRect.xMin/(float)m_Sprite.texture.width, textureRect.yMin/(float)m_Sprite.texture.height); + max = new Vector2(textureRect.xMax/(float)m_Sprite.texture.width, textureRect.yMax/(float)m_Sprite.texture.height); + } + + protected override void InitMaterial() + { + MeshRenderer meshRenderer = GetComponent(); + Material material = null; + + // Grab a material from the cache, generate a new one if none exist + for(int loop = 0; loop < s_MaterialList.Count; loop++) + { + if(s_MaterialList[loop] != null && s_MaterialList[loop].mainTexture.GetInstanceID() == m_Sprite.texture.GetInstanceID()) + { + material = s_MaterialList[loop]; + } + } + + if(material == null) + { + material = new Material(Shader.Find("Sprites/Default")); + material.mainTexture = m_Sprite.texture; + material.name = m_Sprite.texture.name + "_Jelly"; + s_MaterialList.Add(material); + } + + meshRenderer.sharedMaterial = material; + } + +#if UNITY_EDITOR + [MenuItem("GameObject/Create Other/Jelly Sprite/Unity Jelly Sprite", false, 12951)] + static void DoCreateSpriteObject() + { + GameObject gameObject = new GameObject("JellySprite"); + gameObject.AddComponent(); + Selection.activeGameObject = gameObject; + Undo.RegisterCreatedObjectUndo(gameObject, "Create Jelly Sprite"); + } +#endif +} \ No newline at end of file diff --git a/Assets/ThirdParty/JellySprites/Scripts/UnityJellySprite.cs.meta b/Assets/ThirdParty/JellySprites/Scripts/UnityJellySprite.cs.meta new file mode 100644 index 0000000..07dd6e6 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/Scripts/UnityJellySprite.cs.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 87f1fa7a810d84c4f8ed2cfed9eec8f4 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/Scripts/UnityJellySprite.cs + uploadId: 554010 diff --git a/Assets/ThirdParty/JellySprites/readme.rtf b/Assets/ThirdParty/JellySprites/readme.rtf new file mode 100644 index 0000000..1222ef2 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/readme.rtf @@ -0,0 +1,308 @@ +{\rtf1\ansi\deff3\adeflang1025 +{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\fswiss\fprq0\fcharset0 ArialMT;}{\f4\fnil\fprq0\fcharset0 Menlo-Regular;}{\f5\fnil\fprq2\fcharset0 Microsoft YaHei;}{\f6\fnil\fprq2\fcharset0 Mangal;}{\f7\fnil\fprq0\fcharset128 Mangal;}} +{\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red68\green68\blue68;\red51\green100\blue164;\red128\green128\blue128;} +{\stylesheet{\s0\snext0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057 Default;} +{\*\cs15\snext15\cf2\ul\ulc0\langfe255\lang255 Internet Link;} +{\s16\sbasedon0\snext17{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb240\sa120\keepn\cf0\kerning1\hich\af5\langfe2052\dbch\af6\loch\f2\fs28\lang2057 Heading;} +{\s17\sbasedon0\snext17{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af3\langfe2052\dbch\af3\loch\f3\fs24\lang2057 Text body;} +{\s18\sbasedon17\snext18{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb0\sa120\cf0\kerning1\hich\af3\langfe2052\dbch\af7\loch\f3\fs24\lang2057 List;} +{\s19\sbasedon0\snext19{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\sb120\sa120\cf0\i\kerning1\hich\af3\langfe2052\dbch\af7\ai\loch\f3\fs24\lang2057 Caption;} +{\s20\sbasedon0\snext20{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af3\langfe2052\dbch\af7\loch\f3\fs24\lang2057 Index;} +}{\info{\author Dinesh Kumar}{\creatim\yr0\mo0\dy0\hr0\min0}{\revtim\yr0\mo0\dy0\hr0\min0}{\printim\yr0\mo0\dy0\hr0\min0}{\comment OpenOffice}{\vern4150}}\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709\deftab709 + +{\*\pgdsctbl +{\pgdsc0\pgdscuse195\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Default;}} +\formshade{\*\pgdscno0}\paperh16837\paperw11905\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc +\pgndec\pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qc\sb240\sa120{\b\afs36\ab\rtlch \ltrch\loch\fs36 +Jelly Sprites} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Thank you for your purchase! Jelly Sprites is a easy to use soft body physics system for both Unity and 2D Toolkit sprites. Jelly Sprites use a set of rigid bodies linked by spring joints to influence the mesh of the sprite, thereby deforming and stretching the sprite as as the bodies react to forces in the world.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\ul\ulc0\b\ab\rtlch \ltrch\loch +Support} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +If you have any problems, queries of feature requests regarding Jelly Sprites, please do feel free to contact me - I will always take the time to reply to every question, and try to help you in whatever way I can. Email is generally the fastest way to contact me.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\rtlch \ltrch\loch +Email: }{{\field{\*\fldinst HYPERLINK "mailto:hughlowry@hotmail.com" }{\fldrslt \cf2\ul\ulc0\langfe255\lang255\cf2\ul\ulc0\langfe255\rtlch \ltrch\loch\lang255 +hughlowry@hotmail.com}}} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\rtlch \ltrch\loch +Twitter: }{{\field{\*\fldinst HYPERLINK "https://twitter.com/mr_square" }{\fldrslt \cf2\ul\ulc0\langfe255\lang255\cf2\ul\ulc0\langfe255\rtlch \ltrch\loch\lang255 +https://twitter.com/mr_square}{\rtlch \ltrch\loch +}} } +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\rtlch \ltrch\loch +Unity Forums: PM mrsquare} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Unity Asset Store reviews would be much appreciated if you feel that the package (and post-purchase support) has been of a suitable quality.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\b\afs28\ab\rtlch \ltrch\loch\fs28 +Creating a Jelly Sprite} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +In Unity, simply click Gameobject->Create Other->Jelly Sprite. You can now simply drag a valid sprite into the Jelly Sprite\'92s \'91Sprite\'92 field in the inspector, and it should become visible in the scene view.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\b\afs28\ab\rtlch \ltrch\loch\fs28 +2D Toolkit Support} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +2D Toolkit support is disabled by default so as to not cause compile errors for users that do not own 2D Toolkit. To enable it, simply extract the 2DToolkitJellySprites.unityPackage file (located in the '2D Toolkit' folder) into your project. Once done, an option to create a \'912D Toolkit Jelly Sprite\'92 should appear in the Unity GameObject dropdown menu.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\b\afs28\ab\rtlch \ltrch\loch\fs28 +Detecting Collisions} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Each Jelly Sprite is made up of multiple rigid bodies - when these rigid bodies collide with other bodies/triggers, they will pass messages up to the parent Jelly Sprite using the following functions:} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyCollisionEnter(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollision}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + collision)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyCollisionExit(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollision}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + collision)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyCollisionStay(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollision}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + collision)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyCollisionEnter2D(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollision2D}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + collision)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyCollisionExit2D(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollision2D}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + collision)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyCollisionStay2D(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollision2D}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + collision)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyTriggerEnter(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollider}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + trigger)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyTriggerExit(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollider}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + trigger)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyTriggerStay(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollider}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + trigger)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyTriggerEnter2D(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollider2D}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + trigger)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyTriggerExit2D(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollider2D}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + trigger)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +\tab }{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +void}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + OnJellyTriggerStay2D(}{\cf4\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 +JellySprite.JellyCollider2D}{\cf3\hich\af4\dbch\af4\rtlch \ltrch\loch\loch\f4 + trigger)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +These work almost identically to the standard Unity collision functions - simply implement one or more of them in any script attached to the Jelly Sprite GameObject, and they will get called whenever one of the child rigid bodies receives a collision/trigger message. The JellyCollision/JellyCollider objects that are passed as arguments contain both the original collision data, plus details on exactly which child rigid body reported the collision.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\b\afs28\ab\rtlch \ltrch\loch\fs28 +Jelly Sprite Inspector Settings} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Sprite} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +The sprite to render} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Use 2D Physics} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Controls whether the sprite will use the Unity 2D or 3D physics system.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Attach Neighbors} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +By default, each Jelly Sprite rigid body is connected to the central rigid body only. Choosing the 'Attach Neighbors' option will also connect each body to its nearest neighbor, resulting in a stiffer, more stable Jelly Sprite.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Body Configuration} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Changing the body configuration controls the physical layout of the Jelly Sprite rigid bodies and colliders. Some shapes may be more appropriate to certain sprites \'96 for instance, you would generally want to use the circle configuration for a circular sprite in order for it to behave in a natural looking way. It is worth experimenting with the different options to see what works best \'96 some shapes may also be more stable than others depending on your chosen gravity and spring stiffness values. The layout of the individual bodies will be shown in the scene view as green circles.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +For each body type, you also have the option of converting to 'Free' mode, which allows you to manually tweak the positions of each body. The suggested workflow is to generate the basic configuration using one of the predefined shapes, then click the 'Copy Configuration To Free Mode' button, which will enable custom editing. Once in Free mode, you can alter body positions and radii in the scene view by clicking and dragging the individual bodies, and alter these values in the Jelly Sprite inspector window. The inspector also allows you to add and delete points.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +It is worth nothing that when in free mode, all Jelly Sprite rigid bodies are connected to a central body \'96 this is also true for the triangle, circle and rectangle configurations, and therefore 'Free' version of these shapes should behave identically to their fixed counterparts. The 'Grid' layout, however, uses a lattice style spring structure, which is not preserved when switching to Free mode, so the resulting Jelly Sprite'sbehaviour may be altered somewhat.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Collider Radius} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +This value controsl how large the rigid body colliders are, measured as a fraction of the overall sprite size. Shrinking the colliders can make shapes less stable and may also allow other rigid body object to pass through the Jelly Sprite. This may or may not be desirable depending on your project.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Collider Scale} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +This value can be used to stretch or shrink the overall shape of the soft body. Use this to tailor the shape to suit your sprite \'96 eg. an elliptical sprite can be better modelled by simply squashing a circular configuration.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Lock Rotation} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Chooses whether or not the Jelly Sprite should be allowed to rotate around the z-axis.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Kinematic Central Body} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Allows the user to set the central point as kinematic, which will prevent it from moving and therefore can be used to prevent the Jelly Sprite from moving, or to suspend it in mid-air.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Sprite Scale} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +How large the actual rendered sprite is. In order to maintain stability of the soft body, you should scale the sprite using this value rather than using the usual transform scale values.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Control Point Influence} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +This slider controls how strongly each mesh vertex is influenced by the displacement of the physical bodies. Increasing the value will make the mesh deformation more accurately represent the soft body shape, but may also cause visual artefacts.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Physics Material} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +The physics material applied to each soft body collider. Use this to control friction or bounciness.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Drag/Angular Drag (3D physics mode only)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Controls the drag values of the colliders. Use this to make objects fall slower when in 3D mode} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Gravity Scale (2D physics mode only)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Controls the gravity scale of the colliders. Use this to make objects fall faster or slower when in 3D mode} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Spring Stiffness} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Controls the stiffness of the spring joints that connect the individual bodies. If you find your sprite is collapsing under its own weight, try increasing the spring stiffness.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Spring Damping} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +The degree to which spring oscillation is suppressed.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Mass/Mass Type} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Sets the mass of the soft body \'96 this can be defined either on a global scale (so the mass of the entire sprite is equal to the mass value) or on a per body scale (so each component body will have this mass, meaning that the total mass will be equal to (Mass x Number of Bodies)} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Mesh Vertex Density} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Determines how many vertices will make up the visible mesh. Higher values may provide more smoothly deformed sprites, but with an increased performance cost.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\rtlch \ltrch\loch +Attach Points} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Attach points allow you to attach child GameObjects to Jelly Sprites. The position of the child objects will deform correctly as though they were a point on the visible mesh. You can also attach Jelly Sprites to other Jelly Sprites - doing so sets the central rigid body of the child sprite to be Kinematic, so that the child sprite will track the position of the main sprite while still independently reacting to physical forces. You can also add Attach Points at runtime using the AddAttachPoint() function.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\b\afs28\ab\rtlch \ltrch\loch\fs28 +Scaling a Jelly Sprite} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +At runtime, you can use the Jelly Sprite\'92s Scale() function to dynamically scale the Jelly Sprite. } +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\b\afs28\ab\rtlch \ltrch\loch\fs28 +Known Issues & Workarounds} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +Currently there is no way for scripts to manually prevent 2D colliders from interacting with each other (although this can be done with 3D colliders). Jelly Sprites rely on the individual bodies in each sprite not being able to hit one another - for this reason, when running in 2D mode, each Jelly sprite must be placed in a layer that cannot collide with itself. This limitation has been raised with the Unity development team, and will hopefully be fixed by them in a future update.} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\ul\ulc0\b\ab\rtlch \ltrch\loch +Legal} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +} +\par \pard\plain \s0{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\nowidctlpar\cf0\kerning1\hich\af3\langfe2052\dbch\af3\afs24\lang1081\loch\f3\fs24\lang2057\qj{\rtlch \ltrch\loch +All sprites and artwork included in the package are the property of Stuart Wood and may not be used in other projects without his prior consent.} +\par } \ No newline at end of file diff --git a/Assets/ThirdParty/JellySprites/readme.rtf.meta b/Assets/ThirdParty/JellySprites/readme.rtf.meta new file mode 100644 index 0000000..edff070 --- /dev/null +++ b/Assets/ThirdParty/JellySprites/readme.rtf.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 56c1e08c9bfc6e74994a6f8de7729d70 +DefaultImporter: + userData: +AssetOrigin: + serializedVersion: 1 + productId: 13327 + packageName: Jelly Sprites + packageVersion: 1.41 + assetPath: Assets/JellySprites/readme.rtf + uploadId: 554010