173 Commits

Author SHA1 Message Date
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
5d9f4d5a96 Ajout de Unity.TestMeshPro au GameAssembly
Permet d'utiliser TextMeshPro dans le code

Déplacé les script liés à la gestion de ressources dans le répertoire Script/Resource
2023-05-27 10:23:59 -04:00
7851a46c7f Pull request #8: Feature/gestionRessource
Merge in CGD/gather-and-defend from feature/gestionRessource to main

* commit 'd8490535960e2f99e8ea37e87fefeddb83736391':
  SUppression de ResourceMaker et mise à jour de la scène de test des ressources
  Changer le comportement de ResourceMaker et ajout de commentaires
  Avancement sur coroutine de génération de ressources.
  Update sur scene de TestResource
  Debut de la scene de TestResource
  Creation de ResourceManager, ResourceMaker et ResourceRemover
2023-05-27 13:46:41 +00:00
d849053596 SUppression de ResourceMaker et mise à jour de la scène de test des ressources
Bouton de production de ressources supprimées

Correction de la grammaire pour "Rock"
2023-05-26 22:38:33 -04:00
28fdf318d3 Changer le comportement de ResourceMaker et ajout de commentaires
ResourceMaker sera utilisé pour géré la création de mini ressources cliquables dans une autre tâche.

ResourceRemover change le texte en vert si les ressources nécessaires sont disponibles ou en rouge dans le cas contraire.
2023-05-26 18:58:36 -04:00
Felix-gabriel Boucher-luneau
fe7485f815 Pull request #7: ranger les scripts du LevelEditor
Merge in CGD/gather-and-defend from maintenance/tidyUpRepo to main

* commit '5347f2c3fff0fbac0807beb259f6b440dea16e37':
  ranger les scripts du LevelEditor
2023-05-24 17:10:07 +00:00
Felix Boucher
5347f2c3ff ranger les scripts du LevelEditor
puisqu'on utilise des assembly definitions maintenant, il est important que les scripts soient posés dans le dossier Scripts pour qu'ils soient accessibles aux autres scripts. Il a donc fallu déplacer les scripts se trouvant dans le dossier LevelEditor.
2023-05-22 23:13:17 -04:00
e03abf24ec Avancement sur coroutine de génération de ressources.
Changé la coroutine de ResourceMaker vers ResourceManager.

Changé ResourceMaker pour permettre d'augmenter ou de réduire la quantité de resources produites.
2023-05-21 19:18:35 -04:00
Felix Boucher
dec5aeb857 ajouter la tile directement au LevelManager
au lieu d'ajouter une classe data intermédiaire.

l'idée est que ça rend les modifications complexes d'avoir un intermédiaire. Autant ajouter la tuile direct.
2023-05-20 23:27:43 -04:00
Felix Boucher
c7132af42f retiré debug servant à tester 2023-05-20 22:51:56 -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
Felix Boucher
d615b9abe4 level manager et une ferme
pas de moyen d'accéder et de gérer et d'accéder aux unités / props sur la map

- ajout d'un LevelManager qui contient tous les objet de niveau (ILevelObject)
- ajout d'un ResourceTile qui s'ajoute lui-même au level manager, et contient ses informations.

ResourceTile pas terminée puisque le genre de resource est dépendant du ResourceManager, pas encore contenu dans main.
2023-05-20 22:35:01 -04:00
3e00af6067 Update sur scene de TestResource
Ajout de ResourceText. Permet de montrer l'inventaire des ressources dynamiquement.

Modification de la gestion d'instance dans ResourceManager

Changement des boutons pour la version TextMeshPro

Debut de la coroutine de ResourceMaker
2023-05-20 18:50:27 -04:00
BaptisteGirard
7d225ccbd0 v3 2023-05-19 22:30:00 -04:00
BaptisteGirard
e58928ef8b v2 2023-05-15 15:47:38 -04:00
61775fdf76 Creation de ResourceManager, ResourceMaker et ResourceRemover
Permet la gestion, la création et la prise en charge du cout des resources respectivement.
2023-05-14 16:28:24 -04:00
Baptiste
961059ce16 v1 attack ally and enemy 2023-05-12 19:29:21 -04:00
69aad5b451 First push 2023-05-07 18:28:47 -04:00