void KMovableObject::UnInit()
{
    ClearPath();
    ClearFollower();
    RemoveGuide();
    KSceneObject::UnInit();
}
void
VisitPointTool::FinalActorSetup()
{
    RemoveGuide();

    // End bounding box mode.
    if(addedBbox)
    {
        proxy.EndBoundingBox();
    }
    addedBbox = false;
}
void KMovableObject::TurnToMoveType(KMoveType eMoveType)
{
    KMoveType eOldType = m_eMoveType;
    m_eMoveType = eMoveType;

    if (eOldType == mosAttached || eOldType == mosStandOn || eOldType == mosToken)
    {
        RemoveGuide();
    }
    else if(eOldType == mosTrackMove)
    {
        KTrackMoveState eState = m_eTrackMoveState;

        m_eTrackMoveState = tmsNone;
        ClearPath();
        m_bAttackState = false;

        if (eState == tmsMoving)
        {
            OnTrackMoveInterrupted();
        }
        else if(eState == tmsFinished)
        {
            OnTrackMoveFinished();
        }
        else
        {
            assert(false);
        }
    }

    if (m_eMoveType == mosIdle)
    {
        m_bAttackState = false;
    }
}
void KMovableObject::OnDeleteFlagSetted()
{
    ClearFollower();
    RemoveGuide();
}