123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package me.hammerle.snuviscript.code;
- public class Instruction
- {
- private final int realLine;
- private final byte layer;
-
- private final BasicFunction function;
- private InputProvider[] input;
-
- public Instruction(int realLine, byte layer, BasicFunction function, InputProvider[] input)
- {
- this.realLine = realLine;
- this.layer = layer;
- this.function = function;
- this.input = input;
- }
- public int getLayer()
- {
- return layer;
- }
- public InputProvider[] getParameters()
- {
- return input;
- }
-
- @Override
- public String toString()
- {
- StringBuilder sb = new StringBuilder();
- sb.append(realLine);
-
- for(int j = sb.length(); j < 10; j++)
- {
- sb.insert(0, "0");
- }
-
- sb.append(" | ");
-
- for(int j = 0; j < layer; j++)
- {
- sb.append(" ");
- }
-
- sb.append(function.getName());
- sb.append("(");
-
- for(InputProvider in : input)
- {
- sb.append(in);
- sb.append(", ");
- }
- if(input.length > 0)
- {
- sb.delete(sb.length() - 2, sb.length());
- }
-
- sb.append(")");
-
- return sb.toString();
- }
-
- public void execute(Script sc)
- {
- function.execute(sc, input);
- }
- }
|