Примечания:
- Unity3D = Движок игры.
- GameObject = Любая сущность в игровом мире.
- transform = класс, используемый для изменения масштаба, положения и поворота GameObject.
Итак, я работаю над игрой с Unity3D . Я создал класс, который при добавлении к любому GameObject дает ему возможность перемещаться по экрану.
Теперь, поскольку это не специфичный для Unity3D вопрос, а скорее вопрос на C #, он принадлежит здесь, введение, приведенное выше, просто для того, чтобы упростить понимание и привести примеры.
Эта часть класса, которая вызывает у меня сомнения, - вот эта, остальное не имеет значения.
public Vector3 Position
{
get
{
return transform.position;
}
set
{
transform.position = value;
CallPositionChangedEvent();
}
}
public Action<Vector3> PositionChanged;
private void CallPositionChangedEvent()
{
if (PositionChanged != null)
PositionChanged.Invoke(Position);
}
transform.position - это свойство, которое есть у каждого GameObject.
Реальный вопрос : Моя собственность Позиция получает и настраивает другое свойство из другого класса. Это плохая практика?