175 Commits

Author SHA1 Message Date
749d2c5643 Finished group spawn
Created Serializable class GroupList in WaveConfig.cs to contain multiple enemy types per group
2023-10-18 20:31:57 -04:00
13f00e326c Start group spawn 2023-10-18 20:31:57 -04:00
2478c8b3fb Added show victory and defeat screens animation 2023-10-15 19:23:24 -04:00
e2ff56264e Fix game conflict and added correct UI for the victory and defeat screens 2023-10-15 18:34:42 -04:00
449744cdc7 Merged with main 2023-10-15 17:51:21 -04:00
Felix Boucher
8adc563d47 make transition fool proof
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
2023-10-09 22:21:06 -04:00
Felix Boucher
f9a54513cd repair camera calibrating + finish adding configs 2023-10-01 21:50:15 -04:00
Felix Boucher
ef6b345a03 added some doc + some global configs 2023-10-01 21:50:12 -04:00
Felix Boucher
9e07c48fd4 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
2023-10-01 21:48:35 -04:00
da9257f78e Pull request #45: Origin/feature/ChangeGameSpeed
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;
2023-10-02 01:01:31 +00:00
059b6d5bd8 Correction du nom d'une méthode. 2023-10-01 20:54:45 -04:00
Baptiste
e25b7da389 ajout des fonctionnalité des boutons + ajout de la condition de défaite fonctionnelle 2023-09-30 15:25:18 -04:00
Baptiste
2d2cfecbc4 ajout classe building + debut condition victoire defaite (script et ui) 2023-09-18 16:47:06 -04:00
0ce0acae5e Fix MissingRefException when monster calls method OnDestroy
Changes to Entity.cs to override Death method
2023-09-17 20:45:11 -04:00
def7c9f30d Merge remote-tracking branch 'origin/main' into feature/waveEditor 2023-09-17 20:03:00 -04:00
56410139fd Reworked constant spawn
One row will spawn at a set interval

Maximum enemy per row determined by active toughness on that row
2023-09-17 18:56:30 -04:00
73eaf47726 - Ajout d'une fonction qui met le jeu en pause. 2023-09-17 17:09:34 -04:00
6345febb35 Start reworking constant spawn
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
2023-09-10 15:39:19 -04:00
Felix-gabriel Boucher-luneau
ce058aee7f Pull request #39: global config file
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
2023-09-03 16:21:20 +00:00
Felix Boucher
0714036b57 separate ally and enemy config + bugfixes
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)
2023-08-30 14:57:01 -04:00
4d7d59bda7 - Implémentation d'une méthode pour accèler le jeux pendant un partie;
- Création d'une méthode qui remet la vitesse de jeux à son état normal lorsque le dernier ennemi est mort, mais n'est pas encore implémenté;
2023-08-30 14:09:38 -04:00
fcc29ad88a Removed debuging comments
Fixed the behavior of WaveObserver when a monster dies
2023-08-06 18:51:27 -04:00
a0aa9cfb64 Changed comments to english
Added a limit to how many monsters are created per lane
Unfixed issue where SpawnOnStart breaks the system
2023-08-06 18:27:23 -04:00
Felix Boucher
0aa3327433 appliquer global config aux différents endroits
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
2023-08-05 15:55:54 -04:00
35f0796ad1 Merge remote-tracking branch 'origin/main' into feature/waveEditor 2023-08-02 15:10:19 -04:00
5deeb528b8 Merge remote-tracking branch 'origin/main' into feature/fixRecolteBug 2023-08-02 15:02:45 -04:00
333a6e00bf Ajusted the behavior to be performance efficient 2023-08-02 15:00:21 -04:00
Felix Boucher
defe6ed4ff creer le scriptable object GlobalConfig
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.
2023-08-02 01:39:24 -04:00
d44bf44624 Merge remote-tracking branch 'origin/main' into feature/fixRecolteBug 2023-07-30 15:56:28 -04:00
cfeb6bb09b Fixed yield collecting bug
Implemented OverlapCircleAll and FindAll
Reverted SortingOrder changes to prefabs
2023-07-30 15:55:54 -04:00
c9c47f1417 Fix enemy count bug where the number of enemies spawned was inconsistent with the amount desired 2023-07-30 11:56:13 -04:00
Felix-gabriel Boucher-luneau
fb80cc3c9b Pull request #37: Finish integrating level selector
Merge in CGD/gather-and-defend from feature/integrateLevelSelector to main

* commit '9696ee614e4666d93da40bcec686e87ac6a30559':
  spawners n'apparaissent plus + beau back button
  finish integrating level selector
2023-07-25 23:07:22 +00:00
Felix Boucher
27d72368aa 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
2023-07-23 20:16:44 -04:00
adea3b05d4 Ajustement de l'ordre des sprite des recoltes
Implementation de OverlapPoint pour remplacer RaycastHit
2023-07-23 19:14:35 -04:00
Baptiste
7de3727297 no message 2023-07-23 16:01:54 -04:00
Baptiste
d60d333743 Merge branch 'main' of https://bitbucket.clubconjure.com/scm/cgd/gather-and-defend into animation_unites
# Conflicts:
#	Assets/Prefabs/Monsters/ClawClawRough_monster.prefab
#	Assets/Prefabs/Sticks/baseStick.prefab
2023-07-23 15:59:36 -04:00
Baptiste
b3bb49d9e1 AJout detection de l'ennemi le plus proche, correction bug collision, correction bug monstres attaque de loin 2023-07-23 15:45:58 -04:00
Felix Boucher
b1cfb714a6 changer l'apparence du harvester
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)
2023-07-23 11:53:07 -04:00
84470e8d0e Merge branch 'main' into feature/waveEditor 2023-07-22 17:50:56 -04:00
b57efc49a8 Ajout d'instructions pour la configuration de la vague d'ennemi
Changé le nom de classe de LevelConfig vers WaveConfig afin d'éviter une confusion avec le LevelEditor
2023-07-22 14:21:44 -04:00
fd22af5e65 Revert FetchDatabaseStatic because it prevents builds 2023-07-22 01:32:22 -04:00
ecd32b09b8 Level 1 to 6 and allow loading levels in worldMap 2023-07-22 01:24:05 -04:00
babc3a24e8 Add FarmersAssociation unit + balance changes 2023-07-21 23:25:38 -04:00
70a4048ee7 Axeman, miner, entities scaling and projectile angled 2023-07-18 15:43:21 -04:00
d83f621c3e Merge remote-tracking branch 'origin/main' into feature/animationRecolte 2023-07-14 23:16:26 -04:00
cad2436773 Progrès WaveEditor
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
2023-07-14 23:15:18 -04:00
d75a1ec747 Progrès WaveEditor
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
2023-07-14 19:44:07 -04:00
1ceb1da60d Archer anim; Farmer anim; Fix HUD issues 2023-07-14 14:57:39 -04:00
c39bbba683 Made game scene look like maquette 2023-07-14 14:15:07 -04:00
1d147bb207 Clean code; Remove text on levels; Load game scene for now when clicking on a level btn 2023-07-14 13:01:21 -04:00