- added art for house and UI
- put population in ResourceManager
- create house prefab
- added code for adding and removing pop depending on entity
- refactor harvesters so they inherit from ally
- modify placeholders and buttons so that only units cost population
- add events for population and resources changing
- add population relative configs to global config
- add start resources values to Levels
- add debug feature for generating resources for free
Merge in CGD/gather-and-defend from prog/load_level_transition to main
* commit '8adc563d47b55bdd37fede8466d0b455d6ecd49c':
make transition fool proof
repair camera calibrating + finish adding configs
added some doc + some global configs
ajout de transition avant de loader le level
besoin :
- le level était loadé directement au moment de cliquer dans le level selector ce qui n'est pas très fenshui
solution :
- fade out avec nuages
- les tuiles tombent à leur place au lieu d'apparaitre toutes en même temps
Merge in CGD/gather-and-defend from feature/globalConfigFile to main
* commit '0714036b57f45e2c04dc8de469ce99b1b8a2d6d3':
separate ally and enemy config + bugfixes
appliquer global config aux différents endroits
forgot changes in game.unity
creer le scriptable object GlobalConfig
la config des ennemis influencait la config des alliés, ce qui était un bug maintenant, il y a une config différente pour les alliés et les ennemis.
l'animation d'attaque ne se terminait pas à temps pour faire le dégat, il a donc fallu multiplier la vitesse d'animation par le attack speed quand on attaque
j'en ai profité pour faire la même chose pour le walk animation et le speed
j'ai changé l'attribut des unités "attack speed" pour un "attack interval", pour que ça représente mieux son utilisation. Le multiplicateur reste sur la vitesse, et non sur l'interval.
Les configs pour les ressources sont les valeurs des ressources directement (pas des multiplicateurs)
besoin : il serait bien d'avoir un fichier central qui permettrait de modifier toutes les valeurs du jeu sans avoir à aller dans chaque prefab et gosser
solution : un fichier central de paramétrage qui sera hooked en middleman dans les valeurs des différents objets du jeu, et pourra être changé en temps réel et appliqué globalement
note : le fichier est créé mais les paramètres ne sont pas encore hooked.
Merge in CGD/gather-and-defend from feature/integrateLevelSelector to main
* commit '9696ee614e4666d93da40bcec686e87ac6a30559':
spawners n'apparaissent plus + beau back button
finish integrating level selector
Level selector was already working after work by William but some small bugs remained to be fixed + it wasn't possible to return to level selector once we were in the level.
- it's now possible to go back to level selector from Level
- LevelManagerScript is no longer a singleton (this way, it resets with the Game scene unloading)
- Added a property drawer for using scene files in inspectors
problème :
- le harvester avait une apparence non-changeante dépendant du genre de ressource sur lequel il était placé.
solution :
- ajouter une logique qui change le prefab choisi dépendant de sur quelle tuile on place le harvester.
- also, quelques micro refactorings (changement de noms, ajout de doc)
problème : il faut que les resource tiles produisent des resources seulement quand elles ont une unité au dessus d'elles pour les harvester.
solution : créer une classe harvester qui est vérifiée par la resource tile avant d'updater. Si aucun harvester n'est au dessus, aucune update n'est faite.
problems :
- game scene was not as shown in the GDD
- problem when moving tilemap (the placeholders didn't follow)
- possible to place units outside the game area
solutions :
- try to make the game scene as close to the gdd as possible
- don't move the tilemap : move the camera instead (this keeps the world position of tilemap intact)
- there was a logic bug in the DraggablePlaceholder. It ain't anymore
problème :
- la scène game n'avait pas toute les dernières features créées
solution :
- ajouté LevelManager, boutons d'ajout d'unités, labels de resources
Merge in CGD/gather-and-defend from animation_unites to main
* commit 'e44264d66f2068dc53f341e5bb19684e2e3409db':
ajout event animation, ajout classe Root qui sert de transition entre la classe Entity et l'animator.
correction du merge request
no message
animations walk/idle/death/move working
Ajout d'arrière-plan à l'affichage des ressources dans la scène TestDragAndDrop
Déterminé une destination fixe réaliste pour les yields
Suppression du Meat tile pour éviter une redondance avec le Farm tile
Problem :
Les unités et bâtiments ne coutaient rien à construire
Solution :
J'ai link le système de drag and drop au resource manager.
Note :
J'ai déshérité le ResourceManager de MonoBehaviour aussi, vu que c'est pas une fonctionalité qui nécessite d'être updaté par frame vraiment, c'est plus du stockage.
J'ai testé dans l'éditeur et tout semble fonctionel *fingers crossed*
problème :
- le range d'attaque n'apparaissait pas sur le placeholder des unités
- le outline ne fonctionnait pas bien sur toutes les unités
- le placeholder étant opaque, on ne pouvait pas voir la tuile en dessous
solutions :
- utiliser les bounds du collider de détection pour tracer le range des unités sur le placeholder
- utiliser un shader pour tracer un outline colorable autour des unités
- rendre le placeholder plus transparent