C# [Résolu] Localiser un groupe de monstres (obtenir cellId)

A

Anonymous

Invité
#21
Re: [Résolu] Localiser un groupe de monstres (obtenir cellId

Désolé, j'avais pas trop le temps. Alors, dans chaque classe tu as une variable protocolId qui t'indique l'id de la class.
Donc si tu fais:
//Personnage
if (myMapComplementaryInformationsDataMessage.actors(i).protocolId == 36) {
}
//Monstre
if (myMapComplementaryInformationsDataMessage.actors(i).protocolId == 160) {
}
Tu arrive facilement a différencier les différents actors.
 
A

Anonymous

Invité
#22
Re: [Résolu] Localiser un groupe de monstres (obtenir cellId

Le problème c'est que ProtocolId est une constante, donc un champ statique, donc impossible d'y accéder une fois la classe instanciée.
En VB.NET tu peux le faire car une constante ne peut PAS être statique, mais en C# c'est le contraire : une constante est TOUJOURS statique.
 
A

Anonymous

Invité
#23
Re: [Résolu] Localiser un groupe de monstres (obtenir cellId

Ah ok...
Bon bah ma méthode ne marche pas en C#
 
A

Anonymous

Invité
#24
Re: [Résolu] Localiser un groupe de monstres (obtenir cellId

µnKn0wn_H4CK3r a dit:
Le problème c'est que ProtocolId est une constante, donc un champ statique, donc impossible d'y accéder une fois la classe instanciée.
En VB.NET tu peux le faire car une constante ne peut PAS être statique, mais en C# c'est le contraire : une constante est TOUJOURS statique.
Utilisez typeof(actor) pour comparer le type de l'object au lieu du protocolId, le résultat est le même. Ou encore mieux: pourquoi mettre ProtocolId en constante? Utilisez un champ à la place.
 
A

Anonymous

Invité
#25
Re: [Résolu] Localiser un groupe de monstres (obtenir cellId

mikedotnet a dit:
µnKn0wn_H4CK3r a dit:
Le problème c'est que ProtocolId est une constante, donc un champ statique, donc impossible d'y accéder une fois la classe instanciée.
En VB.NET tu peux le faire car une constante ne peut PAS être statique, mais en C# c'est le contraire : une constante est TOUJOURS statique.
Utilisez typeof(actor) pour comparer le type de l'object au lieu du protocolId, le résultat est le même. Ou encore mieux: pourquoi mettre ProtocolId en constante? Utilisez un champ à la place.
Ça revient aussi au même avec le is (is vérifie si c'est les deux mêmes types, typeof renvoie le type et ensuite on compare avec le type qui nous intéresse).

Sinon, je mets ProtocolId en constante car... pas grand chose en fait. C'est juste que c'est comme ça dans le client officiel et ça me semble plus logique en effet.
De toutes façons ça fonctionne aussi bien avec le typeof que le is, alors je vais laisser mon ProtocolId en constante :p .
 
A

Anonymous

Invité
#26
Re: [Résolu] Localiser un groupe de monstres (obtenir cellId

Oui typeof comprends le is évidemment.
 
Haut Bas