17-08-2012, 01:09 PM
Ça fait un bail que j'ai pas codé mais ce ne serait pas plus simple de n'avoir que deux ou trois tables ?
Une recensant les types d'unités, une qui contiendrait les unités disponibles et une contenant les unités indisponibles ?
t_unites [id, nom, description, cout_de_construction, stats ...]
t_unites_dispo [id, type_unite, localisation, nombre]
t_unites_indispo [id, type_unite, localisation, action_en_cours, nombre, temps_arrivee, temps_de_retour]
Bon c'est hyper simplifié et je dis sans doute des bêtises n'étant pas développeur, mais ça me parait plus simple de gérer les unités selon si le joueur peut s'en servir ou non, pour les unités disponibles en cas de défense c'est simple si une zone de la base est attaquée tu vérifies seulement les unités pour lesquelles la localisation est celle qui est attaquée. Le champs localisation de t_unites_indispo (bien que la table est très simplifiée) servirait à indiquer la cible du groupe indisponible, joueur, npc, terrain... et le type d'action à enclencher tes scripts au moment opportun. Tu peux également rajouter une clé de groupe pour les unités indisponibles afin que les unités indisponibles se rendant au même lieu au même moment soient considérées comme un tout.
Une recensant les types d'unités, une qui contiendrait les unités disponibles et une contenant les unités indisponibles ?
t_unites [id, nom, description, cout_de_construction, stats ...]
t_unites_dispo [id, type_unite, localisation, nombre]
t_unites_indispo [id, type_unite, localisation, action_en_cours, nombre, temps_arrivee, temps_de_retour]
Bon c'est hyper simplifié et je dis sans doute des bêtises n'étant pas développeur, mais ça me parait plus simple de gérer les unités selon si le joueur peut s'en servir ou non, pour les unités disponibles en cas de défense c'est simple si une zone de la base est attaquée tu vérifies seulement les unités pour lesquelles la localisation est celle qui est attaquée. Le champs localisation de t_unites_indispo (bien que la table est très simplifiée) servirait à indiquer la cible du groupe indisponible, joueur, npc, terrain... et le type d'action à enclencher tes scripts au moment opportun. Tu peux également rajouter une clé de groupe pour les unités indisponibles afin que les unités indisponibles se rendant au même lieu au même moment soient considérées comme un tout.