static void Generate_InitializeVariable(StreamWriter writer, EditorBTNode btnode) { writer.Write( @" public override void InitializeVariable(Dictionary<string, string> variables) { string value;"); for (int i = 0; i < btnode.m_variables.Count; ++i) { EditorVariable variable = btnode.m_variables[i]; writer.Write("\r\n if (variables.TryGetValue(\""); writer.Write(variable.m_config_name); writer.Write("\", out value))\r\n "); writer.Write(variable.m_code_fragment); if (variable.IsFormula()) { writer.Write(".Compile(value);"); } else if (variable.Transform2Crc()) { writer.Write(" = (int)CRC.Calculate(value);"); } else if (variable.NeedParse()) { writer.Write(" = "); writer.Write(variable.m_type_name); writer.Write(".Parse(value);"); } else { writer.Write(" = value;"); } } writer.Write("\r\n }"); }
static void Generate_InitializeVariable(StreamWriter writer, EditorComponent component) { bool need = false; for (int i = 0; i < component.m_variables.Count; ++i) { EditorVariable variable = component.m_variables[i]; if (!variable.CanVariableInit()) { continue; } need = true; break; } if (!need) { return; } // public override void InitializeVariable(Dictionary<string, string> variables) // { // string value; // if (variables.TryGetValue("x", out value)) // m_current_position.x = int.Parse(value); // } writer.Write( @" public override void InitializeVariable(Dictionary<string, string> variables) { string value;"); for (int i = 0; i < component.m_variables.Count; ++i) { EditorVariable variable = component.m_variables[i]; if (!variable.CanVariableInit()) { continue; } writer.Write("\r\n if (variables.TryGetValue(\""); writer.Write(variable.m_config_name); writer.Write("\", out value))\r\n "); writer.Write(variable.m_code_fragment); if (variable.IsFormula()) { writer.Write(".Compile(value);"); } //else if (variable.NeedParse()) //{ // if (variable.Transform2Crc()) // writer.Write(" = (int)CRC.Calculate("); // else // writer.Write(" = "); // writer.Write(variable.m_type_name); // if (variable.Transform2Crc()) // writer.Write(".Parse(value));"); // else // writer.Write(".Parse(value);"); //} //else //{ // if (variable.Transform2Crc()) // writer.Write(" = (int)CRC.Calculate(value);"); // else // writer.Write(" = value;"); //} else if (variable.Transform2Crc()) { writer.Write(" = (int)CRC.Calculate(value);"); } else if (variable.NeedParse()) { writer.Write(" = "); writer.Write(variable.m_type_name); writer.Write(".Parse(value);"); } else { writer.Write(" = value;"); } } writer.Write("\r\n }"); }