private void addItem(Item item) { ItemButton slot = new ItemButton(item); slot.setRect(0, pos, width, ItemButton.HEIGHT); add(slot); pos += slot.height() + 1; }
public WndBlacksmith(Blacksmith troll, Hero hero) { super(); IconTitle titlebar = new IconTitle(); titlebar.icon(troll.sprite()); titlebar.label(Utils.capitalize(troll.name)); titlebar.setRect(0, 0, WIDTH, 0); add(titlebar); BitmapTextMultiline message = PixelScene.createMultiline(TXT_PROMPT, 6); message.maxWidth = WIDTH; message.measure(); message.y = titlebar.bottom() + GAP; add(message); btnItem1 = new ItemButton() { @Override protected void onClick() { btnPressed = btnItem1; GameScene.selectItem(itemSelector, WndBag.Mode.UPGRADEABLE, TXT_SELECT); } }; btnItem1.setRect( (WIDTH - BTN_GAP) / 2 - BTN_SIZE, message.y + message.height() + BTN_GAP, BTN_SIZE, BTN_SIZE); add(btnItem1); btnItem2 = new ItemButton() { @Override protected void onClick() { btnPressed = btnItem2; GameScene.selectItem(itemSelector, WndBag.Mode.UPGRADEABLE, TXT_SELECT); } }; btnItem2.setRect(btnItem1.right() + BTN_GAP, btnItem1.top(), BTN_SIZE, BTN_SIZE); add(btnItem2); btnReforge = new RedButton(TXT_REFORGE) { @Override protected void onClick() { Blacksmith.upgrade(btnItem1.item, btnItem2.item); hide(); } }; btnReforge.enable(false); btnReforge.setRect(0, btnItem1.bottom() + BTN_GAP, WIDTH, 20); add(btnReforge); resize(WIDTH, (int) btnReforge.bottom()); }
void setChecked(boolean checked) { if (mUseText) { mCheckBox.setChecked(checked); } else { mButton.setBackgroundColor(checked ? 0x99333333 /* Color.DKGRAY */ : Color.BLACK); } }
void setOnClickListener(OnClickListener listener) { if (mUseText) { mCheckBox.setOnClickListener(listener); // mButton.setOnClickListener( listener ); } else { mButton.setOnClickListener(listener); } }
@Override public void onSelect(Item item) { if (item != null) { btnPressed.item(item); if (btnItem1.item != null && btnItem2.item != null) { String result = Blacksmith.verify(btnItem1.item, btnItem2.item); if (result != null) { GameScene.show(new WndMessage(result)); btnReforge.enable(false); } else { btnReforge.enable(true); } } } }
public ItemSymbol( Context context, IItemPicker dialog, int type, int index, SymbolInterface symbol, boolean use_text) { mType = type; mIndex = index; mSymbol = symbol; mUseText = use_text; if (mType == DrawingActivity.SYMBOL_POINT) { sx *= 1.5f; // 2.0f; sy *= 1.5f; // 2.0f; } else { // if ( mType == DrawingActivity.SYMBOL_AREA ) sx *= 2.2f; sy *= 1.7f; } // Log.v( TopoDroidApp.TAG, "Item " + mType + "/" + mIndex + " " + mSymbol.getName() ); LinearLayout ll = new LinearLayout(context); // ll.setOrientation( LinearLayout.HORIZONTAL ); int lw = LinearLayout.LayoutParams.WRAP_CONTENT; int lh = LinearLayout.LayoutParams.WRAP_CONTENT; LinearLayout.LayoutParams lllp = new LinearLayout.LayoutParams(lh, lw); if (!mUseText) { lllp.gravity = 0x03; // left } else { mCheckBox = new CheckBox(context); mCheckBox.setChecked(false); ll.addView(mCheckBox, lllp); } mButton = new ItemButton(context, mSymbol.getPaint(), mSymbol.getPath(), sx, sy); ll.addView(mButton, lllp); if (mUseText) { mTextView = new TextView(context); // mTextView.setBackgroundColor( Color.BLACK ); mTextView.setText(mSymbol.getName()); ll.addView(mTextView, new LinearLayout.LayoutParams(lh, lw)); } else { mButton.setClickable(true); } // FIXME // if ( mType == DrawingActivity.SYMBOL_POINT ) { // SymbolPoint point = (SymbolPoint) mSymbol; // if ( point.isOrientable() ) { // Button btn = new Button( context ); // btn.setBackgroundResource( R.drawable.ic_turn ); // ll.addView( btn, new LinearLayout.LayoutParams(lh,lw) ); // } // } mView = ll; // if ( mSymbol.isOrientable() ) { // mView.setOnTouchListener( new OnTouchListener() // { // private float x_old=0f; // @Override // public boolean onTouch(View v, MotionEvent event) { // int action = event.getAction(); // int actionCode = action & MotionEvent.ACTION_MASK; // if ( actionCode == MotionEvent.ACTION_DOWN ) { // x_old = event.getX(0); // } else if ( actionCode == MotionEvent.ACTION_MOVE ) { // float x = event.getX(0); // float delta_x = x - x_old; // x_old = x; // notifyListener( delta_x ); // } // return true; // } // }); // } }
void setAngle(float angle) { // Log.v("DistoX", "item symbol set angle " + angle ); mSymbol.setAngle(angle); mButton.resetPath(mSymbol.getPath(), sx, sy); mView.invalidate(); }
void rotate(float dx) { // Log.v( TopoDroidApp.TAG, "rotate " + dx ); mSymbol.rotate(dx); mButton.resetPath(mSymbol.getPath(), sx, sy); mView.invalidate(); }