From 8fe24e96ce1dee6350b9ec4142ba50a342addc4d Mon Sep 17 00:00:00 2001 From: Tom Quinn Date: Tue, 27 Jun 2023 02:57:59 -0400 Subject: [PATCH] 0.2 --- Assets/Fonts/NovaSquare-Bold SDF 1.mat | 108 +++++++++++++++++ Assets/Fonts/NovaSquare-Bold SDF 1.mat.meta | 8 ++ Assets/Materials/Clock.mat | 2 +- Assets/Materials/Player.mat | 2 +- Assets/Prefabs/ScorePopup.prefab | 10 +- Assets/Scenes/SampleScene.unity | 4 +- Assets/Scripts/BlockScript.cs | 10 ++ Assets/Scripts/DeliveryZoneScript.cs | 1 - Assets/Scripts/GameHelper.cs | 5 +- Assets/Scripts/GameOverScript.cs | 2 +- Assets/Scripts/GrabberScript.cs | 2 +- Assets/Scripts/OminoExampleScript.cs | 2 +- Assets/Scripts/PlayerScript.cs | 8 +- Assets/Scripts/ScorePopupScript.cs | 5 +- Assets/Scripts/SpawnerScript.cs | 13 ++- Assets/Scripts/ZoneIndicatorScript.cs | 9 +- Assets/Sprites/box_outline.png | Bin 8585 -> 8236 bytes Assets/WebGLTemplates.meta | 8 ++ Assets/WebGLTemplates/BetterMinimal.meta | 8 ++ .../WebGLTemplates/BetterMinimal/index.html | 110 ++++++++++++++++++ .../BetterMinimal/index.html.meta | 7 ++ .../BetterMinimal/thumbnail.png | Bin 0 -> 1539 bytes .../BetterMinimal/thumbnail.png.meta | 7 ++ Packages/manifest.json | 1 + Packages/packages-lock.json | 9 ++ .../BurstAotSettings_StandaloneOSX.json | 16 +++ ProjectSettings/BurstAotSettings_WebGL.json | 14 +++ ProjectSettings/InputManager.asset | 16 +++ ProjectSettings/ProjectSettings.asset | 15 ++- 29 files changed, 369 insertions(+), 33 deletions(-) create mode 100644 Assets/Fonts/NovaSquare-Bold SDF 1.mat create mode 100644 Assets/Fonts/NovaSquare-Bold SDF 1.mat.meta create mode 100644 Assets/WebGLTemplates.meta create mode 100644 Assets/WebGLTemplates/BetterMinimal.meta create mode 100644 Assets/WebGLTemplates/BetterMinimal/index.html create mode 100644 Assets/WebGLTemplates/BetterMinimal/index.html.meta create mode 100644 Assets/WebGLTemplates/BetterMinimal/thumbnail.png create mode 100644 Assets/WebGLTemplates/BetterMinimal/thumbnail.png.meta create mode 100644 ProjectSettings/BurstAotSettings_StandaloneOSX.json create mode 100644 ProjectSettings/BurstAotSettings_WebGL.json diff --git a/Assets/Fonts/NovaSquare-Bold SDF 1.mat b/Assets/Fonts/NovaSquare-Bold SDF 1.mat new file mode 100644 index 0000000..92f450a --- /dev/null +++ b/Assets/Fonts/NovaSquare-Bold SDF 1.mat @@ -0,0 +1,108 @@ +%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: NovaSquare-Bold SDF 1 + m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3} + m_ValidKeywords: + - UNDERLAY_ON + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Cube: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FaceTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 3996172845468620811, guid: 86a9875a210857b4483886b292270398, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _Ambient: 0.5 + - _Bevel: 0.5 + - _BevelClamp: 0 + - _BevelOffset: 0 + - _BevelRoundness: 0 + - _BevelWidth: 0 + - _BumpFace: 0 + - _BumpOutline: 0 + - _ColorMask: 15 + - _CullMode: 0 + - _Diffuse: 0.5 + - _FaceDilate: 0 + - _FaceUVSpeedX: 0 + - _FaceUVSpeedY: 0 + - _GlowInner: 0.05 + - _GlowOffset: 0 + - _GlowOuter: 0.05 + - _GlowPower: 0.75 + - _GradientScale: 6 + - _LightAngle: 3.1416 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _OutlineSoftness: 0 + - _OutlineUVSpeedX: 0 + - _OutlineUVSpeedY: 0 + - _OutlineWidth: 0 + - _PerspectiveFilter: 0.875 + - _Reflectivity: 10 + - _ScaleRatioA: 0.8333333 + - _ScaleRatioB: 0.6770833 + - _ScaleRatioC: 0.6770833 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _SpecularPower: 2 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 512 + - _TextureWidth: 512 + - _UnderlayDilate: -0.089 + - _UnderlayOffsetX: 0 + - _UnderlayOffsetY: 0 + - _UnderlaySoftness: 1 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5} + - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} + - _OutlineColor: {r: 0, g: 0.04956346, b: 0.41509432, a: 1} + - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _UnderlayColor: {r: 0, g: 0.049706575, b: 0.4125427, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Fonts/NovaSquare-Bold SDF 1.mat.meta b/Assets/Fonts/NovaSquare-Bold SDF 1.mat.meta new file mode 100644 index 0000000..944db02 --- /dev/null +++ b/Assets/Fonts/NovaSquare-Bold SDF 1.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2796209c55022094eadc4178b991652e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Materials/Clock.mat b/Assets/Materials/Clock.mat index e20bbde..e311ffa 100644 --- a/Assets/Materials/Clock.mat +++ b/Assets/Materials/Clock.mat @@ -69,7 +69,7 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _Revealed: 0.9412786 + - _Revealed: 0.9582453 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 diff --git a/Assets/Materials/Player.mat b/Assets/Materials/Player.mat index 731592b..da38e49 100644 --- a/Assets/Materials/Player.mat +++ b/Assets/Materials/Player.mat @@ -77,7 +77,7 @@ Material: - _ZWrite: 1 m_Colors: - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DarkColor: {r: 0.764151, g: 0.764151, b: 0.764151, a: 1} + - _DarkColor: {r: 0.9, g: 0.9, b: 0.9, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _LightColor: {r: 1, g: 1, b: 1, a: 1} m_BuildTextureStacks: [] diff --git a/Assets/Prefabs/ScorePopup.prefab b/Assets/Prefabs/ScorePopup.prefab index d916d94..7627e10 100644 --- a/Assets/Prefabs/ScorePopup.prefab +++ b/Assets/Prefabs/ScorePopup.prefab @@ -59,7 +59,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 7736203359332322430, guid: 86a9875a210857b4483886b292270398, type: 2} + - {fileID: 2100000, guid: 2796209c55022094eadc4178b991652e, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -101,10 +101,10 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: +1,100 x 2 + m_text: +1,100 x2 m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 86a9875a210857b4483886b292270398, type: 2} - m_sharedMaterial: {fileID: 7736203359332322430, guid: 86a9875a210857b4483886b292270398, type: 2} + m_sharedMaterial: {fileID: 2100000, guid: 2796209c55022094eadc4178b991652e, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] @@ -128,8 +128,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 24 - m_fontSizeBase: 24 + m_fontSize: 30 + m_fontSizeBase: 30 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 9d3d86b..dff0425 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -821,7 +821,7 @@ Camera: far clip plane: 1000 field of view: 60 orthographic: 1 - orthographic size: 30 + orthographic size: 35 m_Depth: -1 m_CullingMask: serializedVersion: 2 @@ -7390,7 +7390,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: press R to restart + m_text: press R or START to restart m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 86a9875a210857b4483886b292270398, type: 2} m_sharedMaterial: {fileID: 7736203359332322430, guid: 86a9875a210857b4483886b292270398, type: 2} diff --git a/Assets/Scripts/BlockScript.cs b/Assets/Scripts/BlockScript.cs index f850d0c..5041987 100644 --- a/Assets/Scripts/BlockScript.cs +++ b/Assets/Scripts/BlockScript.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using TMPro; using UnityEngine; +using UnityEngine.InputSystem; public class BlockScript : MonoBehaviour { @@ -68,6 +69,7 @@ void Update() { } connectVFX.Clear(); SFXHelper.instance.Snap(); + Invoke("SnapRumble", .1f); } } } @@ -107,4 +109,12 @@ public void QueueConnectVFX(Vector2Int direction) { } connectVFX.Add(direction); } + + void SnapRumble() { + Gamepad.current?.SetMotorSpeeds(1, 1); + Invoke("StopRumble", .066f); + } + void StopRumble() { + Gamepad.current?.SetMotorSpeeds(0, 0); + } } diff --git a/Assets/Scripts/DeliveryZoneScript.cs b/Assets/Scripts/DeliveryZoneScript.cs index 10024aa..14fac0e 100644 --- a/Assets/Scripts/DeliveryZoneScript.cs +++ b/Assets/Scripts/DeliveryZoneScript.cs @@ -67,7 +67,6 @@ void Update() { foreach (OminoScript omino in ominos) { if (omino.ID == targetID && omino.ContainsAll(colliders)) { GameHelper.instance.Deliver(omino); - PlayerScript.instance.boostSeconds += 2 + omino.Size() / 4f * 5; Destroy(omino.gameObject); Instantiate(prefabOminoDisappearVFX).GetComponent().Init(omino); GameObject scorePopup = Instantiate(prefabScorePopup); diff --git a/Assets/Scripts/GameHelper.cs b/Assets/Scripts/GameHelper.cs index da0354d..96e34ad 100644 --- a/Assets/Scripts/GameHelper.cs +++ b/Assets/Scripts/GameHelper.cs @@ -7,7 +7,7 @@ public class GameHelper : MonoBehaviour public static GameHelper instance; static float RADIUS_INITIAL = 100; - static float RADIUS_GROWTH_RATE = 4; + static float RADIUS_GROWTH_RATE = 3; public bool paused; public float timePassed; @@ -41,11 +41,12 @@ public void Deliver(OminoScript omino) { paused = false; int size = omino.Size(); float seconds = size * 5; - float timeMultiplier = 66 / (66 + timePassed * .1f); + float timeMultiplier = 30 / (30 + timePassed * .1f); float missingTime = 1 - timer.x / timer.y; timeMultiplier = Mathf.Lerp(timeMultiplier, 1, missingTime); seconds *= timeMultiplier; timer.x = Mathf.Min(timer.y, timer.x + seconds); score += size * 100 * omino.GetMultiplier(); + PlayerScript.instance.boostSeconds += 3 + omino.Size() / 4f * 5; } } diff --git a/Assets/Scripts/GameOverScript.cs b/Assets/Scripts/GameOverScript.cs index 4bb1d14..b01d632 100644 --- a/Assets/Scripts/GameOverScript.cs +++ b/Assets/Scripts/GameOverScript.cs @@ -16,7 +16,7 @@ void Start() { } void Update() { - if (GameHelper.instance.gameOver && Input.GetKeyDown(KeyCode.R)) { + if (GameHelper.instance.gameOver && (Input.GetKeyDown(KeyCode.R) || Input.GetButtonDown("Start"))) { Instantiate(prefabFadeOutScript, transform.parent); Destroy(this); } diff --git a/Assets/Scripts/GrabberScript.cs b/Assets/Scripts/GrabberScript.cs index 4a5f2b3..16fe01c 100644 --- a/Assets/Scripts/GrabberScript.cs +++ b/Assets/Scripts/GrabberScript.cs @@ -9,7 +9,7 @@ public class GrabberScript : MonoBehaviour public static GrabberScript instance; static float DISTANCE = 10; - static float STRENGTH = 1333; + static float STRENGTH = 1500; static Vector3 SCALE_INNER = new Vector3(.85f, .85f, 1); static Vector3 SCALE_OUTER = new Vector3(1.2f, 1.2f, 1); diff --git a/Assets/Scripts/OminoExampleScript.cs b/Assets/Scripts/OminoExampleScript.cs index e00cf69..8301f57 100644 --- a/Assets/Scripts/OminoExampleScript.cs +++ b/Assets/Scripts/OminoExampleScript.cs @@ -34,7 +34,7 @@ public void Init(IEnumerable coorsAndColors, bool canvas = false) { if (canvas) { Vector2Int dimensions = Util.GetCoorsDimensions(coors); float hypot = Mathf.Sqrt(dimensions.x * dimensions.x + dimensions.y * dimensions.y); - float scale = 10 / hypot; + float scale = 15 / hypot; transform.localScale = new Vector3(scale, scale, 1); } } diff --git a/Assets/Scripts/PlayerScript.cs b/Assets/Scripts/PlayerScript.cs index b016725..65eae4e 100644 --- a/Assets/Scripts/PlayerScript.cs +++ b/Assets/Scripts/PlayerScript.cs @@ -5,7 +5,8 @@ public class PlayerScript : MonoBehaviour { public static PlayerScript instance; - static float SPEED = 20; + static float SPEED = 30; + static float BOOST_MULT = 1.33f; public Rigidbody2D rb2d; public GrabberScript grabberScript; @@ -27,7 +28,7 @@ void FixedUpdate() { } void UpdateInput() { float speed = SPEED; - float boostMultiplier = Mathf.Lerp(1, 1.5f, Mathf.Clamp01(Mathf.InverseLerp(0, 2, boostSeconds))); + float boostMultiplier = Mathf.Lerp(1, BOOST_MULT, Mathf.Clamp01(Mathf.InverseLerp(0, 2, boostSeconds))); speed *= boostMultiplier; if (grabberScript.grabbedOmino != null) { float size = grabberScript.grabbedOmino.Size(); @@ -35,6 +36,9 @@ void UpdateInput() { speed *= Mathf.Lerp(multiplier, 1, .75f); } Vector3 desiredVelocity = GetMovementVector() * speed; + if (GrabberScript.instance.grabbedOmino?.combineEnabled == true) { + desiredVelocity *= .66f; + } rb2d.velocity = Vector3.Lerp(rb2d.velocity, desiredVelocity, .25f); } Vector2 GetMovementVector() { diff --git a/Assets/Scripts/ScorePopupScript.cs b/Assets/Scripts/ScorePopupScript.cs index 7c32ee4..6b86dd4 100644 --- a/Assets/Scripts/ScorePopupScript.cs +++ b/Assets/Scripts/ScorePopupScript.cs @@ -15,10 +15,13 @@ public class ScorePopupScript : MonoBehaviour Vector3 velocity; public void Init(OminoScript omino) { + Vector3 localPosition = transform.localPosition; + localPosition.z = -5; + transform.localPosition = localPosition; string text = "+" + (omino.Size() * 100).ToString("N0"); int multiplier = omino.GetMultiplier(); if (multiplier > 1) { - text += " x " + multiplier; + text += " x " + multiplier; } tmp.text = text; Color c = tmp.color; diff --git a/Assets/Scripts/SpawnerScript.cs b/Assets/Scripts/SpawnerScript.cs index 6dd1bce..e9fd39f 100644 --- a/Assets/Scripts/SpawnerScript.cs +++ b/Assets/Scripts/SpawnerScript.cs @@ -81,7 +81,7 @@ void TrySpawnZone() { if ((position - playerPosition).magnitude < GameHelper.instance.arenaRadius * .33f) { return; } - float maxSize = 4.5f + Mathf.Pow(GameHelper.instance.timePassed / 40, .6f); + float maxSize = 4.25f + Mathf.Pow(GameHelper.instance.timePassed / 40, .55f); int size = Mathf.RoundToInt(Random.Range(4, maxSize)); List coors = GetRandomOmino(size); Vector2Int dimensions = Util.GetCoorsDimensions(coors); @@ -104,11 +104,14 @@ void TrySpawnOmino() { return; } Vector2 position = Util.GetRandomPointWithinRadius(GameHelper.instance.arenaRadius); + int maxSize = Mathf.RoundToInt(3 + GameHelper.instance.timePassed * .01f); + /* int size = -1; - float max = 9; while (size <= 0) { - size = Mathf.RoundToInt(Random.Range(-max, max) + Random.Range(-max, max)); + size = Mathf.RoundToInt(Random.Range(-maxSize, maxSize) + Random.Range(-maxSize, maxSize)); } + */ + int size = Random.Range(1, maxSize + 1); List coors = GetRandomOmino(size); Vector2Int dimensions = Util.GetCoorsDimensions(coors); float hypot = Mathf.Sqrt(dimensions.x * dimensions.x + dimensions.y * dimensions.y); @@ -129,7 +132,7 @@ bool ZoneCanSpawnHere(Vector2 position, float checkRadius) { return c2d == null; } bool PieceCanSpawnHere(Vector2 position, float hypot) { - float checkRadius = hypot * OminoScript.INTERBLOCK_DISTANCE; + float checkRadius = hypot * OminoScript.INTERBLOCK_DISTANCE * .5f + 4; if (Util.IsPointOnCamera(position, checkRadius)) { return false; } @@ -164,7 +167,7 @@ static List GetRandomOmino(int n) { return omino.ToList(); } List AddOminoColors(IEnumerable coors) { - float goldChance = Mathf.Pow(Mathf.Max(0, GameHelper.instance.timePassed - 120) / 250, .5f) * .2f; + float goldChance = Mathf.Pow(Mathf.Max(0, GameHelper.instance.timePassed - 120) / 500, .4f) * .2f; int numGolds = 0; foreach (var c in coors) { numGolds += Random.value < goldChance ? 1 : 0; diff --git a/Assets/Scripts/ZoneIndicatorScript.cs b/Assets/Scripts/ZoneIndicatorScript.cs index b12e67c..7338ebc 100644 --- a/Assets/Scripts/ZoneIndicatorScript.cs +++ b/Assets/Scripts/ZoneIndicatorScript.cs @@ -38,15 +38,16 @@ void Update() { } Vector2 zonePos = deliveryZone.transform.position; Vector2 camPos = cam.transform.position; - bool show = !GameHelper.instance.paused && !Util.IsPointOnCamera(zonePos, radius); + float scale = 1 / Mathf.Max(1, (zonePos - camPos).magnitude / 100 + .01f); + bool show = !GameHelper.instance.paused && !Util.IsPointOnCamera(zonePos, radius) && scale > .4f; canvasGroup.alpha = Mathf.SmoothDamp(canvasGroup.alpha, show ? 1 : 0, ref vAlpha, .1f); - Vector2 normalizedDelta = (zonePos - camPos).normalized; Vector2 cornerVector = (rtCanvas.sizeDelta / 2) - MARGIN; float xScale = Mathf.Abs(cornerVector.x / normalizedDelta.x); float yScale = Mathf.Abs(cornerVector.y / normalizedDelta.y); - float scaleFactor = Mathf.Min(xScale, yScale); - rt.anchoredPosition = normalizedDelta * scaleFactor; + float canvasScaleFactor = Mathf.Min(xScale, yScale); + rt.anchoredPosition = normalizedDelta * canvasScaleFactor; rt.localRotation = Quaternion.Euler(0, 0, Mathf.Atan2(normalizedDelta.y, normalizedDelta.x) * Mathf.Rad2Deg); + rt.localScale = new Vector3(scale, scale, 1); } } diff --git a/Assets/Sprites/box_outline.png b/Assets/Sprites/box_outline.png index 5abac71a51189a88289863157e074a95b974a56d..0887cec99763bfedb1b747fe09a65fef3acf7645 100644 GIT binary patch delta 5536 zcmbVQdstIfw%;cKqdeO(R(VM5I0Mu25UcWjRY$oN1Qkd?9*Ly_6(os~S9qLQE8bQC zJB$jIhe{DhAVevF0D%Y!MJQOKX1tyLbRh?v z_@(6XO~>~SH{DEnthmqH)p+wc@1>)vBXK15r&~v^4q44OhJJR!E-)+0@pn6_-*R8#1Y}jpiIJG#=jQ#J~rXFwRM2KFeTqYi^K=qekR=TQU!2)HkNBHI@%W{g~7H zKE(fHUqx?az_;$U1}%dcN=EgmG#} zPQgy3k)5_Us*50aJ6stVDr$C>Tmn6H63!G?8=O%#=77gt=a_JOx!qh!wLoGE9Lvsg z`^W>qCDoaK0=HKEwRh0$@um#xUm(BkZHSDMODZXN{y_W$H(G`Mgj_T0eL!G8L$no| zw8SPb=w3_`@mOK)8!`ah*@*-nQXf~CKn^AT6}$>~I8J?P-9x$Jp&MM3IjXw)4_EO@V7tgj~B_;ym4v$ZI>u(S$Poz*w@%wgP`F=U&b_G$0zqus&rlV+80&6t&u z6%3-0g7I)g+5+FqVaf)?><%wqwUBHC%!z)~>ANvs{XSGrd#m+1!# z|5_a1z&Z#XqNhcI{N#aPSbNK~>HE1VUGV}pV3(~LFOFuUDTdJA&{Xf*)9Xj?ptF7& z5WgoTn<+hx8>P;gjjWc$nnTn)S4QE~u#3L&WC#&AI7HvqYIAZE@cVJMA^Dy3_-`P- zNV$Lp3-G||#ZJVWd%pY+ps&g^RPqW=dV2@axE*v~cMy(!$t$eCw7 z5dD;*3_TY~11W7z+zVWlQxur4NZ7TC7a!X;dNcdzhQW$l$TDQf36uOB>D+s{Pil*S zjWKg`Fv+(O59xnfTS_%%R~r%)Oo11$?epyvGN;@LVq~?@3sgPfcDS6j$B#w`+lZj5 zAHG~Ye*EmfR3Nyz+hUnAr-Z~Dk74?zy8(TBfqUy%j!(ig9{9}OMP*^*VH;``Zi^By*RaD#IlGJUxPAuVci}nM)y**JjRF^u?vR?)YBc6qy zTu=gW<5RM_7F`Mrfd)zHf-WKq`kx8V(zqQm-agP=ao`X|^nK&Y5FN1qy@LAH;6Z$Y8)w0+S3l%-sf*5B3ARi0o7j@Dz5=dh4;k-79;6(~HE;RAqJT7@e-qJ9xe20RCB z!{G30TsY$g8xRoZyr2yl-vF57L=JpZ{dt`YsM(3lkgf_DMzlJJUbaJrEnF0AQ;&UX z1QjA5$?bJO&&67E`?1!W8`)0gP9Q%{n^a~4B%ImF2QYBxOCtAGF4-mPj=nZNKdp(= zeMNb;e9NTyFtw-ui3q9Z(%|gff_fI8)$3R~AkQlb=x$Ll^b z4kA|asuLV7KpeV;9zQ-r%2tdvftp?WeSWB6#VNi+J=-CA&od`^-pJ5< zC5f^*CcJjzJV=OZ&~XSzN>)rE1BSX{Ki7I?N@C-Uke^Q?`d9VXF;3y?Tx*pC9We8> z+#sHI6)L&tCWHHbD-O)4G4j-*f6EB{*%0Z*z?owjMoGq5Ox1*`ehwNQHrTHAYU_lT zjK%Ix-Q-Q${zL9v=X`a=7qYuQktc*K!Pq(OiP2dbYSVY^3cQjqbM5XiZ60=~q>z^=6obY{4otsXBNc@C&^U1+WWUVLlb zM;P+(v+YMM!1j+V5qjmlKatj6%_yI4K8KbJS}Ok=+s*eZ&6ZaKla+hg8MBp5{qKN5S%4kzFId@{&TV`u z01l>3xhlODr-5Ip?&z>ozKQzHlH-g`tG_3ZFYW{mp(DjC5MM9{(z}<8sYdzN?evj(6HE3p z0SuU8os(e|f`ci*LQ8NU_&u7}H-YEjSQP=zuOgJMO_W=LT!{vM#U5`T`VXi73Ie}T`~R2!H>A8VUcU>OjVWSw!CSHC+YS3C?226Z=6K`=tOukXG6Ui6_=xITJ#ld_HBK2^?HD1+1;kMpk4x%zu(1 zEWxw8Qt#g@(W>>4WGm10F(jEP6y#rAxVB^sI4!k@o<)VdpqS&>T`74Vynu`CRLiqo zHA>aj#`o}sF=svFuYtiQ0`hXO^}%$D-mnU}z~l50MOYR@eXO#}(*}?MM{|3~W&Z9; zX5vvr#SD%b=*k=8FaMe|T+Mqp)r0{PC{4XMozp6p|l`m)5wB44$YT2!f<9}iQ zgbI-~gZ6-t#V{Ch9$Z5AzFvLxVMA`Gp7@yP7VE+>Ft}^@W4R=B@s?J6fZbQIL<-CH z4OVd|oR);YfXN{tLLo~G_66temacz!18)P2gX=e6wT|a{Mi#|m6Z*TxTci`(!1{|! zjmde;?i1lgr&x-oXh9Z^DtE6{av7A~_n2xJOVV8p?p?Zw^**dPJE$qC%Dju^Xe@o7 zVFFHZM8?3N?aMf%3{hi>w~C~ER@xaXy)!wpTN-h5BGf2~Ie3}f`h|0W4*Th8c|(ok z>h>7{K2LiCI;2P)XNHtJ6&^sheFVUd*`Z~7iELAV##h%Hp=>VSm`YOIMO&~k zDt#}GKiNwQVTfo_Sk}lLc@Uobf@Z;5e;xfQE4OJ2t(i2Fla*(uNmjsS_O%A$S2Gov z!o~*HzQn8#LhF36DrmK|T#wDshN>HPgqf(gX3~f@ z^zbnHcO&7ekx#MEwv2E1>5src<+&D=r#*!Uk{qR}U07M)v(%)0%<%|N5bbRjwoCJv z5TN!)hzh&lKidET3DVH)jSWC;Y;t>nw!0BO)263+?t#pjQ9%BIS((~Vha{Hgxh!L>d$+l{anDPUw{gHvF-u!P=iQ$AN7e_;$>vxucNDmGJN3+1&$4uE>RT= zNKxGCRr{)Tyr@?B6UwMD1s0b(J6#mLb(#yC`d>n@tF}tfCLr&cSQJ;DSiUh3qNc{B^Y1n};iwpoMpE?CyB^lSqyzaaU z9jYtE%F;4@h+URZ4YN|~l117Z*;qIiA!IXqa|2*8eGS=XzGHPjnW0DhFpYDe(|SFy za9^b~AI{V6CwL=j#MkVKGhiR{Z;mb8=G4=+BjskASq@D)x|=|Ko)CLBXSHt+*yZ`i z*W7awfWXB9hP^b+Rx^JtYULg=VddiZZUF?WCck4C!Rad@9_({b?jUz}_%AO;WW(4V zW#;BGhb3X17uIY$_h%Z+Rfdx?{*?T#4wcE`k9ByK6rUsP^o0(!SAXSoxahbWL^TnL zj&*5Y_bl{xI(jFQT0Pq zeDdqYPZjS($5oXq1CvTPSK;01w_e#xh`@ZB$1q|&b@$gSG~@V#48)ByQknGB3JURQ z;x3bk9Lpk^^&L~(D7(n8+kqVH7GDagZio!e7uO^-RI8;DKZx(Fqlr?GJ^*4fzcnJy zlOJlO`N;wh3PVJx;qN*ljs{{qsauOgJ03mvQ6`R>iuJ`{UgMpyqqx_NvEYFqI8^=l zPOnEF>WDv!$>!o{4>p_y21(=r$MAUhQlxBY*Ai7Yft_hrNU7aHu&wPWZld<*T?_c?(00D zWx@#g)U{NI@7Kq(KjEA@ci(Uzb@)UGi2gYWu|vq_{*z6&mBq*21#x4hh|BoEh4*47nCZM delta 5887 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 PFtGm<&wZ79g1`K4O23b` diff --git a/Assets/WebGLTemplates.meta b/Assets/WebGLTemplates.meta new file mode 100644 index 0000000..66f19a5 --- /dev/null +++ b/Assets/WebGLTemplates.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6332c4cf2a4b537429c7c71d0098d8d1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/WebGLTemplates/BetterMinimal.meta b/Assets/WebGLTemplates/BetterMinimal.meta new file mode 100644 index 0000000..02996b1 --- /dev/null +++ b/Assets/WebGLTemplates/BetterMinimal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0f68e9a5d9214264aaf097024f3c0f36 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/WebGLTemplates/BetterMinimal/index.html b/Assets/WebGLTemplates/BetterMinimal/index.html new file mode 100644 index 0000000..3250942 --- /dev/null +++ b/Assets/WebGLTemplates/BetterMinimal/index.html @@ -0,0 +1,110 @@ + + + + + + + {{{ PRODUCT_NAME }}} + + + + +
+ + + +
+ + + diff --git a/Assets/WebGLTemplates/BetterMinimal/index.html.meta b/Assets/WebGLTemplates/BetterMinimal/index.html.meta new file mode 100644 index 0000000..8dc2e0d --- /dev/null +++ b/Assets/WebGLTemplates/BetterMinimal/index.html.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2c53c6ff964555e4499f703a13b14ffc +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/WebGLTemplates/BetterMinimal/thumbnail.png b/Assets/WebGLTemplates/BetterMinimal/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..7dfdad999ff98a7d776e971046a50631b8691244 GIT binary patch literal 1539 zcmd6neNfT|7{{5FR%+ApHn&V&n>)|9RvK<;zLYknW;tJuh6<(`0~Aw9P(&`vmlWZa zQ%WuH9GEe&Y?wx%O&bQKrYocP!6hS21w;kp)z$6a-Sy}8+&$0t?t9Pozwdo6CLfD) z-oA4?2n2GD|1LJ=t(xBLR=c;?f$|sy0&Nk+#~w<WwMy1*$`cG?4oS) zvES+fptE#tK2iCHH~&Vmy$!v0_EO$x@zN}ZfiV&e0^)q3-t3C2stZ3fdiAr}V=hI$ zbpvj((rusrZ|oI=di%}C`;#U}2fe7g{$)OEIF!^2Nuif6@e~>Jvz!=p%@g7?g=R;n zjVKl;J*B}I5vcPQRt#h?j?U^X-fOv>lIT%;o+upF232rf=hV}u>eI3J5SPsQ*8@>J zL0&AJQzFBl{m`N23fmwzLA=SF3kgK<*;D@%eoe3hALn&+fycw96K2j za=J(VX%3cTdfwA0jCRiu-z7@Rp%FlVDKHI*xB6J1UBNLtYpUdNr+MwQZWcwQ?eY7W z^(B=AZNUVgSz_I^LU=~*6GT{QL9Kx&=V3UdpRV+*x~F*O4&#^7-ujU98hh2Q~eRZ~lx$lxp8?W4U;_YL-#UAg*KCz`H^8p%`Dt1wO= znmaiaAjhDPyk#DSaH))VE{>_J+yuF0N$4LC!=3=v-BnRQ(`ocv1jl~ao%co(*0d99e# z8_;oT@}X1vp?|5{STwb+;Oz3alp2AqJjcUSmtyy;bp$|_2!VVv!IIZL$3<=M1k=QG zu3ilTnBY{omBt-fSyP(BX3}aJJR1pOcb&tXiWmD3qe&&RQoa>Z53M9GkPD-~qJuT~ z(SFMfp>QXM6V(<&3$+z-PDsXuP-uj-h06>uzBziYHx*vMRA{D1|u5P zxAW5lOPL9>g~E#kJtIHf!rbb9)!a;LSn%xQjd=T7l4V-{5Q_2gC^MI#UD9e0%alsD z8#X`^vMYbRSgE9YtM=TvHISz}9nMblt@smxC3z1a;#OA}g%Y=L`^zmNa$)KS0jydt zHBolVHG;dyYTfZ?z}%$#qj~x25qAdf0nzfvIviB>LC=nYk(yUh$Dep@5&5L6s+Jl< z>q=wDp#R`%CrUY;u1pwDF(*d^-E9(MQslRhj`@;YJW zc=d)DX~^pFC_t^3DPcFO_2KYMz-j*j#oV(`h5H0byPVt}f8NRNyz_A=@bAdEu`n?h zZhaOR>P&2V(`f>jChpay`sZ26?w%ep=6uotm;eV4n^0e{`HCP}kUN?1@?RJLfz4-J zN=juFMOGIA?pb=EjMv@0R#Z-JIJ>J{@F4m_*I~&&