Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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");
        }