From 54724864a00ebab5a1e23533bacda885e9a8ed39 Mon Sep 17 00:00:00 2001 From: Nulo Date: Tue, 6 Jul 2021 17:09:21 +0000 Subject: [PATCH] Botones de compartir --- src/assets.ts | 4 ++++ src/assets/Comparti_1.png | Bin 0 -> 1801 bytes src/assets/Comparti_2.png | Bin 0 -> 9160 bytes src/jugando.ts | 39 +++++++++++++++++++++++++++++++++++++- src/main.ts | 11 +++++++++++ src/utils.ts | 16 ++++++++++++++++ 6 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 src/assets/Comparti_1.png create mode 100644 src/assets/Comparti_2.png diff --git a/src/assets.ts b/src/assets.ts index 317ad6d..33e1086 100644 --- a/src/assets.ts +++ b/src/assets.ts @@ -1,5 +1,7 @@ import botonComenzar from "./assets/Comenzar.png"; import botonSiguiente from "./assets/Siguiente.png"; +import botonCompartirPerdiste from "./assets/Comparti_2.png"; +import botonCompartirFelicitaciones from "./assets/Comparti_1.png"; import logoFPGFDTBlanco from "./assets/Logo Blanco.png"; import logoSalvaLaCostanera from "./assets/SalvaCostanera.png"; import logoSalvaLaCostaneraCostado from "./assets/Salva2.png"; @@ -39,6 +41,8 @@ function loadImage(url: string): Promise { export const assetUrls = { botonComenzar, botonSiguiente, + botonCompartirPerdiste, + botonCompartirFelicitaciones, logoFPGFDTBlanco, logoSalvaLaCostanera, logoSalvaLaCostaneraCostado, diff --git a/src/assets/Comparti_1.png b/src/assets/Comparti_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7d5e9aaba6bec0337a90d2f7184de72a0a1aeb3c GIT binary patch literal 1801 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: { }; } +function shareButton(juego: Juego): { + box: Box; + sprite: Sprite; +} { + const sprite = + juego.state.has === "won" + ? juego.sprites.botonCompartirFelicitaciones + : juego.sprites.botonCompartirPerdiste; + + const width = sprite.getWidth(juego); + const height = sprite.getHeight(juego); + return { + box: { + x: juego.canvas.width / 2 - width / 2, + y: juego.canvas.height * 0.9 - height, + width, + height, + }, + sprite, + }; +} + export function update(juego: Juego, dt: number) { - if (juego.state.has) return; + if (juego.state.has) { + const button = shareButton(juego); + if ( + isTouching(juego, button.box) || + (juego.mouse.down && posInBox(button.box, juego.mouse)) + ) { + share(); + (juego as Juego).state = welcome.createState(); + } + return; + } juego.state.time -= dt; if (juego.state.time < 0) { @@ -444,5 +479,7 @@ export function draw(juego: Juego, timestamp: number) { juego.canvas.height * 0.1 ); } + const button = shareButton(juego); + button.sprite.draw(juego, button.box.x, button.box.y); } } diff --git a/src/main.ts b/src/main.ts index d43d8d0..3c9145e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -17,6 +17,8 @@ export type Juego = { [key in | "botonSiguiente" | "botonComenzar" + | "botonCompartirPerdiste" + | "botonCompartirFelicitaciones" | "logoFPGFDTBlanco" | "logoSalvaLaCostaneraGrande" | "logoSalvaLaCostaneraCostado" @@ -123,6 +125,15 @@ async function initJuego() { botonSiguiente: loadSprite(assets.botonSiguiente, { height: (juego) => juego.canvas.height / 8, }), + botonCompartirPerdiste: loadSprite(assets.botonCompartirPerdiste, { + height: (juego) => juego.canvas.height / 8, + }), + botonCompartirFelicitaciones: loadSprite( + assets.botonCompartirFelicitaciones, + { + height: (juego) => juego.canvas.height / 8, + } + ), logoFPGFDTBlanco: loadSprite(assets.logoFPGFDTBlanco, { height: (juego) => juego.canvas.height / 6, }), diff --git a/src/utils.ts b/src/utils.ts index df68295..a5d9a63 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -75,3 +75,19 @@ export function isTouching(juego: Juego, box: Box): boolean { ) ); } + +export async function share() { + const text = + "¿Sabías que Larreta quiere vender la Costanera para construir un mega emprendimiento inmobiliario de lujo? Estamos juntando firmas para frenarlo, ya vamos 20 mil y nos faltan 20 mil más. ¿Te animas a jugar a este videojuego para salvar la costanera?"; + try { + await navigator.share({ + title: "Salvá la Costanera", + url: location.href, + text, + }); + } catch (error) { + location.href = `https://api.whatsapp.com/send?text=${encodeURIComponent( + text + " " + location.href + )}`; + } +}