package com.lfk.justweengine.drawable.Button; import android.graphics.Paint; import android.graphics.Point; import android.graphics.Rect; import android.renderscript.Float2; import android.util.Log; import com.lfk.justweengine.engine.Engine; import com.lfk.justweengine.engine.GameTextPrinter; import com.lfk.justweengine.info.UIdefaultData; import com.lfk.justweengine.utils.tools.DisplayUtils; /** * Button 基类 * * @author liufengkai * Created by liufengkai on 15/12/2. */ public abstract class BaseButton extends GameTextPrinter { protected Engine b_engine; protected int b_width, b_height; public Point b_position; protected Paint paint; public Rect b_rect; protected String b_name; protected Float2 b_scale; protected OnClickListener onClickListener; protected BaseButtonAnimation b_baseAnim; // protected int b_buttonType; protected boolean b_normal; public BaseButton(Engine b_engine, String name) { this(b_engine, 0, 0, name); } public BaseButton(Engine b_engine, int b_width, int b_height, String name) { this.b_engine = b_engine; this.b_width = b_width; this.b_height = b_height; this.b_name = name; init(); } private void init() { b_normal = false; // this.b_buttonType = BaseButtonAnimation.NORMAL; paint = new Paint(); paint.setColor(UIdefaultData.sprite_default_color_paint); } public abstract void draw(); public abstract void animation(); public String getName() { return b_name; } public void setName(String b_name) { this.b_name = b_name; } public Rect getRect() { return b_rect; } public void onClick(boolean flag) { if (flag) { onClickListener.onClick(); } } public void setOnClickListener(OnClickListener onClickListener) { this.onClickListener = onClickListener; } public void setScale(Float2 scale) { b_scale = scale; Log.e("scale", b_scale.x + ":" + b_scale.y); } public void setScale(float x, float y) { this.b_scale.x = x; this.b_scale.y = y; } public void setDipWidth(int w) { this.b_scale.x = DisplayUtils.dip2px(w); } public void setDipHeight(int h) { this.b_scale.y = DisplayUtils.dip2px(h); } public BaseButtonAnimation getAnimation() { return b_baseAnim; } public void setNormal(boolean b_normal) { } }