package com.lfk.justweengine.engine.Layer; import android.graphics.Rect; import android.view.MotionEvent; import com.lfk.justweengine.drawable.Sprite.BaseSub; /** * Layer 绘制分层 * 负责数据处理 * Created by liufengkai on 16/5/8. */ public abstract class Layer { public enum LayerType { Button, Default } public interface LayerListener { boolean Touch(MotionEvent event); void Collision(BaseSub baseSub); void Update(); void Draw(); } protected LayerType layerType; protected String layerName; // Layer的刷新范围也是绘制范围 protected Rect layerField; protected Screen layerScreen; protected int layerBackgroundColor; protected LayerListener layerListener; protected abstract void layerUpdate(); protected abstract void layerDraw(); protected abstract void layerCollision(); protected abstract void layerClick(MotionEvent event); public Layer(LayerType layerType, Screen layerScreen, Rect layerField) { this.setLayerType(layerType); this.layerField = layerField; this.layerScreen = layerScreen; } public Rect getLayerField() { return layerField; } public void setLayerField(Rect layerField) { this.layerField = layerField; } public LayerType getLayerType() { return layerType; } public String getLayerName() { return layerName; } public void setLayerName(String layerName) { this.layerName = layerName; } public void setLayerType(LayerType layerType) { this.layerType = layerType; } public int getLayerBackgroundColor() { return layerBackgroundColor; } public void setLayerBackgroundColor(int layerBackgroundColor) { this.layerBackgroundColor = layerBackgroundColor; } public LayerListener getLayerListener() { return layerListener; } public void setLayerListener(LayerListener layerListener) { this.layerListener = layerListener; } }