Merge in CGD/gather-and-defend from feature/delete_button to main
* commit '27d329df7170a12e850d11355ccd33118a94fb7e':
fix unit cost not working anymore
working delete feature + placeholder refactor
refactor placement buttons to accomodate delete
update database for prefabs and scriptableobjects
add delete button
Merge in CGD/gather-and-defend from progress_worldmap to main
* commit '25d574714f32e7eec33f90451d2054cb643722ff':
add the save and unlock next level after finishing anyone
Merge in CGD/gather-and-defend from prog/population to main
* commit '6778880d5fed0d60c92f48995e62eca289bfaec3':
reset resources for real each level loading
oops forgot some staging
population mechanic with art
- 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.