Esempio n. 1
0
    /// <summary>
    /// Set existing numbers based on the naming scheme set in the project settings
    /// </summary>
    /// <param name="objects">The list of objects to get the names from</param>
    /// <param name="ExistingNumbers">The list of ExistingNumbers to set</param>
    /// <param name="namingScheme">The naming scheme to use</param>
    void SetExistingNumbers(List <GameObject> objects, List <int> ExistingNumbers, NamingScheme namingScheme)
    {
        foreach (GameObject obj in objects)
        {
            string name = obj.name;
            if (name.Contains(prefab.name) && name.Any(char.IsDigit))
            {
                int num = 0;
                switch (namingScheme)
                {
                case NamingScheme.SpaceParenthesis:
                    char[] charsToTrim = { '(', ')' };
                    num = GetExistingNumber(name, name.Split(' '), charsToTrim);
                    break;

                case NamingScheme.Dot:
                    num = GetExistingNumber(name, name.Split('.'));
                    break;

                case NamingScheme.Underscore:
                    num = GetExistingNumber(name, name.Split('_'));
                    break;
                }
                if (num != 0)
                {
                    ExistingNumbers.Add(num);
                }
                else
                {
                    Debug.LogError("The selected object cannot be renamed, as there are several naming schemes used");
                }
            }
        }
    }
Esempio n. 2
0
        // ---------------------------------------------------------------------------------
        /// Convert the given name to a local variable name using the predefined naming
        /// scheme.
        ///
        /// @param name The name to be converted.
        /// @return The converted name.
        ///
        public static string ToLocalVariableName(string name)
        {
            string       prefix       = "the";
            NamingScheme namingScheme = NamingScheme.LOWER_CAMEL_CASE;

            return(ToCodeName(namingScheme, name, prefix));
        }
Esempio n. 3
0
        // ---------------------------------------------------------------------------------
        /// Convert the given name to a private class field name using the predefined naming
        /// scheme.
        ///
        /// @param name The name to be converted.
        /// @return The converted name.
        ///
        public static string ToPrivateStaticFieldName(string name)
        {
            string       prefix       = "p_our";
            NamingScheme namingScheme = NamingScheme.LOWER_CAMEL_CASE;

            return(ToCodeName(namingScheme, name, prefix));
        }
Esempio n. 4
0
        // =================================================================================
        // Programmatic name conversions
        // ---------------------------------------------------------------------------------
        /// Convert the given name to a function parameter name using the predefined naming
        /// scheme.
        ///
        /// @param name The name to be converted.
        /// @return The converted name.
        ///
        public static string ToFunctionParameterName(string name)
        {
            string       prefix       = "";
            NamingScheme namingScheme = NamingScheme.LOWER_CAMEL_CASE;

            return(ToCodeName(namingScheme, name, prefix));
        }
Esempio n. 5
0
        // ---------------------------------------------------------------------------------
        public static string ToNamingScheme(NamingScheme namingScheme, string name)
        {
            switch (namingScheme)
            {
            case NamingScheme.VISUAL_EDITOR: {
                return(ToDisplayName(name));
            }

            case NamingScheme.LOWER_CAMEL_CASE: {
                return(ToLowerCamelCase(name));
            }

            case NamingScheme.UPPER_CAMEL_CASE: {
                return(ToUpperCamelCase(name));
            }

            case NamingScheme.SNAKE_CASE: {
                return(ToSnakeCase(name));
            }

            case NamingScheme.LOWER_SNAKE_CASE: {
                return(ToLowerSnakeCase(name));
            }

            case NamingScheme.UPPER_SNAKE_CASE: {
                return(ToUpperSnakeCase(name));
            }
            }
            return(ToUpperCamelCase(name));
        }
Esempio n. 6
0
        // ---------------------------------------------------------------------------------
        /// Convert the given name to a type name using the predefined naming
        /// scheme.
        ///
        /// @param name The name to be converted.
        /// @return The converted name.
        ///
        public static string ToTypeName(string name)
        {
            string       prefix       = null;
            NamingScheme namingScheme = NamingScheme.UPPER_CAMEL_CASE;

            return(ToCodeName(namingScheme, name, prefix));
        }
Esempio n. 7
0
        // ---------------------------------------------------------------------------------
        /// Convert the given name to a private function name using the predefined naming
        /// scheme.
        ///
        /// @param name The name to be converted.
        /// @return The converted name.
        ///
        public static string ToPrivateStaticFunctionName(string name)
        {
            string       prefix       = null;
            NamingScheme namingScheme = NamingScheme.UPPER_CAMEL_CASE;

            return(ToCodeName(namingScheme, name, prefix));
        }
Esempio n. 8
0
    void SetNamingScheme()
    {
#if UNITY_2020_OR_NEWER
        namingScheme = EditorSettings.gameObjectNamingScheme;
#else
        namingScheme = NamingScheme.SpaceParenthesis;
#endif
    }
