public BuildingObj AddBuilding(Vector2Int ij, BuildingDef buildingDef, QualityEnum quality)
    {
        BuildingObj newBuilding = new BuildingObj(ij, buildingDef, quality);

        ManagerBase.domain.buildings.Add(newBuilding);
        return(newBuilding);
    }
Esempio n. 2
0
 public ResourceTypeQuantityQuality(string type, QualityEnum quality, int quantity, int minTier)
 {
     this.type     = type;
     this.quantity = quantity;
     this.quality  = quality;
     this.minTier  = minTier;
 }
Esempio n. 3
0
        private static void ConvertAtlasFormat(BuildTarget bt, QualityEnum qe)
        {
#if UNITY_2018
            var dirs = new List <string>();
            GetDirs(Application.dataPath, ref dirs, @"\.spriteatlas$");

            foreach (var t in dirs)
            {
                //Debug.Log(string.Format("== SpriteAtlas 路径为: {0} ==", dirs[i]));
                var sa = AssetDatabase.LoadAssetAtPath <SpriteAtlas>(t);
                sa.SetIncludeInBuild(true); //TODO

                var saps = sa.GetPackingSettings();
                saps.enableRotation     = false;
                saps.enableTightPacking = false;
                sa.SetPackingSettings(saps);

                var platName = GetPlatName(bt);
                var tips     = sa.GetPlatformSettings(platName);
                if (tips == null)
                {
                    continue;
                }
                tips.overridden = true;
                tips.format     = GetImageQuality(bt, qe);
                //tips.compressionQuality = (int)TextureCompressionQuality.Normal; TODO
                sa.SetPlatformSettings(tips);
            }
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
            Debug.LogWarning($"==== 完成对应品质的Atlas转换: {qe.ToString()}====");
#endif
        }
Esempio n. 4
0
 public GameContent(Game game, uint id, MediaTypeEnum content, QualityEnum quality, AngleEnum angle)
 {
     Id      = new ContentId(id);
     Game    = game;
     Content = content;
     Quality = quality;
     Angle   = angle;
 }
Esempio n. 5
0
 public LooseObject(bool carriable, bool uninstallable, QualityEnum quality, int maxDurability, int currentDurability)
 {
     Carriable         = carriable;
     Uninstallable     = uninstallable;
     Quality           = quality;
     MaxDurability     = maxDurability;
     CurrentDurability = currentDurability;
 }
Esempio n. 6
0
        public static IGeometry Simplify(IGeometry geometry, QualityEnum quality)
        {
            double distance;

            switch (quality)
            {
            case QualityEnum.VeryLow:
                distance = 0.015;
                break;

            case QualityEnum.Low:
                distance = 0.0045;
                break;

            case QualityEnum.Medium:
                distance = 0.0020;
                break;

            case QualityEnum.High:
                distance = 0.0010;
                break;

            case QualityEnum.VeryHigh:
                distance = 0.00005;
                break;

            case QualityEnum.Excellent:
                //distance = 0.00000275; // de 25 a 35
                distance = 0.000002;                         // de 25 a 35
                break;

            default:
                throw new Exception("Invalid quality.");
            }
            var simplifyer = new NetTopologySuite.Simplify.DouglasPeuckerSimplifier(geometry);

            simplifyer.DistanceTolerance = distance;
            var geo = simplifyer.GetResultGeometry();

            if (geo.IsValid == false)
            {
                throw new Exception("La simplificación ha generado una geometría inválida.");
            }
            return(geo);
        }
Esempio n. 7
0
    public BuildingObj(Vector2Int ij, BuildingDef buildingDef, QualityEnum quality)
    {
        guid         = System.Guid.NewGuid();
        ijLocation   = ij;
        this.quality = quality;
        name         = buildingDef.name;
        calculatedMaxDistToWorkTiles = ResourceManager.qualityMultiplier[quality] * buildingDef.defaultMaxDistToWorkTiles;
        calculatedHousing            = Mathf.RoundToInt(ResourceManager.qualityMultiplier[quality] * buildingDef.housing);
        maxHp     = buildingDef.maxHp;
        currentHp = maxHp;

        // Need to add worked tiles

        // Need to add calculatedBonuses
        buildingBonuses = new List <JobBonus>();

        //this.jobManager = jobManager;
    }
Esempio n. 8
0
 public Apparel(Material material, QualityEnum quality, int maxDurability, int currentDurability) : base(true, false, quality, maxDurability, currentDurability)
 {
     Material        = material;
     DirectionSprite = new Dictionary <DirectionEnum, Sprite>();
     LoadSprites();
 }
Esempio n. 9
0
 public ResourceNameQuantityQuality(string name, QualityEnum quality, int quantity)
 {
     this.name     = name;
     this.quantity = quantity;
     this.quality  = quality;
 }
Esempio n. 10
0
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            QualityEnum quality = (QualityEnum)(value);

            return(quality.ToString());
        }
Esempio n. 11
0
 public VideoAccess(QualityEnum quality, AngleEnum angle, Range <uint> bitRate)
 {
     Quality = quality; Angle = angle; BitRate = bitRate;
 }
Esempio n. 12
0
 public ResourceTypeQuantityQuality(string type, QualityEnum quality, int quantity)
 {
     this.type     = type;
     this.quantity = quantity;
     this.quality  = quality;
 }
