public static void BuildOpcodesDictionary() { if (opcodeTemplates.Count > 0) { return; } // загружаем шаблоны из файла if (File.Exists(RulesFile)) { string[] fileBuf = File.ReadAllLines(RulesFile); foreach (string item in fileBuf) { string line = item.TrimStart(); if (line.Length == 0 || line[0] == ';') { continue; } string[] args = line.Split(','); OpcodeType type = DialogueParser.GetOpcodeType(args[0]); if (type == OpcodeType.None) { continue; } var template = new OpcodeTemplate(type, args[1].Trim(), int.Parse(args[3]), // message int.Parse(args[4]), // file int.Parse(args[5]), // node int.Parse(args[6]), // iq int.Parse(args[2]) // total func args ); template.isDefault = false; opcodeTemplates.Add(template.opcodeName, template); } } foreach (var item in templates) { opcodeTemplates.Add(item.opcodeName, item); } }
private void AddToTemplate(DataGridViewRow row, string key) { OpcodeTemplate template = new OpcodeTemplate( DialogueParser.GetOpcodeType(row.Cells[0].Value.ToString()), row.Cells[1].Value.ToString(), int.Parse(row.Cells[3].Value.ToString()), int.Parse(row.Cells[6].Value.ToString()), int.Parse(row.Cells[4].Value.ToString()), int.Parse(row.Cells[5].Value.ToString()), int.Parse(row.Cells[2].Value.ToString()) ); template.isDefault = false; if (DialogFunctionsRules.opcodeTemplates.ContainsKey(key)) { DialogFunctionsRules.opcodeTemplates[key] = template; } else { DialogFunctionsRules.opcodeTemplates.Add(key, template); } }