public FightMapMovementContext([NotNull] IMapStateProvider stateProvider, [NotNull] IMapEntityProvider entityProvider)
        {
            //IL_0020: Unknown result type (might be due to invalid IL or missing references)
            //IL_0025: Unknown result type (might be due to invalid IL or missing references)
            //IL_0027: Unknown result type (might be due to invalid IL or missing references)
            //IL_002c: Unknown result type (might be due to invalid IL or missing references)
            //IL_002d: Unknown result type (might be due to invalid IL or missing references)
            //IL_0032: Unknown result type (might be due to invalid IL or missing references)
            //IL_00c9: Unknown result type (might be due to invalid IL or missing references)
            this.stateProvider  = stateProvider;
            this.entityProvider = entityProvider;
            Vector2Int sizeMin = stateProvider.sizeMin;
            Vector2Int val     = stateProvider.sizeMax - sizeMin;
            int        num     = val.get_y() * val.get_x();
            int        num2    = sizeMin.get_y() * val.get_x() + sizeMin.get_x();

            grid = new Cell[num];
            Vector2Int coords = default(Vector2Int);

            for (int i = 0; i < num; i++)
            {
                FightCellState cellState = stateProvider.GetCellState(i);
                int            num3      = sizeMin.get_x() + i % val.get_x();
                int            num4      = (i + num2 - num3) / val.get_x();
                coords._002Ector(num3, num4);
                CellState state;
                switch (cellState)
                {
                case FightCellState.None:
                    state = CellState.None;
                    break;

                case FightCellState.Movement:
                    state = CellState.Movement;
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
                grid[i] = new Cell(coords, state, null);
            }
        }