-
Notifications
You must be signed in to change notification settings - Fork 34
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
mom get the camera #141
mom get the camera #141
Conversation
WalkthroughВ данном запросе на изменение обновлен класс Changes
Suggested reviewers
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Outside diff range and nitpick comments (1)
Content.Shared/CombatMode/CombatModeComponent.cs (1)
53-63
: Несоответствие в именовании свойства и документацииВ XML документации используется
MouseRotatorComponent.AngleTolerance
, но в коде свойство названо какsmoothRotation
. Рекомендуется придерживаться единого стиля именования.- public bool SmoothRotation = true; + public bool smoothRotation = true;Также рекомендуется убрать конкретную дату из документации, так как она может устареть:
- /// to false when the owner enters combatmode. This is currently being tested as of 06.12.24, + /// to false when the owner enters combatmode. This feature is currently being tested,
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (3)
Content.Shared/CombatMode/CombatModeComponent.cs
(1 hunks)Content.Shared/CombatMode/SharedCombatModeSystem.cs
(1 hunks)Content.Shared/MouseRotator/MouseRotatorComponent.cs
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- Content.Shared/MouseRotator/MouseRotatorComponent.cs
🔇 Additional comments (1)
Content.Shared/CombatMode/SharedCombatModeSystem.cs (1)
96-96
: Проверить влияние на производительность
Необходимо убедиться, что частое изменение AngleTolerance
не создаст проблем с производительностью при большом количестве сущностей в боевом режиме.
✅ Verification successful
Let me analyze the usage of AngleTolerance
to understand its performance implications. I'll check how it's used in the rotation system.
Изменение AngleTolerance безопасно с точки зрения производительности
На основе анализа кода можно сделать следующие выводы:
MouseRotatorComponent
добавляется только при входе в боевой режим и удаляется при выходе- Проверка
AngleTolerance
происходит в системе обновления только для активных сущностей с этим компонентом - Компонент используется избирательно и не применяется массово ко всем сущностям
- Сама проверка угла является легковесной операцией (простое сравнение)
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Поиск других мест использования AngleTolerance для оценки влияния
rg "AngleTolerance" -A 3
Length of output: 3044
Script:
#!/bin/bash
# Поиск системы обработки вращения для понимания частоты обновления
ast-grep --pattern 'class MouseRotatorSystem : EntitySystem {
$$$
Update($_) {
$$$
}
$$$
}'
# Поиск компонентов с MouseRotator для понимания масштаба использования
rg "AddComponent.*MouseRotator" -A 2
Length of output: 144
Script:
#!/bin/bash
# Поиск обновления состояния вращения в системах
rg "Update.*MouseRotator" -A 5
# Поиск использования MouseRotator в других системах
ast-grep --pattern 'class $_ : $_ {
$$$
MouseRotator$_ {
$$$
}
$$$
}'
Length of output: 116
Script:
#!/bin/bash
# Поиск методов обновления в системах вращения
rg "public.*Update.*\(" -A 3 "Content.Client/MouseRotator/MouseRotatorSystem.cs" "Content.Shared/MouseRotator/SharedMouseRotatorSystem.cs"
# Поиск использования компонента MouseRotator
rg "MouseRotatorComponent" -A 3
Length of output: 6522
var rot = EnsureComp<MouseRotatorComponent>(uid); | ||
if (TryComp<CombatModeComponent>(uid, out var comp) && comp.smoothRotation) // no idea under which (intended) circumstances this can fail (if any), so i'll avoid Comp<>(). | ||
{ | ||
rot.AngleTolerance = Angle.FromDegrees(1); // arbitrary | ||
rot.Simple4DirMode = false; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Рекомендации по улучшению кода
- Магическое число
1
дляAngleTolerance
следует вынести в константу. - Комментарий о проверке компонента можно сформулировать более профессионально.
- Паттерн проверки компонента можно упростить.
Предлагаемые изменения:
+ private const float SMOOTH_ROTATION_ANGLE_TOLERANCE = 1f;
+
private void SetMouseRotatorComponents(EntityUid uid, bool value)
{
if (value)
{
var rot = EnsureComp<MouseRotatorComponent>(uid);
- if (TryComp<CombatModeComponent>(uid, out var comp) && comp.smoothRotation) // no idea under which (intended) circumstances this can fail (if any), so i'll avoid Comp<>().
+ // Apply smooth rotation settings if enabled in combat mode
+ if (CompOrNull<CombatModeComponent>(uid) is { smoothRotation: true } comp)
{
- rot.AngleTolerance = Angle.FromDegrees(1); // arbitrary
+ rot.AngleTolerance = Angle.FromDegrees(SMOOTH_ROTATION_ANGLE_TOLERANCE);
rot.Simple4DirMode = false;
}
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
var rot = EnsureComp<MouseRotatorComponent>(uid); | |
if (TryComp<CombatModeComponent>(uid, out var comp) && comp.smoothRotation) // no idea under which (intended) circumstances this can fail (if any), so i'll avoid Comp<>(). | |
{ | |
rot.AngleTolerance = Angle.FromDegrees(1); // arbitrary | |
rot.Simple4DirMode = false; | |
} | |
private const float SMOOTH_ROTATION_ANGLE_TOLERANCE = 1f; | |
private void SetMouseRotatorComponents(EntityUid uid, bool value) | |
{ | |
if (value) | |
{ | |
var rot = EnsureComp<MouseRotatorComponent>(uid); | |
// Apply smooth rotation settings if enabled in combat mode | |
if (CompOrNull<CombatModeComponent>(uid) is { smoothRotation: true } comp) | |
{ | |
rot.AngleTolerance = Angle.FromDegrees(SMOOTH_ROTATION_ANGLE_TOLERANCE); | |
rot.Simple4DirMode = false; | |
} | |
} |
@RedFoxIV слушай кролика он умный |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Добавь код марки // WD EDIT
а где нахуй мой комментарий |
/// No effect if <see cref="ToggleMouseRotator"/> is false. | ||
/// </remarks> | ||
[DataField, AutoNetworkedField] | ||
public bool SmoothRotation = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
я бы сюда вместо bool сунула напрямую угол. Типа public float RotationSmoothingMargin = 1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
идея была в том, чтобы была возможность выключить фичу прямо в прототипах, если что-то пойдёт не так
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
идея была в том, чтобы была возможность выключить фичу прямо в прототипах, если что-то пойдёт не так
блять ну ладно поухй окроче
в следующий раз получится насрать мне на шапку, не переживай |
@@ -1,4 +1,4 @@ | |||
using System.Numerics; | |||
using System.Numerics; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
иди проверяй @Spatison и мержи если все заебись |
Я твои руки целовал |
Описание PR
smoothrot.webm
Чтобы выключить в прототипе:
smoothRotation = false
вCombatMode
. Дефолт пока что true.🆑