Imports Dofus.Network.Types.Game.House
Imports Dofus.Network.Types.Game.Context.Roleplay
Imports Dofus.Network.Types.Game.Context.Fight
Imports Dofus.Network.Types.Game.Interactive
Namespace Messages.Game.Context.Roleplay
Public Class MapComplementaryInformationsDataMessage
Inherits NetworkMessage
Public SubareaId As UInteger = 0
Public MapId As UInteger = 0
Public SubareaAlignmentSide As Integer = 0
Public Houses As New List(Of HouseInformations)
Public Actors As New List(Of GameRolePlayActorInformations)
Public InteractiveElements As New List(Of InteractiveElement)
Public StatedElements As New List(Of StatedElement)
Public Obstacles As New List(Of MapObstacle)
Public Fights As New List(Of FightCommonInformations)
Public Overrides Property ProtocolId As UInteger = 226
Public Sub InitMapComplementaryInformationsDataMessage(ByVal Param1 As UInteger, ByVal Param2 As UInteger, ByVal Param3 As Integer, ByVal Param4 As List(Of HouseInformations), ByVal Param5 As List(Of GameRolePlayActorInformations), ByVal Param6 As List(Of InteractiveElement), ByVal Param7 As List(Of StatedElement), ByVal Param8 As List(Of MapObstacle), ByVal Param9 As List(Of FightCommonInformations))
Me.SubareaId = Param1
Me.MapId = Param2
Me.SubareaAlignmentSide = Param3
Me.Houses = Param4
Me.Actors = Param5
Me.InteractiveElements = Param6
Me.StatedElements = Param7
Me.Obstacles = Param8
Me.Fights = Param9
End Sub
Public Overrides Sub Serialize(ByVal Data As DofusMessage)
Data.WriteInt16(SubareaId)
Data.WriteInt32(MapId)
Data.WriteByte(SubareaAlignmentSide)
Data.WriteInt16(Houses.Count)
For Each House As HouseInformations In Houses
Data.WriteInt16(House.ProtocolId)
House.Serialize(Data)
Next
Data.WriteInt16(Actors.Count)
For Each Actor As GameRolePlayActorInformations In Actors
Data.WriteInt16(Actor.ProtocolId)
Actor.Serialize(Data)
Next
Data.WriteInt16(InteractiveElements.Count)
For Each InteractiveElement As InteractiveElement In InteractiveElements
InteractiveElement.Serialize(Data)
Next
Data.WriteInt16(StatedElements.Count)
For Each StatedElement As StatedElement In StatedElements
StatedElement.Serialize(Data)
Next
Data.WriteInt16(Obstacles.Count)
For Each Obstacle As MapObstacle In Obstacles
Obstacle.Serialize(Data)
Next
Data.WriteInt16(Fights.Count)
For Each Fight As FightCommonInformations In Fights
Fight.Serialize(Data)
Next
End Sub
Public Overrides Sub Deserialize(ByVal Data As DofusReader)
SubareaId = Data.ReadInt16
MapId = Data.ReadInt32
SubareaAlignmentSide = Data.ReadByte
For i As Integer = 1 To Data.ReadUInt16
Dim House As HouseInformations = ProtocolTypeManager.GetInstance(Data.ReadInt16)
House.Deserialize(Data)
Houses.Add(House)
Next
For i As Integer = 1 To Data.ReadUInt16
Dim Actor As GameRolePlayActorInformations = ProtocolTypeManager.GetInstance(Data.ReadInt16)
Actor.Deserialize(Data)
Actors.Add(Actor)
Next
For i As Integer = 1 To Data.ReadUInt16
Dim InteractiveElement As New InteractiveElement
InteractiveElement.Deserialize(Data)
InteractiveElements.Add(InteractiveElement)
Next
For i As Integer = 1 To Data.ReadUInt16
Dim StatedElement As New StatedElement
StatedElement.Deserialize(Data)
StatedElements.Add(StatedElement)
Next
For i As Integer = 1 To Data.ReadUInt16
Dim Obstacle As New MapObstacle
Obstacle.Deserialize(Data)
Obstacles.Add(Obstacle)
Next
For i As Integer = 1 To Data.ReadUInt16
Dim Fight As New FightCommonInformations
Fight.Deserialize(Data)
Fights.Add(Fight)
Next
End Sub
End Class
End Namespace