public void Initialize(Dictionary<String, ScriptObject> variable) { foreach (KeyValuePair<String, ScriptObject> pair in variable) m_variableDictionary[pair.Key] = pair.Value; } private void Initialize(string name, ScriptObject obj) {
void ProcessCallFor() { CodeFor code = (CodeFor)m_scriptInstruction.Operand0; ScriptContext context = code.Context; ScriptContext blockContext = code.BlockContext; context.Initialize(this); context.Execute(code.BeginExecutable); ScriptBoolean Condition; for ( ; ;) { if (code.Condition != null) { Condition = context.ResolveOperand(code.Condition) as ScriptBoolean; if (Condition == null) { throw new ExecutionException("for 跳出条件必须是一个bool型"); } if (!Condition.Value) { break; } } blockContext.Initialize(context); blockContext.Execute(); if (blockContext.IsBreak) { break; } context.Execute(code.LoopExecutable); } }