public void ParseFuncSets(List<ShaderFuncModel> model)
 {
     if (m_jobjData != null) {
         JArray rootArray = m_jobjData ["func_sets"] as JArray;
         for (int i = 0; i < rootArray.Count; i++) {
             JToken val = rootArray[i];
             ShaderFuncModel iner = new ShaderFuncModel ();
             iner.name = (string)val["name"];
             iner.file = (string)val ["file"];
             JToken desc = val ["variables"];
             iner.rettype = (string)desc ["ret"];
             JArray jpar = desc ["par"] as JArray;
             for (int j = 0; j < jpar.Count; j++) {
                 JArray tarr = jpar [j] as JArray;
                 ShaderFuncModel.FuncTem parInfo = new ShaderFuncModel.FuncTem();
                 for (int h = 0; h < tarr.Count; h++) {
                     if (h == 0) {
                         parInfo.ptype = (string)tarr [h];
                     }else{
                         parInfo.pinfo += (string)tarr[h] + " ";
                     }
                 }
                 iner.variables.Add (parInfo);
             }
             model.Add (iner);
         }
     }
 }
 public void ParseFuncSets(List <ShaderFuncModel> model)
 {
     if (m_jobjData != null)
     {
         JArray rootArray = m_jobjData ["func_sets"] as JArray;
         for (int i = 0; i < rootArray.Count; i++)
         {
             JToken          val  = rootArray[i];
             ShaderFuncModel iner = new ShaderFuncModel();
             iner.name = (string)val["name"];
             iner.file = (string)val ["file"];
             JToken desc = val ["variables"];
             iner.rettype = (string)desc ["ret"];
             JArray jpar = desc ["par"] as JArray;
             for (int j = 0; j < jpar.Count; j++)
             {
                 JArray tarr = jpar [j] as JArray;
                 ShaderFuncModel.FuncTem parInfo = new ShaderFuncModel.FuncTem();
                 for (int h = 0; h < tarr.Count; h++)
                 {
                     if (h == 0)
                     {
                         parInfo.ptype = (string)tarr [h];
                     }
                     else
                     {
                         parInfo.pinfo += (string)tarr[h] + " ";
                     }
                 }
                 iner.variables.Add(parInfo);
             }
             model.Add(iner);
         }
     }
 }
예제 #3
0
 private void handleFuncTags(string key, CompletionParam data)
 {
     foreach (var item in m_lFuncSets)
     {
         if (item.name.Equals(key))
         {
             data.m_sdistext = key;
             string des = item.rettype + " ", par = "( ";
             for (int i = 0; i < item.variables.Count; i++)
             {
                 ShaderFuncModel.FuncTem fun = item.variables[i];
                 string val = fun.ptype + " " + fun.pinfo + ",";
                 if (i == item.variables.Count - 1)
                 {
                     val = fun.ptype + " " + fun.pinfo + ")";
                 }
                 des += val;
                 par += val;
             }
             data.m_scomtext = par;
             data.m_sdesc    = des + " " + item.file;
             break;
         }
     }
 }