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

изменение лейблера и лейблов #13531

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

Conversation

AndroBetel
Copy link
Member

Описание изменений

переносит лейбл на компоненту, позволяет наносить максимум 1 лейбл, добавляет возможность его убирать.

Почему и что этот ПР улучшит

меньше раковых бесконечных имен, возможность убрать лейблы

Авторство

порт с маринов

Чеинжлог

🆑

  • tweak: Изменение лейблера - теперь можно убирать лейблы, нельзя наносить больше одного.

@TauKitty
Copy link
Contributor

TauKitty commented Sep 9, 2024

Changelog status: ✔️

@TauKitty TauKitty added the Tweak label Sep 9, 2024
Comment on lines +67 to +75
/datum/component/label/proc/apply_label()
var/atom/owner = parent
owner.name += " ([label_name])"

/// Removes the label from the parent's name
/datum/component/label/proc/remove_label()
var/atom/owner = parent
owner.name = replacetext(owner.name, "([label_name])", "") // Remove the label text from the parent's name, wherever it's located.
owner.name = trim(owner.name) // Shave off any white space from the beginning or end of the parent's name.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Задумка хорошая, реализация хромает. Это плохая компонента, в том смысле, что мы всё равно меняем оригинальный name - поведение не инкапсулировано. replacetext можно было бы и так в лейблере прописать, без оверхеда компоненты.

Если хочется именно компонентой, то беглым поиском нашел https://github.com/tgstation/tgstation/blob/master/code/datums/components/rename.dm

Еще меня смущает сам реплейстекст оригинального имени, скобки не только с лейблером могут быть связаны. С другой стороны, можно принять, что все скобки в названии по умолчанию это уже лейблы, и возможность зайти в начале раунда и "удалить" лейблы у всех плат могла бы быть фичей.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Как альтернатива тгшной компоненте, в компоненте можно было бы просто строку лейблов хранить, и выводить при examine объекта или в подсказках по наведению, не трогая name объекта.

Name объекта всё еще будет видно без лейблов в контекстном меню правого клика, но мы когда нибудь от него откажемся.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

хотя и в этом случае будет проще и лаконичнее добавить var/labels к объекту, чем городить компоненту.

@Naroke
Copy link

Naroke commented Sep 12, 2024

Увеличить бы допустимое количество символов в этикетке

Copy link

Данный ПР автоматически отмечен как застоявшийся по причине длительного отсутствия обновлений. Он будет закрыт через 7 дней, если никакой активности не будет проявлено. Если вы считаете, что ПР еще актуален, или что я (злобный робот) пристаю к вам зря - просто напишите любой комментарий. Спасибо за ваш вклад.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants