//-------------------------------------------------------------------
//
//  This code is copyright 2001 by G5 Software.
//  Any unauthorized usage, either in part or in whole of this code
//  is strictly prohibited. Violators WILL be prosecuted to the
//  maximum extent allowed by law.
//
//-------------------------------------------------------------------

class CBaseBehavior
{
  //
  // *** CVehicleBehavior's properties:
  //
  // float MaxSpeed       - (read-only) maximum script-defined speed
  // bool  DebugMode      - (write-only) unit displayed 10 times bigger
  // bool  NonActiveMode  - behavior is non-active
  // bool  ShowDebugInfo  - show behavior-specific debug information:
  // int   ShowInfoStyle  - style of displayed debug information


  void CBaseBehavior()
  {
    //#TODO: uncomment to completely disable behavior
    // NonActiveMode = true;

    //#TODO: uncomment to make AI game objects highly visible
    // DebugMode     = true;

    //#TODO: comment/uncomment to set default show info style
    // ShowDebugInfo = true;
    ShowInfoStyle = 0
    //| BEHINF_ID
      | BEHINF_ORDER
    //| BEHINF_SCRIPT
      | BEHINF_INFO
      | BEHINF_PATH
    //| BEHINF_TARGET
      | BEHINF_CUSTOM
    ;
  }

  void OnStartBehavior()
  {
    StartBehavior();
  }

  void ActivateBehavior( boolean _On)
  {
    NonActiveMode = !_On;
  }

  void SetBehaviorDebugMode( boolean _On)
  {
    DebugMode = _On;
  }

  void SetShowDebugInfo( boolean _On)
  {
    ShowDebugInfo = _On;
  }

  void SetShowInfoStyle( int _Style)
  {
    ShowInfoStyle = _Style;
  }

  void AddShowInfoStyle( int _Style)
  {
    ShowInfoStyle = ShowInfoStyle | _Style;
  }

  void DelShowInfoStyle( int _Style)
  {
    ShowInfoStyle = ShowInfoStyle & (~_Style);
  }
}
