示例#1
0
        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        }");
        }
示例#2
0
        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        }");
        }