
#include "Behaviors/BehaviorBase.h"
#include "Motion/MotionManager.h"
#include "Motion/MotionSequenceMC.h"
#include "Events/EventRouter.h"
#include "Behaviors/StateMachine.h"

class StandWeightShift : public BehaviorBase {
    public : 
        StandWeightShift() : BehaviorBase("StandWeightShift") {}

             virtual void DoStart() {
                    
                    SharedObject<XLargeMotionSequenceMC> mseq_mc; 

                    BehaviorBase::DoStart();


                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("walk0.pos"); 

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("e2.pos");
                    
                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("e3.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("e4.pos");
                   
                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("f1.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("f2.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("m1.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("m2.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("wave1.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("wave2.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("wave1.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("wave2.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("wave1.pos");


                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("wave2.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("m2.pos");
                    
                   mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("m1.pos");
                    
                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("f2.pos");
                    
                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("f1.pos");
                    
                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("e4.pos");

                    mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("b1.pos");

                   mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("b2.pos");

                   mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("b3.pos");

                   mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("b4.pos");

                     mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("backup.pos");

                     mseq_mc->advanceTime(500);
                    mseq_mc->LoadFile("b4.pos");

                 motman->addPrunableMotion(mseq_mc);
                    DoStop(); 

                   } 
};

