Opération architecture projet collaborative

Création des groupes « DataModels » et « DataControllers » ainsi que leurs sous groupes.
Opération architecture projet collaborative (GROS COMMIT)

- Création de nouvelles classes du data model :

GameData.h et .m -> classe modèle contenant les données in-game (état de la tour, dieux, dans quelle scène de gameplay se trouve-t-on…)
GodData.h et .m -> classe modèle contenant des données in-game sur un dieu élémentaire. Définit son élément, s’il est actif ou non, son taux de respect pour le joueur…
WindGodData.h et .m -> classe modèle contant des données in-game sur le dieu du vent. Comme il a un rôle et un comportement différents, il est modélisé par un objet différent des autres dieux. Encore vide à ce jour.

- Création de nouvelles classes du data controller :

LevelVisitor.h et .m : classe TRES importante, puisqu’elle est celle qui charge un niveau et récupère les informations associées aux niveaux en général. C’est un visitor, donc un singleton. Dans la méthode StartLevel, elle crée un GameData en fonction des données spécifiques à un niveau (quels sont les dieux par exemple). Cette méthode doit être appelée lorsque nous voulons lancer un niveau. Comme nous ne faisons qu’un prototype, la lecture de la liste des niveaux dans un savefile (ce qu’il faudrait faire s’il y avait une version finale) est remplacée par un niveau hardcodé directement dans le init (allez voir). A noter que ce init pourra s’étoffer avec plus d’arguments si nécessaire.

- Creation de classes et protocoles pour les scènes :

GameSceneProtocol.h -> un protocole avec les fonction communes à nos deux scènes. Il n’y a que l’init pour l’instant mais ce protocole pourra être étoffé au fur et à mesure.
GameScene.h et .m -> classe de base pour les deux scènes. Elle contient pour l’instant trois propriétés : le layer du ciel dynamique, le gamedata et le layer de la planète.
ConstructionScene.h et .m -> hérite de GameScene et adhère au protocole GameSceneProtocol. Cette scène est la fameuse scène de construction de tour.
BalanceScene.h et .m -> hérite de GameScene et adhère au protocole GameSceneProtocol. Cette scène est la fameuse scène d’équilibrage au gyroscope.

- Création de classes Layers :

SkyLayer.h et .m -> pour Maxou :) c’est le layer du ciel dynamique.
TowerLayer.h et .m -> le layer qui contient la tour. Il agrège un TowerData.
PlanetLayer.h et .m -> le layer de la planète sur laquelle on démarre la construction et qu’on manipule directement dans la scène gyroscopique.

- Inhibition de méthodes init :
Les méthodes init « de base » de certaines classes dont nous voudrions forcer l’initialisation avec certains arguments ont été inhibées. Si elles sont appelées, elles lancent une exception.

- Ajout de divers enums dans GlobalConfig

- Création de groupes pour organiser le projet.