public void configure(SpriteObjectDescriptor spDsc) {
    ResourcesManager pRM = ResourcesManager.getInstance();
    setID(spDsc.getID());

    /* Setup Rotation*/
    setRotationCenter(
        spDsc.getIOriantation().getRotationCenterX(), spDsc.getIOriantation().getRotationCenterX());
    setRotation(spDsc.getIOriantation().getOrientation());

    // set position
    setX(spDsc.getIPosition().getX());
    setY(spDsc.getIPosition().getY());

    // set Z_Order
    this.setZIndex(spDsc.getIPosition().getZorder());

    // set Scale
    this.setScale(spDsc.getIDimension().getScale());

    // set alignement
    if (this.getParent() instanceof IAreaShape) {
      PositionHelper.align(spDsc.getIPosition(), this, (IAreaShape) this.getParent());
    }

    // set color
    String theColor = spDsc.getICharacteristis().getColor();
    Log.i(TAG, "Get Color: " + theColor);
    if (!theColor.equals("")) this.setColor(pRM.getColor(theColor));
  }
  // ========================================================================
  // Constructors
  // ========================================================================
  public ClickableSprite(SpriteObjectDescriptor pSPRDscf, ResourcesManager pRM, Engine theEngine) {
    super(
        pSPRDscf.getIPosition().getX(),
        pSPRDscf.getIPosition().getY(),
        pSPRDscf.getIDimension().getWidth(),
        pSPRDscf.getIDimension().getHeight(),
        pRM.getTextureRegion(pSPRDscf.getTextureName()),
        theEngine.getVertexBufferObjectManager());

    mIClicakableImpmementation = new IComponentClickableDfltImp();
    mIActionOnSceneListener = null;
    mIActivitySceneListener = null;
    mIClicakableImpmementation.setTheComponentParent(this);

    configure(pSPRDscf);
  }