-
Notifications
You must be signed in to change notification settings - Fork 91
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
Автоматические доступы, что выдаются в зависимости от кода станции #1004
Conversation
Может ли агент скопировать доступы через агентскую карту что были выданы таким способом через код станции? |
public string CurrentAlertLevel; | ||
|
||
[DataField("redAlertAccesses")] | ||
public ProtoId<AlertAccessesPrototype> RedAlertAccesses; |
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.
Что это за пиздец, зачем сколько переменных здесь, создай просто Dict<уровень, доступы> и прописывай его через прототипы.
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.
ready
/// Defines a single access level that can be stored on ID cards and checked for. | ||
/// </summary> | ||
[Prototype("alertAccessesPrototype")] | ||
public sealed partial class AlertAccessesPrototype : IPrototype |
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.
удалил
id: SecurityRedAlertAccesses | ||
access: | ||
- Engineer | ||
- Command |
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.
Почему так мало доступов расширяется? РНД? Медбей? Карго которое уже заказало 20 ящиков пушек?
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.
это для теста пока, потом дополню
не сможет |
@VigersRay глянь систему. Если все ок добавлю доступы на прототипы шлюзов |
Я проверил, оно работает, вот только вопрос в моем щиткоде. Мб усовершенствовать что-то нужно |
if (alerts.AlertLevels == null) | ||
return; | ||
|
||
if (alerts.CurrentLevel.Contains("blue")) |
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.
готово
public Dictionary<CurrentAlertLevel, ProtoId<AccessGroupPrototype>> AlertAccesses { get; set; } = new(); | ||
|
||
[Flags] | ||
public enum CurrentAlertLevel : byte |
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.
Зачем данный enum? Эти доступы уже существуют в игре прототипами.
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.
я не могу их добавить в дикт потому что станционные коды на сервере написаны
перенеси их в шейред...
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.
вроде енум не сильно бьет по оптимизации
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.
я не могу их добавить в дикт потому что станционные коды на сервере написаны
перенеси их в шейред...
не выйдет, я проверял. Тогда ловишь фантомную ошибку о том что нет прототипа с таким Типом и айди. Да и в целом плохая затея
ну это бред, если оффы новый код добавлять в прототипы надо сразу пиздовать и тут его добавлять. В чем проблема заюзать enumeratePrototypes?
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.
а зачем новый код, если все из 13 уже перенесены
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.
а зачем новый код, если все из 13 уже перенесены
оффы могут новые коды добавить
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.
та забей и замерджи уже, даже если добавят там всего 2 строки добавлять
if (comp.AlertAccesses.Count == 0) | ||
continue; | ||
|
||
Update((uid, reader)); |
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.
данная система уникальная и может не только на двери работать. Залог на будущие возможные приколы
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.
По проверкам я сделал так что оно проверяет только те AccessReader`ы, в которых есть значения AlertAccesses. То есть пока в прототипе не пропишешь апдейт проводиться не будет
и почему линтер ругается |
Changelog
🆑 kanopus7