Merge in CGD/gather-and-defend from main to animation_unites
* commit 'd3088b6fcb254fabadbff65304d14228ff74873a':
sauvegarder la position / échelle locale
cached and refactored a bit
change names + add commentaries
drag&drop - montrer range et tweaker outline
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*
Merge in CGD/gather-and-defend from bug/LevelEditor/ResizeAndMoveTilemaps to main
* commit '6c96d31544b44fc4ff86c501829ed7a426e344ad':
sauvegarder la position / échelle locale
problème : quand on load un niveau, les tilemaps sont toujours reset à position = (0,0,0) et scale = (1,1,1).
solution : sauvegarder la position et l'échelle locale des tilemaps
Merge in CGD/gather-and-defend from feature/showRangeInPlaceholder to main
* commit '6a3a40575325428c4b8d7e2476ae68981a10b6e0':
cached and refactored a bit
change names + add commentaries
drag&drop - montrer range et tweaker outline
problem : spelling errors and lisibility issues with some parts of the code
solution :
- used GetAllComponents generic nature to eliminate the need for casting
- cached sprite renderers in the Placeholder
- put hardcoded string in a const variable
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
Merge in CGD/gather-and-defend from feature/pickUpYield to main
* commit '94f918d2dc24dffa71d860e85c7f60097785c401':
Création de dossiers Script/PlayerAction et Prefab/Yield
Correction des commentaires de PR
Corrigé conflit du merge
Augmenté la vitesse de production de ressource
Ajout de ClickBehavior pour détecter le click sur les yields
Ajout des Yield prefabs et de ResourceMaker
Ajout de YieldTile dans la scène de TestDragAndDrop
Ajout de Meat pour le yield de nourriture afin de séparer Farm
Ajusté ResourceTile pour toujours produire des ressources à moins que YieldSpeed est égal à 0
- Régler le problème où les icônes sur la carte ne s'affichait pas correctement;
- Ajout d'une condition pour empêcher l'utilisateur de selectionner un s'il est vérouillé.
Merge in CGD/gather-and-defend from bugfix/drag_and_drop_no_placeholder to main
* commit 'dfefec3dccf847fd5c914d0263156230f678239e':
logic for placing object was not good
added one method summary
address PR change requests
test scene, render issues, collision issues
enlevé besoin d'un placeholder statique par unit
logic was supposed to allow placing object on farms, which it didn't
now it does.
+ changed ObjectPlaceholder's name so it follows the TilePlaceholder's convention
problems :
- there were no test scene
- units would appear weird over some tiles
- units would not recognize some tiles when trying to know if it could place itself on it
solution :
- added test scene
- tweaked sorting layers in units
- added IsCollidable parameter in ILevelObject
problème : créer un placeholder par unit allait être un sale hassle
solution : maintenant, le placeholder est créé dynamiquement
note : also, j'ai ajouté un système pour ajouter des tiles
Merge in CGD/gather-and-defend from bugfix/center_GOs_on_tiles to main
* commit '102f646340ba8c56ec5c1c64a3c99642e3cc2f65':
center GOs without offsetting them
problème : les game objects sont offsettés de (-.5, -.5) par rapport aux tiles
contrainte : on ne veut pas changer l'ancrage des game objects ou des tiles
solution : changer le point d'ancrage des tilemaps à la place. Cela peut se faire automatiquement à la création du niveau.
Merge in CGD/gather-and-defend from feature/drag_drop to main
* commit 'b3fd252869a5ce73962c5fc2576b2423deea2967':
moved shaders and materials to right folder
some last moment fixes
drag and drop
Merge in CGD/gather-and-defend from bug/levelManager_auto_generation to main
* commit 'da519fe75fee41e76f13ee7db60fbc0fbf4afa4b':
enlevé génération automatique de Level Manager
Merge in CGD/gather-and-defend from feature/LoadSave to main
* commit 'ec94ccfc145829cf329792d9e66188da7663b54b':
ajout de doc xml pour la classe database
manage when tiles or objects are removed
tidied up + addressed issue with non-LevelTiles
save / load dans un fichier
working save / load functions
travail sur le save et le load
some tidying up
made LevelObject and Tile methods virtual
finish to hijack update loop + serialization
tweaks to LevelManager
problème : Le level manager n'était pas notified quand un objet ou une tile était enlevée du niveau
solution : LevelTile et LevelObject gèrent l'effaçage avec RefreshTile et OnDestroy.
problèmes :
- mon code et l'arrangement des fichiers avait besoin d'un peu de tidy up
- les tiles qui n'étaient pas des LevelTile ne loadaient pas
solution :
- rangé un peu + respecté structure une classe - un fichier
- tenté un build pour voir si tout roulait comme il faut, ce qui m'a porté à ajouter des directives de preprocessing et à bouger les custom inspectors dans le dossier Editor.
- ajouté une représentation simple des tuiles non-LevelTile dans la sauvegarde.