Dependents:   OBROT_ALL

Command.cpp

Committer:
inst
Date:
2015-08-21
Revision:
1:e541c8ebe96b
Child:
2:58d7debaed1f

File content as of revision 1:e541c8ebe96b:

#include "Command.h"

const float Command::mPositionSetOfShooting[] = {
    0.5f,
    0.5f,
    0.5f
};

const float Command::mAngleSetOfShooting[] = {
    0.5f,
    0.5f,
    0.5f
};

Command::Command( ActionType action, float moveDirection_rad, float moveDuty, float roll, bool isShootable, AimTargetType target ){
    mActionType         = action;
    mMoveDirection_rad  = moveDirection_rad;
    mMoveDuty           = moveDuty;
    mRollCoeff          = roll;
    mIsShootable        = isShootable;
    setAimStateByTargetType( target );
}

void Command::setAimStateByTargetType( AimTargetType target ){
    switch ( target ){
        case NONE:
            break;
            
        case OWN_POLE:
            mPositionOfShooting = mPositionSetOfShooting[ OWN_POLE_ID ];
            mAngleOfShooting    = mAngleSetOfShooting[ OWN_POLE_ID ];
            break;
        
        case CENTER_POLE:
            mPositionOfShooting = mPositionSetOfShooting[ CENTER_POLE_ID ];
            mAngleOfShooting    = mAngleSetOfShooting[ CENTER_POLE_ID ];
            break;
            
        case ENEMYS_POLE:
            mPositionOfShooting = mPositionSetOfShooting[ ENEMYS_POLE_ID ];
            mAngleOfShooting    = mAngleSetOfShooting[ ENEMYS_POLE_ID ];
            break;
            
        default:
            break;
    }
}