Conversation
Changelog status: ✔️ |
Надо наверное глянуть, если подобное на других билдах. Мб уже в core tgui это пофиксили. |
Свежий tgui работает на React'е, поэтому там диммер напрямую из него используется. Хз, где ещё стоит искать, кроме самого tgstation. |
Ну я могу только предложить костыль который мб сработает. Хз поможет ли. |
Хорошая идея, спасибо. Но не сработала. Секциям scrollable почему-то просто добавляет неактивный скролл-бар, который никогда и ни при каких обстоятельствах не активируется. |
|
Я балда, короче, надо было диммер запихивать внутрь Window, а не в Window.Content. |
|
Ну всё, пора |
|
Я не понимаю, почему дифф такой огромный, я не так много менял в dna_modifier.dm 😕 |
| const { | ||
| selectedMenuKey, | ||
| hasOccupant, | ||
| isInjectorReady, | ||
| hasDisk, | ||
| disk, | ||
| buffers, | ||
| radiationIntensity, | ||
| radiationDuration, | ||
| irradiating, | ||
| dnaBlockSize, | ||
| selectedUIBlock, | ||
| selectedUISubBlock, | ||
| selectedSEBlock, | ||
| selectedSESubBlock, | ||
| selectedUITarget, | ||
| selectedUITargetHex, | ||
| occupant, | ||
| isBeakerLoaded, | ||
| beakerLabel, | ||
| beakerVolume, | ||
| beakerMaxVolume, | ||
| injectAmount, | ||
| } = data; |
There was a problem hiding this comment.
слишком дофига данных, разделил бы хоть на подобъедки
There was a problem hiding this comment.
Приведи пример, пожалуйста, я не очень силён в работе с данными в tgui.
There was a problem hiding this comment.
со стороны бульонда
dmTguiList["selectedSE"] = new list(
"block" = selectedSEBlock,
"subBlock" = selectedSESubBlock,
)
со стороны тгуи
const { selectedSE } = data;
console.log(selectedSE.block);
There was a problem hiding this comment.
глянь пример в CrewMonitor, я там на под объедки делил
|
слишком большой файл и слишком здоровый switch, мог бы отдельные табы как отдельные компоненты сделать |
| ui.set_initial_data(data) | ||
| // open the new ui window | ||
|
|
||
| ui = SStgui.try_update_ui(user, src, ui) |
There was a problem hiding this comment.
проверки перенести в tgui_state
| if (selected_ui_target < 16 && selected_ui_target >= 0) | ||
| switch(selected_ui_target) | ||
| if(10) | ||
| selected_ui_target_hex = "A" | ||
| if(11) | ||
| selected_ui_target_hex = "B" | ||
| if(12) | ||
| selected_ui_target_hex = "C" | ||
| if(13) | ||
| selected_ui_target_hex = "D" | ||
| if(14) | ||
| selected_ui_target_hex = "E" | ||
| if(15) | ||
| selected_ui_target_hex = "F" | ||
| else | ||
| selected_ui_target_hex = selected_ui_target |
There was a problem hiding this comment.
а нельзя со стороны клиента уже цифру в виде hex отправлять?
There was a problem hiding this comment.
Перенастроить NumberInput, чтобы он сразу возвращал hex, нельзя (или я не знаю способа). Только писать новый UI, элемент, чего я делать не буду. А просто конвертировать через такой же страшный свитч можно, наверное, но я не понимаю, почему этим должен клиент заниматься.
There was a problem hiding this comment.
Чтобы особенности реализации интерфейса остались в коде самого интерфейса, а код бульондовский об интерфейсе ничего не знал кроме как инпутов аутпутов, разделение бизнес логики от логики отображения, умные слова бла бла бла, имхо конвертация это ответственность клиента, ну лан пох
| {!!disk.data && !!hasDisk && ( | ||
| <LabeledList.Item label="Label"> | ||
| {disk.label} | ||
| </LabeledList.Item> | ||
| )} | ||
| {!!disk.data && !!hasDisk && ( | ||
| <LabeledList.Item label="Subject"> | ||
| {disk.owner ? disk.owner : 'Unknown'} | ||
| </LabeledList.Item> | ||
| )} | ||
| {!!disk.data && !!hasDisk && ( | ||
| <LabeledList.Item label="Stored data"> | ||
| {disk.type === 'ui' | ||
| ? 'Unique identifier' | ||
| : 'Structural enzymes'} | ||
| {disk.ue ? ' + unique enzymes' : ''} | ||
| </LabeledList.Item> | ||
| )} |
There was a problem hiding this comment.
три одинаковых проверки на disk.data и hasDisk
|
доверяю аирблеку, делой |
| irradiating = radiation_duration | ||
| var/lock_state = connected.locked | ||
| connected.locked = TRUE//lock it | ||
| SStgui.try_update_ui(ui.user, src, ui) // update all UIs attached to src |
There was a problem hiding this comment.
По дефолту autoupdate у тгуи включено, я думаю это не нужно тут
| SStgui.try_update_ui(ui.user, src, ui) // update all UIs attached to src | ||
|
|
||
| sleep(radiation_duration SECONDS) | ||
| sleep(radiation_duration SECONDS) |
There was a problem hiding this comment.
Было бы круче без слипа тут, но ок
There was a problem hiding this comment.
Это старый код, который я особо не трогал, просто переносил в другие места. Спустя два месяца вникать заново и думать над его рефактором мне, мягко говоря, не охота.
я так, краем глаза прошелся, не вчитывался не полноценно ревувал короч |
|
Я когда-нибудь потом займусь, пока не закрывайте. |
|
Данный ПР автоматически отмечен как застоявшийся по причине длительного отсутствия обновлений и обсуждения. Он будет закрыт через 7 дней, если никакой активности не будет проявлено. Если вы считаете, что ПР еще актуален, или что я (злобный робот) пристаю к вам зря - просто напишите любой комментарий. Попробуйте связаться с мейнтейнерами, если они по какой-то причине игнорируют ПР, или у вас есть вопросы. Спасибо за ваш вклад. |
1 similar comment
|
Данный ПР автоматически отмечен как застоявшийся по причине длительного отсутствия обновлений и обсуждения. Он будет закрыт через 7 дней, если никакой активности не будет проявлено. Если вы считаете, что ПР еще актуален, или что я (злобный робот) пристаю к вам зря - просто напишите любой комментарий. Попробуйте связаться с мейнтейнерами, если они по какой-то причине игнорируют ПР, или у вас есть вопросы. Спасибо за ваш вклад. |
|
ПР закрыт из-за длительного отсуствия активности. Для переоткрытия ПРа, пожалуйста, обратитесь к кому-либо из мейнтейнеров. Вы можете призвать их в комментарии слапнув |
|
Данный ПР автоматически отмечен как застоявшийся по причине длительного отсутствия обновлений и обсуждения. Он будет закрыт через 7 дней, если никакой активности не будет проявлено. Если вы считаете, что ПР еще актуален, или что я (злобный робот) пристаю к вам зря - просто напишите любой комментарий. Попробуйте связаться с мейнтейнерами, если они по какой-то причине игнорируют ПР, или у вас есть вопросы. Спасибо за ваш вклад. |


Описание изменений
Расписывать нечего, скрины ниже. Может быть попутно случайно или специально пофиксил какие-то мелкие баги, но я не помню.
Скрины
1

2

3

4

5

6

7

8

Ещё нужно поправить некоторые мелочи, но закинул в виде драфта. Пусть будет, может кто-то накинет толкового фидбека по поводу внешнего вида интерфейса или кодстайла. По последнему вообще очень нужны дельные замечания, т.к. читаемость кода в js файле оставляет желать лучшего.
Почему и что этот ПР улучшит
Ещё одним nanoUI интерфейсом меньше.
Авторство
Я
Чеинжлог
🆑 TEXHAPb