public static AbstractTag CreateEmptyParamsTag(string className, int lineNo) { string cn = "Sov.AVGPart" + "." + className.ToString(); Type type = Type.GetType(cn); AbstractTag tag = null; try { tag = (AbstractTag)Activator.CreateInstance(type); } catch (Exception e) { //Debug.Log(e.ToString()); } if (tag != null) { TagInfo i = new TagInfo(""); tag.Init(i, lineNo); tag.CheckVital(); } return(tag); }
public static AbstractTag Create(TagInfo info, int lineNo) { /* * tagName: 全小写 e.g. settext * ClassName 首字母大写 e.g. SettextTag */ StringBuilder className = new StringBuilder(info.TagName); className[0] = Char.ToUpper(className[0]); className.Append("Tag"); //className.Append("Sov.AVGPart" + ".", 0); string cn = "Sov.AVGPart" + "." + className.ToString(); Type type = Type.GetType(cn); AbstractTag tag = null; try { tag = (AbstractTag)Activator.CreateInstance(type); } catch (Exception e) { //Debug.Log(e.ToString()); } if (tag != null) { tag.Init(info, lineNo); tag.CheckVital(); } return(tag); }
public void AddCommand(AbstractTag tag) { //tag.LineNo = _opTags.Count; tag.Engine = _engine; if (tag.Name == "scenario") { AddScenario(tag); } else { Tags.Add(tag); } }
void CreateAndSendTagToEngine(TagInfo tagInfo) { AbstractTag tag = TagFactory.Create(tagInfo, _currentPhraseLineNo); if (tag != null) { // ScriptEngine.Instance.AddCommand(tag); //_uploadTags.Add(tag); _scenario.AddCommand(tag); } else { Debug.LogFormat("Tag:{0} is not implemented!", tagInfo.TagName); } }
private void AddScenario(AbstractTag tag) { string scenarioName = tag.Params["scenario"]; if (ScenarioDict.ContainsKey(scenarioName)) { Debug.LogFormat("Scenario: {0}Is Already Exist", scenarioName); return; } else { ScenarioDict.Add(scenarioName, GetLastedTagLineNo()); Debug.LogFormat("[Add Scenario]{0}:{1}", GetLastedTagLineNo(), scenarioName); CurrentScenario = scenarioName; } }
public void AddCommand(AbstractTag tag) { //tag.LineNo = _opTags.Count; tag.Engine = _engine; if (tag.Name == "scenario") { AddScenario(tag); } else Tags.Add(tag); }
public void InsertCommandBefore(AbstractTag tag) { _opTags.Insert(_currentLine, tag); }