aa
This commit is contained in:
@@ -20,6 +20,29 @@ public class LExecutor{
|
||||
}
|
||||
}
|
||||
|
||||
public void load(LAssembler builder){
|
||||
vars = new Var[builder.vars.size];
|
||||
instructions = builder.instructions;
|
||||
counter = 0;
|
||||
|
||||
builder.vars.each((name, var) -> {
|
||||
Var v = new Var();
|
||||
vars[var.id] = v;
|
||||
|
||||
if(var.constant){
|
||||
v.constant = true;
|
||||
if(var.value instanceof Number){
|
||||
v.numval = ((Number)var.value).doubleValue();
|
||||
}else{
|
||||
v.isobj = true;
|
||||
v.objval = var.value;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//region utility
|
||||
|
||||
@Nullable Building building(int index){
|
||||
Object o = vars[index].objval;
|
||||
return o == null && o instanceof Building ? (Building)o : null;
|
||||
@@ -54,6 +77,8 @@ public class LExecutor{
|
||||
v.isobj = true;
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
static class Var{
|
||||
boolean isobj, constant;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user