internal SwitchCases Clone(SwitchScript newParent) { SwitchCases clone = new SwitchCases(newParent); clone.m_cases = (QuestDictionary<IScript>)m_cases.Clone(); clone.m_compiledExpressions = new Dictionary<string, IFunctionGeneric>(); foreach (var compiledExpression in m_compiledExpressions) { clone.m_compiledExpressions.Add(compiledExpression.Key, compiledExpression.Value); } return clone; }
public SwitchCases(SwitchScript parent, Dictionary<IFunctionGeneric, IScript> cases) : this(parent) { foreach (var switchCase in cases) { IFunctionGeneric compiledExpression = switchCase.Key; string caseString = compiledExpression.Save(); IScript script = switchCase.Value; m_cases.Add(caseString, script); m_compiledExpressions.Add(caseString, compiledExpression); } }
private SwitchCases(SwitchScript parent) { m_parent = parent; m_cases.UndoLog = parent.m_worldModel.UndoLogger; }
protected override ScriptBase CloneScript() { SwitchScript clone = new SwitchScript(m_worldModel, m_expr.Clone(), (IScript)m_default.Clone()); clone.m_cases = m_cases.Clone(clone); return clone; }