示例#1
0
 public override void Execute(LingoMachine machine)
 {
     for (int i = 0; i < GetPopCount(); i++)
     {
         machine.Values.Pop();
     }
 }
示例#2
0
        public override void Execute(LingoMachine machine)
        {
            object value2 = machine.Values.Pop();
            object value1 = machine.Values.Pop();

            machine.Values.Push(value2);
            machine.Values.Push(value1);
        }
示例#3
0
        public override void Execute(LingoMachine machine)
        {
            object right = machine.Values.Pop();
            object left  = machine.Values.Pop();

            object result = null;

            if (left != null && right != null)
            {
                result = Execute(left, right);
            }
            machine.Values.Push(result);
        }
示例#4
0
        public override void Execute(LingoMachine machine)
        {
            int value = (int)machine.Values.Pop(); //TODO: Only integers?

            machine.Values.Push(value * -1);
        }
示例#5
0
 public virtual void Execute(LingoMachine machine)
 {
 }
示例#6
0
        public override void Execute(LingoMachine machine)
        {
            bool value = (bool)machine.Values.Pop();

            machine.Values.Push(!value);
        }
示例#7
0
 public override bool?RunCondition(LingoMachine machine) => true;
示例#8
0
 public override bool?RunCondition(LingoMachine machine)
 {
     return(machine.Values.Pop() as bool?);
 }
示例#9
0
 public override void Execute(LingoMachine machine)
 {
     machine.Values.Push(0);
 }
示例#10
0
 public abstract bool?RunCondition(LingoMachine machine);
示例#11
0
        public override void Execute(LingoMachine machine)
        {
            object value = machine.Values.ToArray()[Slot];

            machine.Values.Push(value);
        }
示例#12
0
 public override bool?RunCondition(LingoMachine machine) => throw new NotImplementedException();