Чтобы внести изменения в класс View, можно передать ссылку на весь класс view в класс Game, где вы вносите изменения в массив gameGrid.
Затем вы можете вызвать view.invalidate (), чтобы перерисовать вашу сетку при обновлении массива.invalidate () вызовет метод onDraw () класса представления снова.
Вы можете передать ссылку на представление внутри конструктора вашего игрового класса-
MyGameView mView;
public Game(MyGameView view)
{
mView=view;
...
}
Или создайте метод внутри класса Game для установки значения mView после создания вашего представления -
public void setViewReference(MyGameView view)
{
mView=view;
}
Теперь создайте открытый метод внутри вашего класса View, который будет получать обновленный массив и перерисовывать всю сеткуснова -
public void update(int [][] updatedGameGrid) //Assuming the array is int. Change the datatype is its not an int array
{
gameGrid=updatedGameGrid; //Here gameGrid is the array inside your view class
invalidate(); // Redraw the entire View (grid) again by calling onDraw()
}
Теперь в вашем классе Game вы можете обновить массив и передать его в класс представления
public void update()
{
... //Place you code to update the gameGrid array
mView.update(gameGrid); //Pass the array to view class
}