protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); for (int i = 0; i < num; ++i) { IStoryValue<string> val = new StoryValue<string>(); val.InitFromDsl(callData.GetParam(i)); m_MsgIds.Add(val); } }
protected override void Load(Dsl.FunctionData callData) { int num = callData.GetParamNum(); for (int i = 0; i < num; ++i) { IStoryValue <int> val = new StoryValue <int>(); val.InitFromDsl(callData.GetParam(i)); m_UnitIds.Add(val); } }
private static void LoadPaths(List <IStoryValue <string> > List, Dsl.CallData callData) { int num = callData.GetParamNum(); for (int i = 0; i < num; ++i) { IStoryValue <string> path = new StoryValue <string>(); path.InitFromDsl(callData.GetParam(i)); List.Add(path); } }
protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); for (int i = 0; i < num; ++i) { IStoryValue <string> val = new StoryValue <string>(); val.InitFromDsl(callData.GetParam(i)); m_MsgIds.Add(val); } }
protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); if (num > 0) { m_Format.InitFromDsl(callData.GetParam(0)); } for (int i = 1; i < callData.GetParamNum(); ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_FormatArgs.Add(val); } }
protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); if (num > 1) { m_Object.InitFromDsl(callData.GetParam(0)); m_Method.InitFromDsl(callData.GetParam(1)); } for (int i = 2; i < callData.GetParamNum(); ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_Args.Add(val); } }
protected override void Load(Dsl.FunctionData callData) { int num = callData.GetParamNum(); if (num > 0) { m_Format.InitFromDsl(callData.GetParam(0)); } for (int i = 1; i < callData.GetParamNum(); ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_FormatArgs.Add(val); } }
protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); if (num > 0) { m_MsgId.InitFromDsl(callData.GetParam(0)); } for (int i = 1; i < num; ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_MsgArgs.Add(val); } }
public void InitFromDsl(Dsl.ISyntaxComponent param) { Dsl.CallData callData = param as Dsl.CallData; if (null != callData) { for (int i = 0; i < callData.GetParamNum(); ++i) { Dsl.ISyntaxComponent arg = callData.GetParam(i); StoryValue val = new StoryValue(); val.InitFromDsl(arg); m_List.Add(val); } TryUpdateValue(); } }
public IStoryValue <object> Clone() { StoryValue obj = new StoryValue(); obj.m_ArgIndex = m_ArgIndex; obj.m_LocalName = m_LocalName; obj.m_GlobalName = m_GlobalName; if (null != m_Proxy) { obj.m_Proxy = m_Proxy.Clone(); } obj.m_HaveValue = m_HaveValue; obj.m_Value = m_Value; return(obj); }
public void InitFromDsl(Dsl.ISyntaxComponent param) { Dsl.CallData callData = param as Dsl.CallData; if (null != callData) { int num = callData.GetParamNum(); for (int i = 0; i < callData.GetParamNum(); ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_Args.Add(val); } TryUpdateValue(); } }
public void InitFromDsl(Dsl.ISyntaxComponent param) { m_LoadedArgs = new List <IStoryValue <object> >(); Dsl.CallData callData = param as Dsl.CallData; if (null != callData) { int num = callData.GetParamNum(); for (int i = 0; i < num; ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_LoadedArgs.Add(val); } } }
protected override void Load(Dsl.FunctionData callData) { int num = callData.GetParamNum(); if (num > 1) { m_Object.InitFromDsl(callData.GetParam(0)); m_Method.InitFromDsl(callData.GetParam(1)); } for (int i = 2; i < callData.GetParamNum(); ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_Args.Add(val); } }
protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); if (num > 1) { m_EventName.InitFromDsl(callData.GetParam(0)); m_Group.InitFromDsl(callData.GetParam(1)); } for (int i = 2; i < callData.GetParamNum(); ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_Args.Add(val); } }
protected override void Load(ScriptableData.CallData callData) { int num = callData.GetParamNum(); if (num > 1) { m_ObjId.InitFromDsl(callData.GetParam(0)); m_DictId.InitFromDsl(callData.GetParam(1)); } for (int i = 2; i < callData.GetParamNum(); ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_DictArgs.Add(val); } }
protected override void Load(Dsl.CallData callData) { m_LoadedArgs = new List <IStoryValue <object> >(); 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_LeadCommand) { m_LeadCommand = new CompositeCommandHelper(this); } }
protected override void Load(FunctionData funcData) { var cd = funcData.Call; Load(cd); foreach (var comp in funcData.Statements) { var fcd = comp as Dsl.CallData; if (null != fcd) { var key = fcd.GetId(); StoryValue val = new StoryValue(); val.InitFromDsl(fcd.GetParam(0)); m_LoadedOptArgs[key] = val; } } }
protected override void Load(CallData callData) { int num = callData.GetParamNum(); //第一个参数是GameObject的名字,第二个是GameObject对应的脚本的方法名字 if (num > 1) { m_sObjNames.InitFromDsl(callData.GetParam(0)); m_sMsg.InitFromDsl(callData.GetParam(1)); } for (int i = 2; i < callData.GetParamNum(); i++) { StoryValue value = new StoryValue(); value.InitFromDsl(callData.GetParam(i)); m_oArgs.Add(value); } }
public void InitFromDsl(Dsl.ISyntaxComponent param) { Dsl.CallData callData = param as Dsl.CallData; if (null != callData) { int num = callData.GetParamNum(); if (num > 0) { m_DictId.InitFromDsl(callData.GetParam(0)); } for (int i = 1; i < num; ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_FormatArgs.Add(val); } } }
private void LoadCall(Dsl.FunctionData 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); } int num = callData.GetParamNum(); for (int i = 0; i < num; ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_LoadedArgs.Add(val); } }
public void InitFromDsl(Dsl.ISyntaxComponent param) { Dsl.FunctionData callData = param as Dsl.FunctionData; if (null != callData) { int num = callData.GetParamNum(); if (num > 1) { m_Object.InitFromDsl(callData.GetParam(0)); m_Method.InitFromDsl(callData.GetParam(1)); } for (int i = 2; i < callData.GetParamNum(); ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_Args.Add(val); } } }
public void InitFromDsl(Dsl.ISyntaxComponent param) { Dsl.FunctionData callData = param as Dsl.FunctionData; if (null != callData) { int num = callData.GetParamNum(); if (num > 0) { m_String.InitFromDsl(callData.GetParam(0)); } for (int i = 1; i < callData.GetParamNum(); ++i) { StoryValue <string> val = new StoryValue <string>(); val.InitFromDsl(callData.GetParam(i)); m_KeyArgs.Add(val); } TryUpdateValue(); } }
protected override void Load(Dsl.FunctionData callData) { int num = callData.GetParamNum(); if (num > 7) { m_Receiver.InitFromDsl(callData.GetParam(0)); m_Title.InitFromDsl(callData.GetParam(1)); m_Content.InitFromDsl(callData.GetParam(2)); m_Sender.InitFromDsl(callData.GetParam(3)); m_LevelDemand.InitFromDsl(callData.GetParam(4)); m_ValidPeriod.InitFromDsl(callData.GetParam(5)); m_Money.InitFromDsl(callData.GetParam(6)); m_Gold.InitFromDsl(callData.GetParam(7)); } for (int i = 8; i < callData.GetParamNum(); ++i) { StoryValue <int> val = new StoryValue <int>(); val.InitFromDsl(callData.GetParam(i)); m_MailItems.Add(val); } }
protected override void Load(Dsl.FunctionData functionData) { Dsl.CallData callData = functionData.Call; if (null != callData) { for (int i = 0; i < callData.GetParamNum(); ++i) { Dsl.ISyntaxComponent param = callData.GetParam(i); StoryValue val = new StoryValue(); val.InitFromDsl(param); m_LoadedIterators.Add(val); } for (int i = 0; i < functionData.Statements.Count; i++) { IStoryCommand cmd = StoryCommandManager.Instance.CreateCommand(functionData.Statements[i]); if (null != cmd) { m_LoadedCommands.Add(cmd); } } } IsCompositeCommand = true; }
public void LoadCallData(Dsl.CallData callData) { string id = callData.GetId(); if (id == "select") { m_Select = new StoryValue(); m_Select.InitFromDsl(callData.GetParam(0)); } else if (id == "from") { m_From = new StoryValue(); m_From.InitFromDsl(callData.GetParam(0)); } else if (id == "where") { m_Where = new StoryValue(); m_Where.InitFromDsl(callData.GetParam(0)); } else if (id == "orderby") { for (int i = 0; i < callData.GetParamNum(); ++i) { StoryValue v = new StoryValue(); v.InitFromDsl(callData.GetParam(i)); m_OrderBy.Add(v); } } else if (id == "asc") { m_Desc = false; } else if (id == "desc") { m_Desc = true; } }
protected override bool Load(Dsl.FunctionData functionData) { if (functionData.IsHighOrder) { m_LocalInfoIndex = StoryCommandManager.Instance.AllocLocalInfoIndex(); Dsl.FunctionData callData = functionData.LowerOrderFunction; for (int i = 0; i < callData.GetParamNum(); ++i) { Dsl.ISyntaxComponent param = callData.GetParam(i); StoryValue val = new StoryValue(); val.InitFromDsl(param); m_LoadedIterators.Add(val); } for (int i = 0; i < functionData.GetParamNum(); i++) { IStoryCommand cmd = StoryCommandManager.Instance.CreateCommand(functionData.GetParam(i)); if (null != cmd) { m_LoadedCommands.Add(cmd); } } } return(true); }
protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); if (num > 3) { m_ActorId.InitFromDsl(callData.GetParam(0)); m_SkillId.InitFromDsl(callData.GetParam(1)); m_Seq.InitFromDsl(callData.GetParam(2)); m_Msg.InitFromDsl(callData.GetParam(3)); } for (int i = 4; i < callData.GetParamNum(); ++i) { StoryValue val = new StoryValue(); val.InitFromDsl(callData.GetParam(i)); m_Args.Add(val); } }
public bool Init(ScriptableData.ScriptableDataInfo config) { bool ret = false; ScriptableData.FunctionData story = config.First; if (story != null && (story.GetId() == "story" || story.GetId() == "script")) { ret = true; //参数 ScriptableData.CallData callData = story.Call; if (callData != null && callData.HaveParam()) { //第一个参数是剧情的id m_iStoryId = int.Parse(callData.GetParamId(0)); } foreach (var info in story.Statements) { if (info.GetId() == "local") { ScriptableData.FunctionData sectionData = info as ScriptableData.FunctionData; if (null != sectionData) { foreach (ScriptableData.ISyntaxComponent def in sectionData.Statements) { ScriptableData.CallData defData = def as ScriptableData.CallData; if (null != defData && defData.HaveId() && defData.HaveParam()) { string id = defData.GetId(); if (id.StartsWith("@") && !id.StartsWith("@@")) { StoryValue val = new StoryValue(); val.InitFromDsl(defData.GetParam(0)); if (!m_dicLocalVariables.ContainsKey(id)) { m_dicLocalVariables.Add(id, val.Value); } else { m_dicLocalVariables[id] = val.Value; } } } } } else { Debug.LogError("剧情" + m_iStoryId + "DSL语法,必须是个函数"); } } else if (info.GetId() == "onmessage") { ScriptableData.FunctionData sectionData = info as ScriptableData.FunctionData; if (null != sectionData) { StoryMessageHandler handler = new StoryMessageHandler(); handler.Load(sectionData); m_listMessageHandlers.Add(handler); } else { Debug.LogError("剧情" + m_iStoryId + "DSL语法,必须是个函数"); } } else { Debug.LogError("StoryInstance::Init,不知道DSL语法部分:" + info.GetId()); } } } else { Debug.LogError("StoryInstance::Init,不是一个DSL语法"); } return(ret); }
protected override void Load(Dsl.FunctionData functionData) { Dsl.CallData callData = functionData.Call; if (null != callData) { if (callData.GetParamNum() > 0) { Dsl.ISyntaxComponent param = callData.GetParam(0); StoryValue<int> cond = new StoryValue<int>(); cond.InitFromDsl(param); m_Conditions.Add(cond); } List<IStoryCommand> cmds = new List<IStoryCommand>(); for (int i = 0; i < functionData.Statements.Count; i++) { IStoryCommand cmd = StoryCommandManager.Instance.CreateCommand(functionData.Statements[i]); if (null != cmd) cmds.Add(cmd); } m_LoadedIfCommands.Add(cmds); } IsCompositeCommand = true; }
private static void LoadPaths(List<IStoryValue<string>> List, Dsl.CallData callData) { int num = callData.GetParamNum(); for (int i = 0; i < num; ++i) { IStoryValue<string> path = new StoryValue<string>(); path.InitFromDsl(callData.GetParam(i)); List.Add(path); } }
protected override void Load(Dsl.FunctionData functionData) { Dsl.CallData callData = functionData.Call; if (null != callData) { for (int i = 0; i < callData.GetParamNum(); ++i) { Dsl.ISyntaxComponent param = callData.GetParam(i); StoryValue val = new StoryValue(); val.InitFromDsl(param); m_LoadedIterators.Add(val); } for (int i = 0; i < functionData.Statements.Count; i++) { IStoryCommand cmd = StoryCommandManager.Instance.CreateCommand(functionData.Statements[i]); if (null != cmd) m_LoadedCommands.Add(cmd); } } IsCompositeCommand = true; }
public bool Init(Dsl.DslInfo config) { bool ret = false; Dsl.FunctionData story = config.First; if (null != story && (story.GetId() == "story" || story.GetId() == "script")) { ret = true; Dsl.CallData callData = story.Call; if (null != callData && callData.HaveParam()) { m_StoryId = callData.GetParamId(0); } for (int i = 0; i < story.Statements.Count; i++) { if (story.Statements[i].GetId() == "local") { Dsl.FunctionData sectionData = story.Statements[i] as Dsl.FunctionData; if (null != sectionData) { for (int j = 0; j < sectionData.Statements.Count; j++) { Dsl.CallData defData = sectionData.Statements[j] as Dsl.CallData; if (null != defData && defData.HaveId() && defData.HaveParam()) { string id = defData.GetId(); if (id.StartsWith("@") && !id.StartsWith("@@")) { StoryValue val = new StoryValue(); val.InitFromDsl(defData.GetParam(0)); if (!m_PreInitedLocalVariables.ContainsKey(id)) { m_PreInitedLocalVariables.Add(id, val.Value); } else { m_PreInitedLocalVariables[id] = val.Value; } } } } } else { #if DEBUG string err = string.Format("Story {0} DSL, local must be a function ! line:{1} local:{2}", m_StoryId, story.Statements[i].GetLine(), story.Statements[i].ToScriptString()); throw new Exception(err); #else LogSystem.Error("Story {0} DSL, local must be a function !", m_StoryId); #endif } } else if (story.Statements[i].GetId() == "onmessage" || story.Statements[i].GetId() == "onnamespacedmessage") { StoryMessageHandler handler = null; Dsl.StatementData msgData = story.Statements[i] as Dsl.StatementData; if (null != msgData) { handler = new StoryMessageHandler(); handler.Load(msgData); } else { Dsl.FunctionData sectionData = story.Statements[i] as Dsl.FunctionData; if (null != sectionData) { handler = new StoryMessageHandler(); handler.Load(sectionData); } } if (null != handler) { string msgId; if (!string.IsNullOrEmpty(m_Namespace) && story.Statements[i].GetId() == "onnamespacedmessage") { msgId = string.Format("{0}:{1}", m_Namespace, handler.MessageId); handler.MessageId = msgId; } else { msgId = handler.MessageId; } if (!m_MessageQueues.ContainsKey(msgId)) { m_MessageHandlers.Add(handler); m_MessageQueues.Add(msgId, new Queue<MessageInfo>()); } else { #if DEBUG string err = string.Format("Story {0} DSL, onmessage or onnamespacedmessage {1} duplicate, discard it ! line:{2}", m_StoryId, msgId, story.Statements[i].GetLine()); throw new Exception(err); #else LogSystem.Error("Story {0} DSL, onmessage {1} duplicate, discard it !", m_StoryId, msgId); #endif } } else { #if DEBUG string err = string.Format("Story {0} DSL, onmessage must be a function or statement ! line:{1} onmessage:{2}", m_StoryId, story.Statements[i].GetLine(), story.Statements[i].ToScriptString()); throw new Exception(err); #else LogSystem.Error("Story {0} DSL, onmessage must be a function !", m_StoryId); #endif } } else { #if DEBUG string err = string.Format("StoryInstance::Init, Story {0} unknown part {1}, line:{2} section:{3}", m_StoryId, story.Statements[i].GetId(), story.Statements[i].GetLine(), story.Statements[i].ToScriptString()); throw new Exception(err); #else LogSystem.Error("StoryInstance::Init, Story {0} unknown part {1}", m_StoryId, story.Statements[i].GetId()); #endif } } } else { #if DEBUG string err = string.Format("StoryInstance::Init, isn't story DSL, line:{0} story:{1}", story.GetLine(), story.ToScriptString()); throw new Exception(err); #else LogSystem.Error("StoryInstance::Init, isn't story DSL"); #endif } LogSystem.Debug("StoryInstance.Init message handler num:{0} {1}", m_MessageHandlers.Count, ret); return ret; }
protected override void Load(Dsl.CallData callData) { m_LoadedArgs = new List<IStoryValue<object>>(); 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_LeadCommand) { m_LeadCommand = new CompositeCommandHelper(this); } }
protected override void Load(Dsl.CallData callData) { int num = callData.GetParamNum(); if (num > 7) { m_Receiver.InitFromDsl(callData.GetParam(0)); m_Title.InitFromDsl(callData.GetParam(1)); m_Content.InitFromDsl(callData.GetParam(2)); m_Sender.InitFromDsl(callData.GetParam(3)); m_LevelDemand.InitFromDsl(callData.GetParam(4)); m_ValidPeriod.InitFromDsl(callData.GetParam(5)); m_Money.InitFromDsl(callData.GetParam(6)); m_Gold.InitFromDsl(callData.GetParam(7)); } for (int i = 8; i < callData.GetParamNum(); ++i) { StoryValue<int> val = new StoryValue<int>(); val.InitFromDsl(callData.GetParam(i)); m_MailItems.Add(val); } }