public void Move(RealmTime time, MovePacket pkt)
{
if (pkt.Position.X == -1 || pkt.Position.Y == -1) return;
double newX = X;
double newY = Y;
if (newX != pkt.Position.X)
{
newX = pkt.Position.X;
UpdateCount++;
}
if (newY != pkt.Position.Y)
{
newY = pkt.Position.Y;
UpdateCount++;
}
if (HasConditionEffect(ConditionEffects.Paused))
{
ApplyConditionEffect(new ConditionEffect
{
Effect = ConditionEffectIndex.Paused,
DurationMS = -1
});
}
else if (HasConditionEffect(ConditionEffects.Paused) == false)
{
ApplyConditionEffect(new ConditionEffect
{
Effect = ConditionEffectIndex.Paused,
DurationMS = 0
});
}
Move((float)newX, (float)newY);
}