public IEnumerable <IEntityModel> ExceptRow(IEnumerable <IEntityModel> entities, uint row) { return(entities.Where(entity => { var fieldPosition = FieldDimension.GetFieldPositionFromWorld(entity.WorldPosition); return fieldPosition.y != row; })); }
public IEnumerable <IEntityModel> GetFrezeEntities(IEntityModel[,] map) { var result = new List <IEntityModel>(); foreach (var entityModel in Entities) { if (IsEntityFall(FieldDimension.GetFieldPositionFromWorld(entityModel.WorldPosition), map)) { continue; } result.Add(entityModel); } return(result); }
public IEntityModel[,] GenerateEntityMap() { var map = new IEntityModel[FieldDimension.Colls, FieldDimension.Rows]; var dimension = GetMapDimensions(map); foreach (var entityController in Entities) { var fieldPosition = FieldDimension.GetFieldPositionFromWorld(entityController.WorldPosition); if (!IsPointInField(fieldPosition, dimension)) { throw new Exception("Сущность находится вне игрового поля"); } map[fieldPosition.x, fieldPosition.y] = entityController; } return(map); }