コード例 #1
0
ファイル: Factory.cs プロジェクト: therubberduck/HexTool
        public Bitmap Create(HexContent item)
        {
            SKBitmap background  = _resRepo.GetImage(item.BackgroundImageId);
            SKBitmap finishedHex = new SKBitmap(background.Width, background.Height);

            SKCanvas canvas = new SKCanvas(finishedHex);

            canvas.DrawBitmap(background, 0, 0);

            var terrain = _resRepo.GetImage(item.TerrainImageId);

            if (terrain != null)
            {
                canvas.DrawBitmap(terrain, 0, 0);
            }
            var vegetation = _resRepo.GetImage(item.VegetationImageId);

            if (vegetation != null)
            {
                canvas.DrawBitmap(vegetation, 0, 0);
            }
            var feature = _resRepo.GetImage(item.FeatureImageId);

            if (feature != null)
            {
                canvas.DrawBitmap(feature, 0, 0);
            }

            return(finishedHex.ToBitmap());
        }
コード例 #2
0
ファイル: MapRepo.cs プロジェクト: therubberduck/HexTool
        private IEnumerable <HexContent> CreateTestGridItems()
        {
            List <HexContent> items = new List <HexContent>();
            Random            r     = new Random();

            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    HexContent item = new HexContent {
                        X = i, Y = j
                    };
                    int t = r.Next(3);
                    switch (t)
                    {
                    case 0:
                        item.BackgroundImageId = 10006;
                        item.VegetationImageId = 30004;
                        break;

                    case 1:
                        item.BackgroundImageId = 10004;
                        item.TerrainImageId    = 20001;
                        item.VegetationImageId = 30003;
                        break;

                    case 2:
                        item.BackgroundImageId = 10001;
                        item.VegetationImageId = 30001;
                        if (item.X % 2 == 0 && item.Y % 2 == 0)
                        {
                            item.FeatureImageId = 40005;
                        }
                        break;
                    }
                    items.Add(item);
                }
            }
            return(items);
        }
コード例 #3
0
ファイル: MapRepo.cs プロジェクト: therubberduck/HexTool
 public void UpdateHex(HexContent hex)
 {
     _db.HexContent.Update(hex);
 }