Esempio n. 13
0
        /// <summary>
        /// 获取对应压缩材质的图片
        /// https://docs.unity3d.com/Manual/class-TextureImporterOverride.html
        /// </summary>
        /// <param name="bt"></param>
        /// <param name="qe"></param>
        /// <param name="isAlpha"></param>
        /// <returns></returns>
        private static TextureImporterFormat GetImageQuality(BuildTarget bt, QualityEnum qe, bool isAlpha = true)
        {
            if (qe.Equals(QualityEnum.None))
            {
                return(isAlpha ? TextureImporterFormat.RGBA32 : TextureImporterFormat.RGB24);
            }

            switch (bt)
            {
            case BuildTarget.iOS:
                switch (qe)
                {
                case QualityEnum.Normal:
//                            return isAlpha ? TextureImporterFormat.PVRTC_RGBA4 : TextureImporterFormat.PVRTC_RGB4;
                    return(isAlpha ? TextureImporterFormat.ASTC_RGBA_4x4 : TextureImporterFormat.ASTC_RGB_4x4);

                case QualityEnum.Crunched:
                    return(isAlpha
                                ? TextureImporterFormat.ETC2_RGBA8Crunched
                                : TextureImporterFormat.ETC_RGB4Crunched);

                case QualityEnum.RGB_ETC4:
                    return(isAlpha
                                ? TextureImporterFormat.ETC2_RGB4_PUNCHTHROUGH_ALPHA
                                : TextureImporterFormat.ETC_RGB4);
//                        default:
//                            break;
                }

                break;

            case BuildTarget.Android:
                switch (qe)
                {
                case QualityEnum.Normal:
                    return(isAlpha ? TextureImporterFormat.ETC2_RGBA8 : TextureImporterFormat.ETC_RGB4);

                case QualityEnum.Crunched:
                    return(isAlpha
                                ? TextureImporterFormat.ETC2_RGBA8Crunched
                                : TextureImporterFormat.ETC_RGB4Crunched);

                case QualityEnum.RGB_ETC4:
                    return(isAlpha
                                ? TextureImporterFormat.ETC2_RGB4_PUNCHTHROUGH_ALPHA
                                : TextureImporterFormat.ETC_RGB4);
//                        default:
//                            break;
                }

                break;

                //case BuildTarget.StandaloneOSX:
                //case BuildTarget.StandaloneWindows:
                //case BuildTarget.StandaloneWindows64:
                //case BuildTarget.StandaloneLinux:
                //case BuildTarget.StandaloneLinux64:
                //case BuildTarget.StandaloneLinuxUniversal:
                //case BuildTarget.PS4:
                //case BuildTarget.XboxOne:
                //    break;
            }

            return(TextureImporterFormat.RGBA32);
        }
Esempio n. 14
0
        private static void ConvertImgFormat(BuildTarget bt, QualityEnum qe, bool isRestore = false)
        {
            var imageBase = new TextureImporterPlatformSettings
            {
                overridden = true,
                name       = bt.ToString(),
                //maxTextureSize = 2048,
                format = TextureImporterFormat.RGBA32,
                //compressionQuality = (int)TextureCompressionQuality.Best, TODO
                allowsAlphaSplitting = false
            };

            var dirs = new List <string>();

            GetDirs(Application.dataPath, ref dirs, @"\.((pn)|(jp))g$");

            foreach (var t in dirs)
            {
                var lowName = t.ToLowerInvariant();
                var valid   = false;
                foreach (var t1 in _checkDirs)
                {
                    var lowDir = t1.ToLowerInvariant();
                    if (!lowName.Contains(lowDir))
                    {
                        continue;
                    }
                    valid = true;
                    break;
                }

                if (!valid)
                {
                    continue;
                }

                var importer = AssetImporter.GetAtPath(t) as TextureImporter;
                //if (!importer.textureType.Equals(TextureImporterType.Sprite))
                //{
                //    Debug.LogError(string.Format("==检测到非Sprite资源==  path:{0}", dirs[j]));
                //    continue;
                //}

                if (!isRestore)
                {
                    imageBase.format = GetImageQuality(bt, qe, importer.DoesSourceTextureHaveAlpha());
                    importer.SetPlatformTextureSettings(imageBase);
                    importer.mipmapEnabled = false;
                }
                else
                {
                    importer.ClearPlatformTextureSettings(bt.ToString());
                    //importer.SaveAndReimport();
                }

                //image_base = importer.GetPlatformTextureSettings(BuildTarget.Android.ToString());
                //Debug.Log(string.Format("==检测到资源==  path:{0}  overridden:{1}  name:{2} maxTextureSize:{3}  format:{4} compressionQuality:{5}  allowsAlphaSplitting:{6}  crunchedCompression:{7}",
                //    dirs[j], Android_png.overridden,
                //    Android_png.name, Android_png.maxTextureSize,
                //    Android_png.format, Android_png.compressionQuality,
                //    Android_png.allowsAlphaSplitting, Android_png.crunchedCompression));
            }

            AssetDatabase.Refresh();
            //}
            Debug.LogWarning(
                $"==图片转换处理结束==  对象平台:{bt.ToString()}  处理数量:{dirs.Count}  品质:{qe.ToString()}");
        }