示例#1
0
        public IEnumerator Execute(VariableValue context)
        {
            var store = InstructionStore.Reserve(this, context);

            yield return(Execute(store));

            InstructionStore.Release(store);
        }
示例#2
0
        public IEnumerator Execute(IVariableStore store, VariableValue context)
        {
            if (Instruction)
            {
                var localStore = InstructionStore.Reserve(Instruction, context);

                localStore.WriteInputs(this, _inputs, store);
                localStore.WriteOutputs(_outputs);
                yield return(Instruction.Execute(localStore));

                localStore.ReadOutputs(this, _outputs, store);

                InstructionStore.Release(localStore);
            }
        }