Пишу игру на XNA. В классе Level имеются сущности простенького класса GameElement:
public class GameElement
{
private Texture2D texture;
private Rectangle rectangle;
public Rectangle ElementRectangle
{
set
{
if (rectangle != value)
{
rectangle = value;
}
}
get
{
return rectangle;
}
}
public Texture2D ElementTexture
{
set
{
if (texture != value)
{
texture = value;
}
}
get
{
return texture;
}
}
}
Часть класса Level:
public class Level
{
...
private GameElement ball;
private GameElement platform;
private GameElement[] blocks;
...
public void HandlingGameLogic()
{
if (!is_ball_stopped)
{
// пример попытки изменить координаты мяча
// вот здесь студия говорит, что нельзя
// менять значения ElementRectangle, ибо это не переменная
// дословно: cannot modify return value of ... because it is not a variable
ball.ElementRectangle.X += (int)(3.5f);
ball.ElementRectangle.Y += (int)(3.5f);
}
else
{
}
}
...
}
Подскажите - в чем проблема?