示例#1
0
 @Override
 public void draw(Graphics2D g) {
   tileMap.draw(g);
   eManager.draw(g);
   tManager.draw(g);
   player.draw(g);
 }
  public TowerUpgraderBack upgrade(final Tower pTowerSource, final TowerTypes pTowerType) {
    Debug.i("TowerUpgrader :: upgrade :: pTowerType=" + pTowerType);
    mTowerManager.upgrade(pTowerSource, pTowerType);
    hide();

    return this;
  }
  public boolean sell() {

    // sell this tower
    mTowerManager.sellTower(TowerUpgraderBack.this.mCurrentTowerBase);
    hide();

    return true;
  }
示例#4
0
  @Override
  public void update() {
    if (paused) {
      return;
    }
    eManager.update();
    tManager.update(eManager.getLiveEnemies());

    if (player.getLives() <= 0) {
      gsm.setState(GameStateManager.GAMEOVERSTATE);
    }
  }
示例#5
0
 @Override
 public void mouseMoved(MouseEvent e) {
   tManager.mouseMoved(e);
 }
示例#6
0
 @Override
 public void mousePressed(MouseEvent e) {
   tManager.mousePressed(e);
   eManager.mousePressed(e);
 }
  public TowerUpgraderBack(
      final TowerManager pTowerManager, final TiledTextureRegion pTowerMenuTiledTextureRegion) {

    // ref our tower manager
    mTowerManager = pTowerManager;

    // create our position marker
    mPositionMarker = new Rectangle(0, 0, TowerManager.TOWER_WIDTH, TowerManager.TOWER_HEIGHT);
    mPositionMarker.setColor(1, 0, 0, 0.25f);
    mPositionMarker.setVisible(false);
    mPositionMarker.setIgnoreUpdate(true);

    // setup the radius marker
    mRadiusMarker = new Sprite(0, 0, mTowerManager.getTowerCircleTextureRegion().deepCopy());
    mRadiusMarker.setAlpha(0.25f);
    mRadiusMarker.setColor(.25f, .25f, .25f);
    mRadiusMarker.setVisible(false);
    mRadiusMarker.setIgnoreUpdate(true);

    // attach the radius marker to the position marker, then to the scene
    mPositionMarker.attachChild(mRadiusMarker);

    // assign our textures/font
    mTowerMenuTiledTextureRegion = pTowerMenuTiledTextureRegion;

    // calculate the total columns/rows
    mTotalColumns =
        3; // (int) Math.floor((TOWERS_UI_CAMERA_WIDTH - (TOWERS_UI_MIN_BORDER_WIDTH * 2)) /
           // (TOWERS_UI_ITEM_WIDTH + (TOWERS_UI_SPACER * 2)));
    mTotalRows =
        2; // (int) Math.floor((TOWERS_UI_CAMERA_HEIGHT - (TOWERS_UI_MIN_BORDER_WIDTH * 2)) /
           // (TOWERS_UI_ITEM_HEIGHT + (TOWERS_UI_SPACER * 2)));

    // decide the width of our box
    mBoxWidth = TOWERS_UI_SPACER + (mTotalColumns * (TOWERS_UI_ITEM_WIDTH + TOWERS_UI_SPACER));
    mBoxHeight = TOWERS_UI_SPACER + (mTotalRows * (TOWERS_UI_ITEM_HEIGHT + TOWERS_UI_SPACER));

    // decide our box x/y coords
    mBoxX = (TOWERS_UI_CAMERA_WIDTH / 2) - (mBoxWidth / 2);
    mBoxY = (TOWERS_UI_CAMERA_HEIGHT / 2) - (mBoxHeight / 2);

    // create our overlay "box", just a transparent rectangle
    final Rectangle rect =
        new Rectangle(mBoxX, mBoxY, mBoxWidth, mBoxHeight) {

          @Override
          public boolean onAreaTouched(
              final TouchEvent pSceneTouchEvent,
              final float pTouchAreaLocalX,
              final float pTouchAreaLocalY) {
            Debug.i("WTF");
            return true;
          }
        };
    rect.setColor(1, 1, 1, 0.50f);
    rect.setZIndex(0);
    attachChild(rect);
    // registerTouchArea(rect);

    /*
            // our sell button
            final TiledSprite sellButton = new TiledSprite(mBoxX + TOWERS_UI_ITEM_WIDTH + (TOWERS_UI_SPACER * 2), mBoxY + TOWERS_UI_SPACER, mTowerManager.getTowerMenuTiledTextureRegionClone()) {

                @Override
                public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
                    if (pSceneTouchEvent.getAction() == TouchEvent.ACTION_UP) {
                        Registry.sGameActivity.runOnUpdateThread(new Runnable() {

                                @Override
                                public void run() {
                                    TowerUpgrader.this.sell();
                                }
                            }
                        );
                    }
                    return true;
                }
            };
            sellButton.setCurrentTileIndex(TOWERS_UI_SELL[0], TOWERS_UI_SELL[1]);
            sellButton.setZIndex(1);
            attachChild(sellButton);
            registerTouchArea(sellButton);

            mTowerSellText = new ChangeableText(TOWERS_UI_ITEM_WIDTH / 2, TOWERS_UI_ITEM_HEIGHT - (TOWERS_UI_ITEM_HEIGHT / 4), Registry.sFontWhite12, "", HorizontalAlign.CENTER, "XXXXX".length());
            mTowerSellText.setColor(1f, 85f, 0f);
            sellButton.attachChild(this.mTowerSellText);
    */
    mTowerSellText =
        new ChangeableText(
            TOWERS_UI_ITEM_WIDTH / 2,
            TOWERS_UI_ITEM_HEIGHT - (TOWERS_UI_ITEM_HEIGHT / 4),
            Registry.sFontWhite12,
            "",
            HorizontalAlign.CENTER,
            "XXXXX".length());

    sortChildren();
  }