public virtual void HandleMoveCheck(Creature creature) { lock (lockThis) { Direction dir = creature.GetNextMove(); if (dir != Direction.NONE) { HandleWalk(creature, dir); } else if (creature.CurrentDelayedAction != null) { creature.CurrentDelayedAction.DoAction(this); } } }