private static GameTile[] CreateHomeTiles(float distance, float tileSize, float angle, int i, Vector2 tilePosition, float angleOffset, CanvasBitmap sprite, GameRace gameRace, GameTile previousTile, GameTile gameTile) { List <GameTile> homeTiles = new List <GameTile>(); GameTile previousHomeTile = CreateTile(sprite, tilePosition, tileSize, (bitmap, scale) => Scaler.ImgUniform(bitmap, scale), gameRace, previousTile); homeTiles.Add(previousHomeTile); for (int j = 1; j < 5; j++) { Vector2 homeTilePosition = new Vector2(MathF.Sin(angle * (i + j) + angleOffset) * (distance - (distance / 6) * (j)), MathF.Cos(angle * (i + j) + angleOffset) * (distance - (distance / 6) * (j))); previousHomeTile = CreateTile(sprite, homeTilePosition, tileSize, (bitmap, scale) => Scaler.ImgUniform(bitmap, scale), gameRace, previousHomeTile); homeTiles.Add(previousHomeTile); } homeTiles[homeTiles.Count - 1].nextTile = gameTile; return(homeTiles.ToArray()); }
private static GameTile CreateTile(CanvasBitmap image, Vector2 position, float imageScale, Drawable.Scale scalerMethood, GameRace gameRace, GameTile previousTile) { Drawable newTile = new Drawable(image, position, imageScale, scalerMethood); GameEngine.drawables.Add(newTile); return(new GameTile(newTile, gameRace, previousTile)); }
/// <summary> /// Creates the base tile /// </summary> /// <param name="sprite"></param> /// <param name="gameTiles"></param> /// <param name="baseLocation"></param> /// <param name="race"></param> /// <param name="homeTileIndex"></param> private static void CreateBaseTile(CanvasBitmap sprite, List <GameTile> gameTiles, Vector2 baseLocation, GameRace race, int homeTileIndex) { GameTile baseTile = CreateTile(sprite, baseLocation, 0.15f, (bitmap, scale) => Scaler.ImgUniform(bitmap, scale), race, null); baseTile.nextTile = gameTiles[homeTileIndex + 5]; gameTiles.Add(baseTile); }