Bonsoir à tous,
Je remarque qu'il y a des packets "bizarre" que je n'arrive pas à implementer.
Je m'explique, normalement dans les sources du jeu il est dis quel type nous devons instancier, hors je m'apercois que ça peut varier.
En effet, dans le MapComplementaryInformationsDataMessage nous devons sois disant avoir une liste de InteractiveElement hors je vois en faisant ça :
for (interactiveElementsIndex = 0; (interactiveElementsIndex < interactiveElementsCount); interactiveElementsIndex = (interactiveElementsIndex + 1))
{
short protocol = (short)reader.ReadUShort();
Console.WriteLine("*************************** " + protocol + " ***************************");
if ((TypeEnum)protocol == TypeEnum.InteractiveElement)
{
InteractiveElement objectToAdd = ProtocolTypeManager.GetInstance<InteractiveElement>(protocol);
objectToAdd.Deserialize(reader);
m_interactiveElements.Add(objectToAdd);
}
else if ((TypeEnum)protocol == TypeEnum.InteractiveElementWithAgeBonus)
{
InteractiveElementWithAgeBonus tmp = ProtocolTypeManager.GetInstance<InteractiveElementWithAgeBonus>(protocol);
tmp.Deserialize(reader);
m_interactiveElements.Add(new InteractiveElement(tmp.EnabledSkills, tmp.DisabledSkills, tmp.ElementId, tmp.ElementTypeId, tmp.OnCurrentMap));
}
}
Que parfois il me recupere le TypeID du InteractiveElement, mais parfois du InteractiveElementWithAgeBonus.... j'ai essayer cette implementation, mais ça ne veut pas marcher quand je recois le MapComplementaryInformationsDataInHouseMessage par exemple... je ne sais pas pourquoi....
Merci