Использование свойства для установки свойства другого объекта, плохая практика? - PullRequest
0 голосов
/ 08 ноября 2018

Примечания:

  • 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.

Реальный вопрос : Моя собственность Позиция получает и настраивает другое свойство из другого класса. Это плохая практика?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...