package com.rpsg.rpg.object.game; /** * GDX-RPG 异步脚本执行器 * @see {@link MapScript#act()} * */ public abstract class ScriptExecutor { private boolean isExecuted = false; /**当脚本被创建,还没有执行create()*/ private boolean needsCreate = true; /**当脚本执行完毕后,返回的变量。maybe null*/ private Object returnObject = null; public void superCreate() { needsCreate = false; create(); } /**每次被创建时执行一次该方法*/ public abstract void create(); /**每帧循环时候执行该方法*/ public abstract void act(); public void executed() { isExecuted = true; } public void executed(Object obj) { returnObject = obj; isExecuted = true; } public Object returnObject() { return returnObject; } public boolean isExecuted() { return isExecuted; } public boolean needsCreate() { return needsCreate; } }