private void DrawTileBackground(Tile tile, Ship ship, ref TileChange tileChange) { TileType type = tile.Type; // не зарисовываем корабль водой if (ship != null) { return; } // после открытия поля - фон не меняется //if (type != TileType.Unknown) //{ // return; //} int rotateCount = 0; string filename; switch (type) { case TileType.Unknown: tileChange.IsUnknown = true; filename = @"back"; break; case TileType.Water: filename = @"water"; break; case TileType.Grass: filename = @"empty1"; break; case TileType.Chest1: filename = @"chest1"; break; case TileType.Chest2: filename = @"chest2"; break; case TileType.Chest3: filename = @"chest3"; break; case TileType.Chest4: filename = @"chest4"; break; case TileType.Chest5: filename = @"chest5"; break; case TileType.Fort: filename = @"fort"; break; case TileType.RespawnFort: filename = @"respawn"; break; case TileType.RumBarrel: filename = @"rumbar"; break; case TileType.Horse: filename = @"horse"; break; case TileType.Cannon: filename = @"cannon"; rotateCount = tile.CannonDirection; break; case TileType.Croc: filename = @"croc"; break; case TileType.Airplane: filename = @"airplane"; break; case TileType.Balloon: filename = @"balloon"; break; case TileType.Ice: filename = @"ice"; break; case TileType.Trap: filename = @"trap"; break; case TileType.Canibal: filename = @"canibal"; break; case TileType.Spinning: switch (tile.SpinningCount) { case 2: filename = "forest"; break; case 3: filename = "desert"; break; case 4: filename = "swamp"; break; case 5: filename = "mount"; break; default: throw new NotSupportedException(); } break; case TileType.Arrow: var search = ArrowsCodesHelper.Search(tile.ArrowsCode); rotateCount = search.RotateCount; int fileNumber = (search.ArrowType + 1); filename = @"arrow" + fileNumber; break; default: throw new NotSupportedException(); } string relativePath = string.Format(@"/Content/Fields/{0}.png", filename); tileChange.BackgroundImageSrc = relativePath; tileChange.Rotate = rotateCount; }