CNCMaps.Engine.Game.Theater.GetCollection C# (CSharp) Метод

GetCollection() приватный Метод

private GetCollection ( CollectionType t ) : CNCMaps.Engine.Game.GameCollection
t CollectionType
Результат CNCMaps.Engine.Game.GameCollection
        internal GameCollection GetCollection(CollectionType t)
        {
            switch (t) {
                case CollectionType.Aircraft:
                    return _aircraftTypes;
                case CollectionType.Building:
                    return _buildingTypes;
                case CollectionType.Infantry:
                    return _infantryTypes;
                case CollectionType.Overlay:
                    return _overlayTypes;
                case CollectionType.Smudge:
                    return _smudgeTypes;
                case CollectionType.Terrain:
                    return _terrainTypes;
                case CollectionType.Vehicle:
                    return _vehicleTypes;
                case CollectionType.Tiles:
                    return _tileTypes;
                default:
                    throw new ArgumentOutOfRangeException("t");
            }
        }

Usage Example

Пример #1
0
        private void RemoveUnknownObjects()
        {
            var c = _theater.GetCollection(CollectionType.Terrain);

            foreach (var obj in _terrainObjects.Where(obj => !c.HasObject(obj)).ToList())
            {
                _terrainObjects.Remove(obj);
                obj.Tile.RemoveObject(obj);
            }

            c = _theater.GetCollection(CollectionType.Infantry);
            foreach (var obj in _infantryObjects.Where(obj => !c.HasObject(obj)).ToList())
            {
                obj.Tile.RemoveObject(obj);
                _infantryObjects.Remove(obj);
            }

            c = _theater.GetCollection(CollectionType.Vehicle);
            foreach (var obj in _unitObjects.Where(obj => !c.HasObject(obj)).ToList())
            {
                obj.Tile.RemoveObject(obj);
                _unitObjects.Remove(obj);
            }

            c = _theater.GetCollection(CollectionType.Aircraft);
            foreach (var obj in _aircraftObjects.Where(obj => !c.HasObject(obj)).ToList())
            {
                obj.Tile.RemoveObject(obj);
                _aircraftObjects.Remove(obj);
            }

            c = _theater.GetCollection(CollectionType.Smudge);
            foreach (var obj in _smudgeObjects.Where(obj => !c.HasObject(obj)).ToList())
            {
                obj.Tile.RemoveObject(obj);
                _smudgeObjects.Remove(obj);
            }


            c = _theater.GetCollection(CollectionType.Building);
            var cAlt = _theater.GetCollection(CollectionType.Overlay);

            foreach (var obj in _structureObjects.Where(obj => !c.HasObject(obj) && !cAlt.HasObject(obj)).ToList())
            {
                obj.Tile.RemoveObject(obj);
                _structureObjects.Remove(obj);
            }
        }