layer.java

来自「Sony Ericsson手机上的Facebook客户端全套代码」· Java 代码 · 共 175 行

JAVA
175
字号
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   Layer.java

package se.southend.drops.screen;

import java.util.Vector;
import javax.microedition.lcdui.Font;
import se.southend.drops.integeraffector.AffectorHandler;
import se.southend.drops.scene.*;

// Referenced classes of package se.southend.drops.screen:
//            KeyHandler

public abstract class Layer extends World
{

    public abstract void create();

    public abstract void input(KeyHandler keyhandler);

    public void destroy()
    {
    }

    public static final Vector layersByVisibilityOrder()
    {
        return layersVisibility;
    }

    public static final Vector layersByProcessingOrder()
    {
        return layersProcessing;
    }

    public static final Layer findLayer(String id)
    {
        for(int i = 0; i < layersProcessing.size(); i++)
        {
            Layer layer = (Layer)layersProcessing.elementAt(i);
            if(id.equals(layer.id))
                return layer;
        }

        return null;
    }

    protected Layer()
    {
        cameraMode = 2;
        inputEnabled = true;
    }

    public final Layer open()
    {
        return open(null);
    }

    public final Layer open(String id)
    {
        this.id = id;
        setVisibilityOrder(visibilityOrder);
        setProcessingOrder(processingOrder);
        adjustToCamera();
        create();
        return this;
    }

    public final void close()
    {
        destroy();
        layersProcessing.removeElement(this);
        layersVisibility.removeElement(this);
    }

    public void setFocused(Node focused)
    {
        this.focused = focused;
    }

    public Node getFocused()
    {
        return focused;
    }

    public void setCameraMode(int cameraMode)
    {
        this.cameraMode = cameraMode;
    }

    public boolean isInputEnabled()
    {
        return inputEnabled;
    }

    public void setInputEnabled(boolean flag)
    {
        inputEnabled = flag;
    }

    public void process()
    {
        getAffectorHandler().process();
        if(cameraMode == 1 && focused != null)
            getCamera().setTargetPosition(focused.getX() - focused.getLocalX(), focused.getY() - focused.getLocalY());
        if(cameraMode != 0)
            getCamera().process();
    }

    public final AffectorHandler getAffectorHandler()
    {
        if(affectorHandler == null)
            affectorHandler = new AffectorHandler();
        return affectorHandler;
    }

    public final void setOrder(int priority)
    {
        setVisibilityOrder(priority);
        setProcessingOrder(priority);
    }

    public final int getVisibilityOrder()
    {
        return visibilityOrder;
    }

    public final void setVisibilityOrder(int priority)
    {
        visibilityOrder = priority;
        layersVisibility.removeElement(this);
        int i;
        for(i = 0; i < layersVisibility.size() && priority >= ((Layer)layersVisibility.elementAt(i)).visibilityOrder; i++);
        layersVisibility.insertElementAt(this, i);
    }

    public final int getProcessingOrder()
    {
        return processingOrder;
    }

    public final void setProcessingOrder(int priority)
    {
        processingOrder = priority;
        layersProcessing.removeElement(this);
        int i;
        for(i = 0; i < layersProcessing.size() && priority >= ((Layer)layersProcessing.elementAt(i)).processingOrder; i++);
        layersProcessing.insertElementAt(this, i);
    }

    public static final int CAMERA_STATIC = 0;
    public static final int CAMERA_FOLLOW_FOCUS = 1;
    public static final int CAMERA_FREE = 2;
    public static Font FONT_SMALL = Font.getFont(64, 0, 8);
    public static Font FONT_MEDIUM = Font.getFont(64, 0, 0);
    public static Font FONT_LARGE = Font.getFont(64, 0, 16);
    public static Font FONT_SMALL_BOLD = Font.getFont(64, 1, 8);
    public static Font FONT_MEDIUM_BOLD = Font.getFont(64, 1, 0);
    public static Font FONT_LARGE_BOLD = Font.getFont(64, 1, 16);
    public static Font FONT_SMALL_ITALIC = Font.getFont(64, 2, 8);
    public static Font FONT_MEDIUM_ITALIC = Font.getFont(64, 2, 0);
    public static Font FONT_LARGE_ITALIC = Font.getFont(64, 2, 16);
    private static Vector layersProcessing = new Vector();
    private static Vector layersVisibility = new Vector();
    private int cameraMode;
    private AffectorHandler affectorHandler;
    private Node focused;
    private int visibilityOrder;
    private int processingOrder;
    private boolean inputEnabled;
    private String id;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?