forked from space-syndicate/space-station-14
-
Notifications
You must be signed in to change notification settings - Fork 43
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
[PORT] Система обмена сообщениями в КПК #153
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Vonsant
requested review from
Tornado-Technology,
AwareFoxy and
FireNameFN
as code owners
December 12, 2024 11:04
github-actions
bot
added
S: Needs Review
ПРу необходим ревью
size/XL
Changes: Sprites
Changes: Localization
Изменяет локализацию
Changes: UI
S: Untriaged
labels
Dec 12, 2024
БЛЯ |
Я СЛУЧАЙНО |
Ладно, оно вроде как полностью рабочее. |
По крайней мере протестировано и всё работает. А ревью делали в оригинальном ПРе. |
Во имя отца, сына и святого СелфМерджа. Аминь. |
сообщения хранятся на карте 💀 |
AwareFoxy
added a commit
that referenced
this pull request
Dec 12, 2024
This reverts commit a95d724.
AwareFoxy
added a commit
that referenced
this pull request
Dec 12, 2024
Vonsant
added a commit
that referenced
this pull request
Dec 12, 2024
8 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Changes: Localization
Изменяет локализацию
Changes: Sprites
Changes: UI
S: Needs Review
ПРу необходим ревью
S: Untriaged
size/XL
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Описание PR
Этот PR добавляет в игру полноценную систему обмена сообщениями через КПК. Приложение NanoChat доступно всем раундстартом. Весь изначальный код принадлежит DeltaV-Station/Delta-v#2362 и является только локализованным портом.
Теперь каждой ID-карте присваевается свой уникальный, сгенерированный случайным образом, четырёхзначный номер. Этот номер будет использоваться как идентификатор для чата.
Чтобы добавить кого-то в список контактов, необходимо узнать у него его номер. После чего по этому номеру будет возможность добавить пользователя в свой список контактов. Номер также можно попробовать угадать, но там 9999 комбинаций, удачи.
Интерфейс приложения NanoChat состоит из двух частей:
Все сообщения хранятся непосредственно в ID-карте каждого участника переписки. Данные представлены в виде словарей: один для хранения информации о получателях (имя, должность, статус "прочитано/не прочитано"), и один для хранения самой истории сообщений. Важно отметить, что и у отправителя, и у получателя есть полная копия всей переписки.
Предусмотрены следующие ограничения:
Кроме того, зонд логов детектива получил возможность сканировать ID-карты и подключаться к их истории переписок NanoChat, что позволяет следить за чужой перепиской в реальном времени, включая список контактов и историю сообщений.
Дополнительно:
Почему / Баланс
Это весело.
Технические детали
NanoChatCardComponent
, который отвечает за хранение данных о чате на ID-картах.NanoChatCartridgeComponent
, который управляет интерфейсом чата в КПК.LogProbeCartridgeComponent
для логирования и отображения данных о чате через лог-проб.Медиа
Критические изменения
Content.Shared._CorvaxNext.NanoChat
.Content.Client._CorvaxNext.CartridgeLoader.Cartridges
.Content.Server._CorvaxNext.CartridgeLoader.Cartridges
.LogProbeUiState
вContent.Shared.CartridgeLoader.Cartridges
, для добавления поддержки NanoChat.AgentIDCardBoundUserInterfaceState
вContent.Shared.Access
, для добавления поддержки номера NanoChat.Список изменений
🆑