Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Настоящий фикс бага с длинными руками #215

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Vonsant
Copy link
Collaborator

@Vonsant Vonsant commented Jan 1, 2025

Описание PR

Никакого реверта. Надо фиксить. Проблема кроется в том, что при очень быстром вращении мыши, MouseRotatorComponent устанавливает GoalRotation на новое значение, пока предыдущий поворот ещё не завершен (не достигнут GoalRotation). В результате этого, MouseRotatorComponent не успевал сбросить компоненты MouseRotatorComponent и NoRotateOnMoveComponent, а TransformComponent не успевал обновитсья. При этом одновременно оставался MouseRotatorComponent и NoRotateOnMoveComponent, при этом первый продолжал выставлять поворот. Как-то так.

Почему / Баланс

Багфикс.

Технические детали

  • Функция SetMouseRotatorComponents в SharedCombatModeSystem.cs теперь принимает CombatModeComponent в качестве параметра, чтобы избежать лишнего запроса компонента.
  • В SetMouseRotatorComponents, когда IsInCombatMode устанавливается в true, компоненты MouseRotatorComponent и NoRotateOnMoveComponent добавляются последовательно, а не одновременно. Сначала добавляется MouseRotatorComponent с нужными параметрами и устанавливается поворот, а компонент NoRotateOnMoveComponent добавляется только после завершения поворота (когда GoalRotation становится null). Когда IsInCombatMode устанавливается в false мы сразу удаляем оба компонента.

Медиа

Критические изменения

  • Изменения в методе SetMouseRotatorComponents:

    • Метод теперь принимает параметр CombatModeComponent? comp, это необходимо для избежания повторного запроса компонента.
    • Изменена логика добавления компонентов. Теперь NoRotateOnMoveComponent добавляется только когда GoalRotation становится null.
    • Удаление компонентов MouseRotatorComponent и NoRotateOnMoveComponent происходит одновременно, без условий.
  • Изменения в методе OnShutdown:

    • Теперь в метод SetMouseRotatorComponents передается второй параметр - компонент.

Список изменений

🆑

  • fix: Пофикшен баг с длинными руками.

@github-actions github-actions bot added size/XS S: Needs Review ПРу необходим ревью S: Untriaged labels Jan 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S: Needs Review ПРу необходим ревью S: Untriaged size/XS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant