Esempio n. 1
0
 /// <summary>
 /// Links an executable instruction at a specific index
 /// </summary>
 /// <remarks>Throws an InvalidOperationException if index is to high</remarks>
 /// <param name="pin">Index of the pin on which link the instruction</param>
 /// <param name="instruction">Instruction to link</param>
 public void LinkTo(uint pin, ExecutionRefreshInstruction instruction)
 {
     if (pin > executionPins.Count())
     {
         throw new InvalidOperationException("Given index is to hight");
     }
     this.executionPins[pin] = instruction;
 }
Esempio n. 2
0
 /// <summary>
 /// Links an instruction to execute when condition is false
 /// </summary>
 /// <param name="next">Instruction to link</param>
 public void Else(ExecutionRefreshInstruction next)
 {
     this.LinkTo((int)ConditionIndexes.OnFalse, next);
 }
Esempio n. 3
0
 /// <summary>
 /// Links an instruction to execute when condition is true
 /// </summary>
 /// <param name="next">Instruction to link</param>
 public void Then(ExecutionRefreshInstruction next)
 {
     this.LinkTo((int)ConditionIndexes.OnTrue, next);
 }
Esempio n. 4
0
 /// <summary>
 /// Link the instruction to the "OUT LOOP" index
 /// </summary>
 /// <param name="next">Instruction to execute if while condition is false</param>
 public void Done(ExecutionRefreshInstruction next)
 {
     this.LinkTo((int)LoopIndexes.OUTLOOP, next);
 }