#include "SM_DemoEffect.h"
#include "SM_Slider.h"
#include "SM_MaxScene.h"



class Escena3D : public SM_DemoEffect
{
public:              
            Escena3D                (char const* pcName);
  virtual  ~Escena3D                ();  
  int       Init                    (const char* pcCommand);
  int       Shutdown                ();
  int       Reload                  (const char* pcCommand) ; // 0: OK ; -1: ERROR
  int       Start                   (float fTime);
  int       Stop                    ();
  int       Reset                   ();
  int       Run                     (float fTime);
  int       Command                 (float fTime, const char* pcCommand);

  MaxScene* GetScene();
    
  virtual int LoadArgumentsHelp     (Helper*& pHelpers);
  virtual int CommandArgumentsHelp  (Helper*& pHelpers);


protected:
  void      ResetStatus();

  float     m_fAnimationOffset;
  float     m_fStartForward;
  float     m_fForwardLength;
  MaxScene  m_MaxScene;
  bool      m_bLoaded;
  bool      m_bVisible;  
  bool      m_bBeatForward;
  float     m_fBeatForward;

  float         m_VAx, m_VAy, m_VAw, m_VAh;
  float         m_VBx, m_VBy, m_VBw, m_VBh;
  ExpSlider     m_ViewportSlider;
  bool          m_bViewportTransition;
};
