protected BagBuildingSettings createBuildingSettings(BagFunctionType type, int min, int max, string material)
        {
            const int EXAGERATION_FACTOR = 1;
            var       bs = new BagBuildingSettings();

            bs.Type     = type;
            bs.Material = (Material)Resources.Load(material, typeof(Material));
            bs.MinimumBuildingHeight = EXAGERATION_FACTOR * min;
            bs.MaximumBuildingHeight = EXAGERATION_FACTOR * max;
            bs.IsVolumetric          = true;
            return(bs);
        }
        private void CreateGameObject(BagFunctionType kind, MeshData data, GameObject main)
        {
            var go   = new GameObject(kind + " Buildings");
            var mesh = go.AddComponent <MeshFilter>().mesh;

            go.AddComponent <MeshRenderer>();
            mesh.vertices  = data.Vertices.ToArray();
            mesh.triangles = data.Indices.ToArray();
            mesh.SetUVs(0, data.UV);
            mesh.RecalculateNormals();
            go.GetComponent <MeshRenderer>().material = FactorySettings.GetSettingsFor <BagBuildingSettings>(kind).Material;
            go.transform.position += Vector3.up * Order;
            go.transform.SetParent(main.transform, false);
        }