using NTERA.EmuEra.Game.EraEmu.GameData.Expression; using NTERA.EmuEra.Game.EraEmu.Sub; namespace NTERA.EmuEra.Game.EraEmu.GameProc.Function { internal abstract class AbstractInstruction { protected int flag; public int Flag => flag; public ArgumentBuilder ArgBuilder {get; protected set;} public virtual void SetJumpTo(ref bool useCallForm, InstructionLine func, int currentDepth, ref string FunctionoNotFoundName) { } public virtual void DoInstruction(ExpressionMediator exm, InstructionLine func, ProcessState state, bool translate = false) { throw new ExeEE("未実装 or 呼び出しミス"); } public virtual Argument CreateArgument(InstructionLine line, ExpressionMediator exm) { throw new ExeEE("実装されていない"); } } }