public override void SerializeInto(BinaryWriter writer)
{
base.SerializeInto(writer);
writer.Write(Rooms.Length);
foreach (var item in Rooms)
{
item.SerializeInto(writer);
}
writer.Write(CurrentPortal != null);
if (CurrentPortal != null)
{
CurrentPortal.SerializeInto(writer);
}
writer.Write((WalkTo == null) ? -1 : WalkTo.Length);
if (WalkTo != null)
{
foreach (var item in WalkTo)
{
writer.Write(item.X);
writer.Write(item.Y);
}
}
writer.Write(WalkDirection);
writer.Write(TargetDirection);
writer.Write(IgnoreRooms);
writer.Write((byte)State);
writer.Write(PortalTurns);
writer.Write(WaitTime);
writer.Write(Timeout);
writer.Write(Retries);
writer.Write(AttemptedChair);
writer.Write(TurnTweak);
writer.Write(TurnFrames);
writer.Write(MoveTotalFrames);
writer.Write(MoveFrames);
writer.Write(Velocity);
writer.Write(CallFailureTrees);
writer.Write(IgnoredRooms.Length);
foreach (var item in IgnoredRooms)
{
item.SerializeInto(writer);
}
writer.Write(AvatarsToConsider.Length);
foreach (var item in AvatarsToConsider)
{
writer.Write(item);
}
PreviousPosition.SerializeInto(writer);
CurrentWaypoint.SerializeInto(writer);
writer.Write(RoomRouteInvalid);
writer.Write(Slot != null);
if (Slot != null)
{
SLOTItemSerializer.SerializeInto(Slot, writer);
}
writer.Write(Target);
writer.Write((Choices == null) ? -1 : Choices.Length);
if (Choices != null)
{
foreach (var item in Choices)
{
item.SerializeInto(writer);
}
}
writer.Write(CurRoute != null);
if (CurRoute != null)
{
CurRoute.SerializeInto(writer);
}
writer.Write(LastWalkStyle);
}