Esempio n. 9
0
        /// <summary>
        /// Sets the identity (Key) of the object. It is important to set the identity in situations
        /// where you want to track multiple objects of the same type, so Jot can know which data belongs
        /// to what object. Otherwise, they will use the same data which is usually not what you want.
        /// </summary>
        /// <param name="key"></param>
        /// <param name="storeNamingScheme"></param>
        /// <returns></returns>
        public TrackingConfiguration IdentifyAs(string key, NamingScheme storeNamingScheme = NamingScheme.TypeNameAndKey)
        {
            if (TargetStore != null)
            {
                throw new InvalidOperationException("Can't set key after TargetStore has been set (which happens the first time Apply() or Persist() is called).");
            }

            Key = key;
            StoreNamingScheme = storeNamingScheme;

            return(this);
        }
Esempio n. 10
0
        public void SetNamingScheme()
        {
            ProductContext context = GetContext(namingOptions: new NamingOptions().SetNamingScheme(NamingScheme.SnakeCase));

            IEntityType findEntityType = context.Model.FindEntityType(typeof(ProductTag));

            Assert.Equal("product_tag", findEntityType.GetTableName());
            Assert.Equal("product_tag_id", findEntityType.FindProperty(nameof(ProductTag.ProductTagId)).GetColumnName());
            Assert.True(findEntityType.GetKeys().All(x => x.GetName() == NamingScheme.SnakeCase(x.GetDefaultName())));
            Assert.True(findEntityType.GetForeignKeys().All(x => x.GetConstraintName() == NamingScheme.SnakeCase(x.GetDefaultName())));
            Assert.True(findEntityType.GetIndexes().All(x => x.GetName() == NamingScheme.SnakeCase(x.GetDefaultName())));
        }
Esempio n. 11
0
 public static string ToTitleCase(string s, NamingScheme namingScheme)
 {
     if (string.IsNullOrEmpty(s))
     {
         return(s);
     }
     switch (namingScheme)
     {
     case NamingScheme.PascalCase:
         s = s.ToPascalCase();
         break;
     }
     return(MakeValidIdentifier(s));
 }
Esempio n. 12
0
        // ---------------------------------------------------------------------------------
        /// Converts the given name to a code formatter name usng the given naming scheme.
        /// A prefix can also be prepended.
        ///
        /// @param namingScheme The naming scheme used in the conversion.
        /// @param name The name to be converted.
        /// @param prefix The string to be prepended.
        /// @return The converted name.
        ///
        public static string ToCodeName(NamingScheme namingScheme, string name, string prefix = null)
        {
            // Don't prepend the prefix if it is already present.
            if (!string.IsNullOrEmpty(prefix))
            {
                if (name.StartsWith(prefix))
                {
                    prefix = null;
                }
            }
            // Adjust Camel case if prefix exists.
            if (!string.IsNullOrEmpty(prefix))
            {
                bool prefixEndsWithUnderscore = prefix[prefix.Length - 1] == '_';
                if (prefixEndsWithUnderscore == false)
                {
                    switch (namingScheme)
                    {
                    case NamingScheme.LOWER_CAMEL_CASE: {
                        namingScheme = NamingScheme.UPPER_CAMEL_CASE;
                        break;
                    }

                    case NamingScheme.SNAKE_CASE:
                    case NamingScheme.LOWER_SNAKE_CASE:
                    case NamingScheme.UPPER_SNAKE_CASE: {
                        prefix += '_';
                        break;
                    }
                    }
                }
            }
            // Perform naming scheme conversion.
            name = ToNamingScheme(namingScheme, name);
            // Add prefix.
            if (!string.IsNullOrEmpty(prefix))
            {
                name = AddPrefix(prefix, name);
            }
            return(name);
        }
Esempio n. 13
0
        public void OverrideConstraintNaming()
        {
            ProductContext context = GetContext(namingOptions: new NamingOptions().OverrideConstraintNaming(NamingScheme.SnakeCase));

            IEntityType findEntityType = context.Model.FindEntityType(typeof(ProductTag));

            Assert.Equal("ProductTag", findEntityType.GetTableName());

#if NET5_0_OR_GREATER
            Assert.Equal("ProductTagId", findEntityType.FindProperty(nameof(ProductTag.ProductTagId)).GetColumnBaseName());
#else
            Assert.Equal("ProductTagId", findEntityType.FindProperty(nameof(ProductTag.ProductTagId)).GetColumnName());
#endif

            Assert.True(findEntityType.GetKeys().All(x => x.GetName() == NamingScheme.SnakeCase(x.GetDefaultName())));
            Assert.True(findEntityType.GetForeignKeys().All(x => x.GetConstraintName() == NamingScheme.SnakeCase(x.GetDefaultName())));

#if NET5_0_OR_GREATER
            Assert.True(findEntityType.GetIndexes().All(x => x.GetDatabaseName() == NamingScheme.SnakeCase(x.GetDefaultDatabaseName())));
#else
            Assert.True(findEntityType.GetIndexes().All(x => x.GetName() == NamingScheme.SnakeCase(x.GetDefaultName())));
#endif
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="NamingProvider"/> class.
 /// </summary>
 /// <param name="namingScheme">The naming scheme.</param>
 public NamingProvider(NamingScheme namingScheme)
 {
     _namingScheme = namingScheme;
 }
 public static string ToTitleCase(string s, NamingScheme namingScheme)
 {
     if (string.IsNullOrEmpty(s)) return s;
     switch (namingScheme)
     {
         case NamingScheme.PascalCase:
             s = s.ToPascalCase();
             break;
     }
     return MakeValidIdentifier(s);
 }