From 72575b44c6c7b894eabf41267eb400c3651b5126 Mon Sep 17 00:00:00 2001
From: Nulo <hi@nulo.in>
Date: Tue, 6 Jul 2021 17:58:08 +0000
Subject: [PATCH] Mostrar dialogo de firma

---
 src/assets.ts          |   2 ++
 src/assets/Firmá_2.png | Bin 0 -> 15760 bytes
 src/jugando.ts         |  15 ++++++++++++++-
 src/main.ts            |   6 +++++-
 4 files changed, 21 insertions(+), 2 deletions(-)
 create mode 100644 src/assets/Firmá_2.png

diff --git a/src/assets.ts b/src/assets.ts
index 33e1086..4c0db61 100644
--- a/src/assets.ts
+++ b/src/assets.ts
@@ -11,6 +11,7 @@ import instrucciones3 from "./assets/Instrucciones 3.png";
 import placaPerdiste from "./assets/Perdiste_2.png";
 import placaFelicitaciones from "./assets/Felicitaciones_2.png";
 import flecha from "./assets/flecha.png";
+import dialogoFirma from "./assets/Firmá_2.png";
 import larreta from "./assets/Larreta.png";
 import millonarioMalo from "./assets/Millonario Malo.png";
 import cieloRioCalle from "./assets/CieloRioCalle.png";
@@ -52,6 +53,7 @@ export const assetUrls = {
   placaPerdiste,
   placaFelicitaciones,
   flecha,
+  dialogoFirma,
   larreta,
   millonarioMalo,
   cieloRioCalle,
diff --git a/src/assets/Firmá_2.png b/src/assets/Firmá_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..92234917da8241ae4df81d34660cc744d81123e2
GIT binary patch
diff --git a/src/jugando.ts b/src/jugando.ts
index 43b093d..faa9339 100644
--- a/src/jugando.ts
+++ b/src/jugando.ts
@@ -35,6 +35,7 @@ export type State = {
   trees: { x: number; sprite: Sprite }[];
   citizens: Citizen[];
   signatures: number;
+  justSigned: number;
   time: number;
   seedCooldown: number;
 };
@@ -62,6 +63,7 @@ export function createJugandoState(juego: Juego<any>): State {
     trees: [],
     signatures: 0,
     citizens,
+    justSigned: 0,
     time: TIME,
     seedCooldown: 0,
   };
@@ -159,6 +161,7 @@ export function update(juego: Juego<State>, dt: number) {
   if (juego.state.pos.x > MAP_MAX) juego.state.pos.x = MAP_MAX;
 
   juego.state.seedCooldown -= dt;
+  juego.state.justSigned -= dt;
 
   const citizen = detectCitizen(juego);
 
@@ -166,6 +169,7 @@ export function update(juego: Juego<State>, dt: number) {
     if (citizen) {
       juego.state.signatures += 1000;
       juego.state.citizens = juego.state.citizens.filter((c) => c != citizen);
+      juego.state.justSigned = 2000;
     } else {
       if (juego.state.seedCooldown < 0) {
         const seedSpeed = juego.canvas.width * 0.7;
@@ -270,13 +274,22 @@ function detectCitizen(juego: Juego<State>): Citizen | undefined {
 
 function drawJugadorx(juego: Juego<State>) {
   const floorY = getFloorY(juego);
+  const width = juego.sprites.jugadorx.getWidth(juego);
+  const height = juego.sprites.jugadorx.getHeight(juego);
   juego.sprites.jugadorx.draw(
     juego,
     juego.state.pos.x + juego.state.view.x,
-    floorY - juego.sprites.jugadorx.getHeight(juego),
+    floorY - height,
     0,
     juego.state.side === "left"
   );
+  if (juego.state.justSigned > 0) {
+    juego.sprites.dialogoFirma.draw(
+      juego,
+      juego.state.pos.x + juego.state.view.x + width,
+      floorY - height - juego.sprites.dialogoFirma.getHeight(juego)
+    );
+  }
 }
 
 function drawTrees(juego: Juego<State>) {
diff --git a/src/main.ts b/src/main.ts
index 3c9145e..0a8a98f 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -27,6 +27,7 @@ export type Juego<T extends State> = {
       | "instrucciones3"
       | "placaPerdiste"
       | "placaFelicitaciones"
+      | "dialogoFirma"
       | "flecha"
       | "jugadorx"
       | "jugadorxPresentando"
@@ -159,6 +160,9 @@ async function initJuego() {
     placaFelicitaciones: loadSprite(assets.placaFelicitaciones, {
       height: (juego) => juego.canvas.height * 0.6,
     }),
+    dialogoFirma: loadSprite(assets.dialogoFirma, {
+      height: (juego) => juego.canvas.height / 8,
+    }),
     flecha: loadSprite(assets.flecha, {
       height: (juego) => juego.canvas.height / 6,
     }),
@@ -166,7 +170,7 @@ async function initJuego() {
       assets.jugadorx,
       { height: (juego) => juego.canvas.height / 4 },
       {
-        width: 65,
+        width: 56,
         height: 94,
       }
     ),
