14 Commits

Author SHA1 Message Date
Felix Boucher
102f646340 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.
2023-06-06 14:46:33 -04:00
Felix Boucher
0a8f5d1a5a some last moment fixes 2023-06-03 09:42:50 -04:00
Felix Boucher
86cb9280b4 drag and drop 2023-06-03 09:35:13 -04:00
Felix Boucher
da519fe75f enlevé génération automatique de Level Manager
la génération automatique de level manager faisait bugger le jeu

j'ai effacé cette partie du code et ça marche maintenant
2023-06-02 14:11:51 -04:00
Felix Boucher
c1f008104e manage when tiles or objects are removed
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.
2023-05-28 23:02:33 -04:00
Felix Boucher
8b5d0370dc tidied up + addressed issue with non-LevelTiles
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.
2023-05-28 22:00:47 -04:00
Felix Boucher
f1a328122c save / load dans un fichier
problème : le save et le load fonctionnait avec un string en mémoire

solution : créer un fichier save.txt dans les assets quand on sauvegarde, et lire de ce fichier quand on load.
2023-05-28 17:37:54 -04:00
Felix Boucher
d4f32e439f working save / load functions
problème : au moment de load une save, les tiles qui spawnaient des GameObjects au start les spawnaient malgré qu'ils l'avait déjà spawné dans la dernière session de jeu + problèmes de sérialisation divers

solution : spawner le GameObject seulement si le lifetime de la tile est de zéro. correction des différents problèmes de sérialisation.

note : les tiles ne semblent vraiment pas être faites pour avoir une update loop. mais bon, maintenant ça marche.
2023-05-28 01:52:44 -04:00
Felix Boucher
4fbce56853 travail sur le save et le load
problème : pas de moyen de sauvegarder et de charger les niveaux entamés

solution : fonctions save et load dans le LevelManager
2023-05-27 20:38:43 -04:00
Felix Boucher
08c9171262 some tidying up
plusieurs scripts ne semblaient pas au bon endroit. Je les ai donc réorganisé un peu.
2023-05-27 20:38:43 -04:00
Felix Boucher
1bf7e04798 made LevelObject and Tile methods virtual
problème : le fait que les méthodes update/start/destroy etc des ILevelObject soit abstraites était restreignant (obligation de override)

solution : j'ai rendu les méthodes virtuelles à la place de abstraites.
2023-05-27 20:38:42 -04:00
Felix Boucher
ef8a70aba4 finish to hijack update loop + serialization
problem : tiles dont have an update loop, neither do they have a start / destroy method

solution : finished working on a way to create a custom start/update/destroy pipeline for the projects custom tiles. it's using LevelManagerScript as to Update.

note : also created a database and a start of serialization system so we can save and load stuff.
2023-05-27 20:38:42 -04:00
Felix Boucher
d10677db6d tweaks to LevelManager
le fait qu'il faille updater des tiles du tilemap posait un réel problème

création d'un système d'héritage pour que les game objects et les tiles puissent cohabiter dans une même game loop

- ILevelObject contient des fonctions de start, de destroy, d'update, d'égalité et une position

- LevelTile et LevelObject héritent de ILevelObject et peuvent être hérité par des tiles ou des MonoBehaviours.

- le level manager est un monobehaviour singleton qui update tous les ILevelObjects à chaque frame.
2023-05-27 20:38:42 -04:00
Felix Boucher
22abe69340 tidy up level manager related scripts
scripts were not classified

created a LevelManager folder in the scripts folder
2023-05-20 22:42:03 -04:00