/** * carteCibleCapacite : Carte vers laquelle la capacite va aller * capaciteImmediate : capacite applicable immediatement * carteOrigine : carte d'ou provient la capacite * carteCibleAction : carte cibler lors de l'appel de l'event * */ private static void traitementCapaciteImmediateCarte(CarteMetierAbstract carteCibleCapacite, CapaciteDTO capaciteReference, Joueur joueur, NetworkInstanceId netIdTaskEvent) { if (capaciteReference.Capacite == ConstanteIdObjet.ID_CAPACITE_MODIF_EMPLACEMENT_CARTE) { //TODO } else if (capaciteReference.Capacite == ConstanteIdObjet.ID_CAPACITE_VOLE_CARTE) { //TODO Definir le conteneur mains, deck, emplacement carteCibleCapacite.deplacerCarte(joueur.Main, joueur.netId, netIdTaskEvent); } else if (capaciteReference.Capacite == ConstanteIdObjet.ID_CAPACITE_DESTRUCTION_CARTE) { //TODO que faire si pas IVulnerable? if (carteCibleCapacite is IVulnerable) { ((IVulnerable)carteCibleCapacite).destruction(netIdTaskEvent); } } else if (capaciteReference.Capacite == ConstanteIdObjet.ID_CAPACITE_INVOQUE_CARTE && null != capaciteReference.CarteInvocation) { GameObject carteGO = CarteUtils.convertCarteDTOToGameobject(capaciteReference.CarteInvocation, true); //TODO ne prends pas en compte l'emplacement cible ou l invocation chez l ennemie CarteUtils.invoquerCarteServer(carteGO, capaciteReference.NiveauInvocation, joueur.Main, joueur); } else if (capaciteReference.Capacite == ConstanteIdObjet.ID_CAPACITE_REVELE_CARTE) { //TODO RPC carteCibleCapacite.generateVisualCard (); } }
private GameObject convertDataToGO(CarteConstructionAbstractData carteConstructionData, bool isServer) { CarteConstructionDTO carteDTO = ConvertDataAndDTOUtils.convertCarteConstructionDataToDTO(carteConstructionData); GameObject carteConstructionGO = CarteUtils.convertCarteDTOToGameobject(carteDTO, isServer); carteConstructionGO.SetActive(false); return(carteConstructionGO); }