public static Color GetEntityColor(GEntity g) { if (typeof(Spawner) == g.GetType()) { if (g.Team == Teams.Blu) { return(Color.DarkBlue); } else { return(Color.FromArgb(190, 0, 0)); } } switch (g.Type) { case TileType.WALL: return(Color.FromArgb(127, 64, 0)); case TileType.METAL: return(Color.Silver); case TileType.GRAVEL: return(Color.Gray); case TileType.SAND: return(Color.Yellow); case TileType.GRASS: return(Color.LightGray); case TileType.WATER: return(Color.Blue); } if (g.Team != Teams.NoTeam) { if (typeof(Flag) == g.GetType()) { if (g.Team == Teams.Blu) { return(Color.FromArgb(0, 255, 255)); } else { return(Color.Red); } } } return(Color.Black); }
internal void _setTopEntity(int x, int y, GEntity entity) { if (entity == null) { Entities[y * LevelWidth + x] = null; _getTile(x, y).Render(_background); _miniMap.Set(_getTile(x, y)); return; } if (entity.GetType() == typeof(Flag) || entity.GetType() == typeof(Spawner)) { GEntity t = Tiles[y * LevelWidth + x]; t.Render(_background); t.X += OffsetX - _tileOffsetX * GTile.WIDTH; t.Y += OffsetY - _tileOffsetY * GTile.HEIGHT; t.Render(Screen); t.X -= OffsetX - _tileOffsetX * GTile.WIDTH; t.Y -= OffsetY - _tileOffsetY * GTile.HEIGHT; } Entities[y * LevelWidth + x] = entity; entity.Render(_background); _miniMap.Set(entity); }
private static MapEntity _toMapEntity(GEntity entity, GEntity tile) { if (entity != null) { if (entity.Type == TileType.METAL) { return(MapEntity.Metal); } } if (entity == null) { return(_tileToMapEntity(tile)); } else { if (entity.GetType() == typeof(Spawner)) { _numSpawners++; if (entity.Team == Teams.Red) { if (tile.Type == TileType.WATER) { return(MapEntity.RedSpawnerOnWater); } else if (tile.Type == TileType.GRAVEL) { return(MapEntity.RedSpawnerOnGravel); } else if (tile.Type == TileType.SAND) { return(MapEntity.RedSpawnerOnSand); } else if (tile.Type == TileType.GRASS) { return(MapEntity.RedSpawnerOnGrass); } } else { if (tile.Type == TileType.WATER) { return(MapEntity.BluSpawnerOnWater); } else if (tile.Type == TileType.GRAVEL) { return(MapEntity.BluSpawnerOnGravel); } else if (tile.Type == TileType.SAND) { return(MapEntity.BluSpawnerOnSand); } else if (tile.Type == TileType.GRASS) { return(MapEntity.BluSpawnerOnGrass); } } } else if (entity.GetType() == typeof(Flag)) { if (entity.Team == Teams.Red) { if (tile.Type == TileType.WATER) { return(MapEntity.RedFlagOnWater); } else if (tile.Type == TileType.GRAVEL) { return(MapEntity.RedFlagOnGravel); } else if (tile.Type == TileType.SAND) { return(MapEntity.RedFlagOnSand); } else if (tile.Type == TileType.GRASS) { return(MapEntity.RedFlagOnGrass); } } else { if (tile.Type == TileType.WATER) { return(MapEntity.BluFlagOnWater); } else if (tile.Type == TileType.GRAVEL) { return(MapEntity.BluFlagOnGravel); } else if (tile.Type == TileType.SAND) { return(MapEntity.BluFlagOnSand); } else if (tile.Type == TileType.GRASS) { return(MapEntity.BluFlagOnGrass); } } } else if (entity.Type == TileType.WALL) { if (tile.Type == TileType.WATER) { return(MapEntity.WallOnWater); } else if (tile.Type == TileType.GRAVEL) { return(MapEntity.WallOnGravel); } else if (tile.Type == TileType.SAND) { return(MapEntity.WallOnSand); } else if (tile.Type == TileType.GRASS) { return(MapEntity.WallOnGrass); } } } throw new ArgumentException("Unknown tile entity pair"); }