Пример #1
0
 public IEnumerable <IEntityModel> ExceptRow(IEnumerable <IEntityModel> entities, uint row)
 {
     return(entities.Where(entity =>
     {
         var fieldPosition = FieldDimension.GetFieldPositionFromWorld(entity.WorldPosition);
         return fieldPosition.y != row;
     }));
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }