Exemple #1
0
 private CodeParameterDeclarationExpression GetParametter(GameDataVariable v)
 {
     if (v.IsVector)
     {
         return(new CodeParameterDeclarationExpression("List<object>", v.VariableName));
     }
     else if (PrimitiveType.singleton.ContainsKey(v.VariableType))
     {
         return(new CodeParameterDeclarationExpression(_primitiveType[v.VariableType], v.VariableName));
     }
     else
     {
         return(new CodeParameterDeclarationExpression(v.VariableType, v.VariableName));
     }
 }
Exemple #2
0
 private void ParseLine(string line)
 {
     if (line.Contains("Vector"))
     {
         string[] spliter      = line.Split(':');
         string   variableName = spliter[0].Substring(spliter[0].LastIndexOf(" ")).Replace("_", "").Replace(" ", "");
         string   variableType = spliter[1].Replace("Vector.", "List").Replace(";", "");
         mOutputClass.Variables.Add(new GameDataVariable(variableName, variableType));
     }
     else
     {
         string[]         spliter = line.Split(':');
         GameDataVariable gdtv    = new GameDataVariable(spliter[0].Substring(spliter[0].LastIndexOf(" ") + 1).Replace("_", ""), spliter[1]);
         if (gdtv.IsPrimitive && !gdtv.IsVector && gdtv.VariableType.ToLower() == "uint")
         {
         }
         mOutputClass.Variables.Add(gdtv);
     }
 }
Exemple #3
0
        private void AddClassVariableToCodeBase(GameDataVariable classVariable)
        {
            if (classVariable.VariableType.Contains("List"))
            {
                CodeMemberProperty publicProperty = new CodeMemberProperty();
                publicProperty.Attributes = MemberAttributes.Public;
                publicProperty.HasGet     = true;
                publicProperty.HasSet     = true;
                publicProperty.SetStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression(classVariable.PrivateVariableName), new CodeVariableReferenceExpression("value")));
                publicProperty.Name = classVariable.PublicVariableName;
                publicProperty.Type = new CodeTypeReference(classVariable.VariableType);
                CodeExpression getter = new CodeSnippetExpression(string.Format("return {0}", classVariable.PrivateVariableName));
                publicProperty.GetStatements.Add(getter);
                _codeBase.Namespaces[0].Types[0].Members.Add(publicProperty);

                CodeMemberField var = new CodeMemberField(classVariable.VariableType, classVariable.PrivateVariableName);
                var.Attributes     = MemberAttributes.Private;
                var.InitExpression = new CodeSnippetExpression("new " + classVariable.VariableType + "()");
                _codeBase.Namespaces[0].Types[0].Members.Add(var);
            }
            else if (classVariable.VariableType.Contains("I18n"))
            {
                CodeMemberProperty publicProperty = new CodeMemberProperty();
                publicProperty.Attributes = MemberAttributes.Public;
                publicProperty.HasGet     = true;
                publicProperty.HasSet     = true;
                publicProperty.SetStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression(classVariable.PrivateVariableName), new CodeVariableReferenceExpression("value")));
                publicProperty.Name = classVariable.PublicVariableName;
                publicProperty.Type = new CodeTypeReference(typeof(string));
                CodeExpression getter = new CodeSnippetExpression(string.Format("return {0}", classVariable.PrivateVariableName + ".GetText()"));
                publicProperty.GetStatements.Add(getter);
                _codeBase.Namespaces[0].Types[0].Members.Add(publicProperty);

                CodeMemberField privateVar = new CodeMemberField("I18nProperty", classVariable.PrivateVariableName);
                privateVar.Attributes = MemberAttributes.Private;
                _codeBase.Namespaces[0].Types[0].Members.Add(privateVar);
            }
            else if (_primitiveType.ContainsKey(classVariable.VariableType))
            {
                Type Type = _primitiveType[classVariable.VariableType];
                CodeMemberProperty publicProperty = new CodeMemberProperty();
                publicProperty.Attributes = MemberAttributes.Public;
                publicProperty.HasGet     = true;
                publicProperty.HasSet     = true;
                publicProperty.SetStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression(classVariable.PrivateVariableName), new CodeVariableReferenceExpression("value")));
                publicProperty.Name = classVariable.PublicVariableName;
                publicProperty.Type = new CodeTypeReference(Type);
                CodeExpression getter = new CodeSnippetExpression(string.Format("return {0}", classVariable.PrivateVariableName));
                publicProperty.GetStatements.Add(getter);
                _codeBase.Namespaces[0].Types[0].Members.Add(publicProperty);

                CodeMemberField privateVar = new CodeMemberField(Type, classVariable.PrivateVariableName);
                privateVar.Attributes = MemberAttributes.Private;
                _codeBase.Namespaces[0].Types[0].Members.Add(privateVar);
            }
            else
            {
                CodeMemberProperty publicProperty = new CodeMemberProperty();
                publicProperty.Attributes = MemberAttributes.Public;
                publicProperty.HasGet     = true;
                publicProperty.HasSet     = true;
                publicProperty.SetStatements.Add(new CodeAssignStatement(new CodeVariableReferenceExpression(classVariable.PrivateVariableName), new CodeVariableReferenceExpression("value")));
                publicProperty.Name = classVariable.PublicVariableName;
                publicProperty.Type = new CodeTypeReference(classVariable.VariableType.Replace(";", ""));
                CodeExpression getter = new CodeSnippetExpression(string.Format("return {0}", classVariable.PrivateVariableName));
                publicProperty.GetStatements.Add(getter);
                _codeBase.Namespaces[0].Types[0].Members.Add(publicProperty);

                CodeMemberField var = new CodeMemberField(classVariable.VariableType.Replace(";", ""), classVariable.PrivateVariableName);
                _codeBase.Namespaces[0].Types[0].Members.Add(var);
            }
        }