NestorTejero / ES2016A

VideoJoc Curs Enginyeria Software 2016 - grup A de pràctiques (dijous)
https://nestortejero.github.io/ES2016A/
GNU General Public License v3.0
2 stars 0 forks source link

Modified script: TowerPlacement and TowerSelection #190

Closed dannylarrea closed 7 years ago

dannylarrea commented 7 years ago

Mirar la definicion de hecho y algunas características implementadas en la issue #187

agonzatr17 commented 7 years ago

Dos puntos a comentar:

Si necesitas ayuda con esto avísame y te echo una mano. Como ejemplo: en el TowerPlacement se desactiva el TowerSelection (cuando se está colocando una torre) para que no interfiera un script con el otro

// Disable TowerSelection script cause we do not want to select towers while placing one GameObject.Find("GameScripts").GetComponent\().enabled = false;

y luego se reactiva

// Re enable TowerSelection script GameObject.Find("GameScripts").GetComponent\().enabled = true;

Se podría definir la superficie del HUD superior al detalle... ¿posible próxima implementación?

Si que sería interesante definir la posición y tamaño de los HUDs para poder tratar mejor el problema de los clicks sobre éstos cuando se realiza otra acción (como colocar una torre). Habría que comentarlo con el equipo C en el siguiente review.

agonzatr17 commented 7 years ago

Se ha podido comprobar que mientras el juego está en pausa no se pueden seleccionar ni comprar torres. Cuando se continua con el juego los scripts vuelven a ser funcionales. También se ha modificado el placement para que el HUD inferior bloquee el posicionamiento (es decir, al hacer click sobre el HUD se cancela el placement actual).

Por tanto, los scripts modificados (TowerPlacement and TowerSelection) cumplen los requisitos que se planteaban en el Definition of Done. Además, después de revisar y plantear algunos cambios respecto al menú de pausa, se ha optimizado la implementación de forma que funciona con una sola condición (if) en el código (una en cada script) que comprueba si el juego está en pausa o no, usando el método del LogicConnector:

LogicConnector.isInGame()