- 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
problème :
Il y avait plusieurs manières de faire planter le loading screen en appuyant sur des boutons
changements:
- turn off buttons when loading screen is active
- turn on buttons when loading screen is not active
- add event aggregator class to project and migrate every event to it
- fix bugs and regressions
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 origin/feature/ChangeGameSpeed to main
* commit '059b6d5bd84b3f07963f222f575a61c7dc7b86a2':
Correction du nom d'une méthode.
Ajout du menu pause et de son interface.
- Ajout d'une fonction qui met le jeu en pause.
- Implémentation d'une méthode pour accèler le jeux pendant un partie;
Made interval between spawns adapt to enemies spawned at the Start
Removed the random factor of interval to respect the game duration
Made max spawn per row dependent of enemy toughness on that row
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)
PROBLÈME :
la config existait mais n'était pas appliquée nulle part
SOLUTION :
maintenant elle l'est
NOTES :
Elle n'est pas encore appliquée au flash de dégat
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)
WaveObserver gère le nombre d'ennemi à créer et assure d'arreter la création d'ennemis supplémentaires.
SpawnerTile détermine un intervalle aléatoire automatiquement après chaque création d'ennemi. La première intervalle a plus de chance d'être plus courte que les intervalles suivantes.
Config01 est le scriptable object de type LevelConfig
Suppression de commentaires de tests
WaveObserver donne aux spawners les unités à instancier ainsi que l'intervalle de création de ceux-ci
LevelConfig passe de Level vers LevelManager puis il est utilisé dans l'instance de WaveObserver