public void Init(ScriptableData.ISyntaxComponent config)
 {
     ScriptableData.CallData callData = config as ScriptableData.CallData;
     if (null != callData)
     {
         Load(callData);
     }
     else
     {
         ScriptableData.FunctionData funcData = config as ScriptableData.FunctionData;
         if (null != funcData)
         {
             Load(funcData);
         }
         else
         {
             ScriptableData.StatementData statementData = config as ScriptableData.StatementData;
             if (null != statementData)
             {
                 Load(statementData);
             }
             else
             {
                 //error
             }
         }
     }
 }
Exemple #2
0
 /// <summary>
 /// 初始化剧情命令
 /// </summary>
 /// <param name="config"></param>
 public void Init(ScriptableData.ISyntaxComponent config)
 {
     ScriptableData.CallData callData = config as ScriptableData.CallData;
     if (callData != null)
     {
         Load(callData);
     }
     else
     {
         ScriptableData.FunctionData funcData = config as ScriptableData.FunctionData;
         if (funcData != null)
         {
             Load(funcData);
         }
         else
         {
             ScriptableData.StatementData stateData = config as ScriptableData.StatementData;
             if (stateData != null)
             {
                 Load(stateData);
             }
             else
             {
                 Debug.LogError("剧情命令不能解析");
             }
         }
     }
 }
        protected override void Load(ScriptableData.StatementData statementData)
        {
            Load(statementData.First);
            ScriptableData.FunctionData functionData = statementData.Second;
            if (null != functionData && functionData.GetId() == "else")
            {
                for (int i = 0; i < functionData.Statements.Count; i++)
                {
                    ICommand cmd = CommandManager.Instance.CreateCommand(functionData.Statements[i]);
                    if (null != cmd)
                    {
                        m_LoadedElseCommands.Add(cmd);
                    }
                }

                /*
                 * foreach (ScriptableData.ISyntaxComponent statement in functionData.Statements) {
                 * ICommand cmd = StoryCommandManager.Instance.CreateCommand(statement);
                 * if (null != cmd)
                 *  m_LoadedElseCommands.Add(cmd);
                 * }*/
            }
        }
 protected virtual void Load(ScriptableData.StatementData statementData)
 {
 }