protected override void Load(Dsl.CallData callData) { m_LoadedOptArgs = new Dictionary <string, IStoryValue>(); foreach (var pair in m_OptArgs) { StoryValue val = new StoryValue(); val.InitFromDsl(pair.Value); m_LoadedOptArgs.Add(pair.Key, val); } m_LoadedArgs = new List <IStoryValue>(); int num = callData.GetParamNum(); for (int i = 0; i < num; ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_LoadedArgs.Add(val); } IsCompositeCommand = true; if (null == m_PrologueCommand) { m_PrologueCommand = new CompositePrologueCommandHelper(this); } if (null == m_EpilogueCommand) { m_EpilogueCommand = new CompositeEpilogueCommandHelper(this); } }
protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); if (num > 1) { m_Id.InitFromDsl(callData.GetParam(0)); m_SubstId.InitFromDsl(callData.GetParam(1)); } }
public static string getCallString(CallData data, bool includeComment) { #if FULL_VERSION string lineNo = string.Empty;// string.Format("/* {0} */", data.GetLine()); string line = string.Empty; if (data.IsHighOrder) { line = getCallString(data.Call, includeComment); } else if (data.HaveId()) { line = quoteString(data.GetId(), data.GetIdType()); } if (data.HaveParam()) { int paramClass = (data.GetParamClass() & (int)CallData.ParamClassEnum.PARAM_CLASS_UNMASK); if ((int)CallData.ParamClassEnum.PARAM_CLASS_OPERATOR == paramClass) { switch (data.GetParamNum()) { case 1: return string.Format("{0} {1}", line, data.GetParam(0).ToScriptString(includeComment)); case 2: return string.Format("{0} {1} {2}", data.GetParam(0).ToScriptString(includeComment), line, data.GetParam(1).ToScriptString(includeComment)); default: return line; } } else { string lbracket = string.Empty; string rbracket = string.Empty; switch (paramClass) { case (int)CallData.ParamClassEnum.PARAM_CLASS_PARENTHESIS: lbracket = "("; rbracket = ")"; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_BRACKET: lbracket = "["; rbracket = "]"; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD: lbracket = "."; rbracket = string.Empty; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD_PARENTHESIS: lbracket = ".("; rbracket = ")"; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD_BRACKET: lbracket = ".["; rbracket = "]"; break; case (int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD_BRACE: lbracket = ".{"; rbracket = "}"; break; } StringBuilder stream = new StringBuilder(); stream.Append(lbracket); int ct = data.GetParamNum(); for (int i = 0; i < ct; ++i) { if (i > 0) stream.Append(","); ISyntaxComponent param = data.GetParam(i); if ((int)CallData.ParamClassEnum.PARAM_CLASS_PERIOD == paramClass) stream.Append(unquoteString(param.ToScriptString(includeComment))); else stream.Append(param.ToScriptString(includeComment)); } stream.Append(rbracket); return string.Format("{0}{1}{2}", lineNo, line, stream.ToString()); } } else { return string.Format("{0}{1}", lineNo, line); } #else return string.Empty; #endif }
protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); }