Ремонтник: в «Содержимом» урны ячейка с недостающим материалом и «!»
Пока ремонтник ждёт материал, под блоком лимита урн видна ячейка: иконка материала, сколько доложить в ящики с нитями, красный «!» и подпись. Только показ, не ячейка сумки. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c208e3b9f9
commit
7452eba0d9
@@ -187,6 +187,7 @@ necroCinerariumTrunk,UI,XUI,,,,Contents,,Inhalt,Contenido,Contenu,Contenuto,中
|
||||
necroCinerariumPlaced,UI,XUI,,,,Cineraria placed: {0},,Aufgestellte Cinerarien: {0},Cinerarios colocados: {0},Cinéraires posés : {0},Cinerari posati: {0},設置した骨壺:{0},설치한 유골함: {0},Postawione cineraria: {0},Cinerários colocados: {0},Всего цинерариев: {0},Kurulan küllükler: {0},已放置骨灰瓮:{0},已放置骨灰甕:{0}
|
||||
necroCinerariumAvailable,UI,XUI,,,,Available to place: {0},,Noch aufstellbar: {0},Disponibles para colocar: {0},Encore disponibles : {0},Ancora disponibili: {0},まだ置ける骨壺:{0},더 설치 가능: {0},Można jeszcze postawić: {0},Ainda disponíveis: {0},Доступно цинерариев: {0},Daha kurulabilir: {0},还可放置:{0},還可放置:{0}
|
||||
necroCinerariumNext,UI,XUI,,,,One more unlocks after {0} more dead put to rest,,Eine weitere nach {0} weiteren zur Ruhe gebrachten Toten,Otra más tras dar descanso a {0} muertos más,Une de plus après {0} morts de plus mis au repos,Un'altra dopo aver messo a riposo altri {0} morti,あと{0}体の死者を眠らせると、もう1つ置ける,망자를 {0}명 더 안식시키면 하나 더 열린다,Kolejne po ukojeniu jeszcze {0} zmarłych,Mais uma após pôr em descanso mais {0} mortos,До разблокировки ещё одного: упокоить {0},{0} ölü daha huzura erdirince bir tane daha,再让{0}名死者安息即可解锁下一座,再讓{0}名死者安息即可解鎖下一座
|
||||
necroCinerariumRepairNeed,UI,XUI,,,,"Not enough for repairs - put it in a box with a thread to the urn",,"Fehlt für Reparaturen - in eine Kiste mit Faden zur Urne legen","Falta para reparar: ponlo en un cofre con hilo a la urna","Manque pour réparer - mettez-le dans un coffre relié à l'urne","Manca per le riparazioni: mettilo in una cassa con filo verso l'urna",修理に足りない - 骨壺と糸でつながった箱に入れる,수리에 부족함 - 유골함과 실로 이어진 상자에 넣기,"Brakuje do napraw - włóż do skrzyni z nicią do urny","Falta para reparos - coloque num baú com fio até a urna","Не хватает для ремонта - положите в ящик с нитью к урне","Onarım için eksik - urneye iplikle bağlı sandığa koyun",修理所缺 - 放进与骨灰瓮有丝线相连的箱子,修理所缺 - 放進與骨灰甕有絲線相連的箱子
|
||||
blockcommand_TEFeatureCinerarium:bounds_show,blocks,Block,,,,Show Zone,,Zone anzeigen,Mostrar zona,Afficher la zone,Mostra zona,範囲を表示,구역 표시,Pokaż strefę,Mostrar zona,Показать зону,Bölgeyi göster,显示区域,顯示區域
|
||||
blockcommand_bounds_show,blocks,Block,,,,Show Zone,,Zone anzeigen,Mostrar zona,Afficher la zone,Mostra zona,範囲を表示,구역 표시,Pokaż strefę,Mostrar zona,Показать зону,Bölgeyi göster,显示区域,顯示區域
|
||||
blockcommand_TEFeatureCinerarium:bounds_hide,blocks,Block,,,,Hide Zone,,Zone ausblenden,Ocultar zona,Masquer la zone,Nascondi zona,範囲を非表示,구역 숨기기,Ukryj strefę,Ocultar zona,Скрыть зону,Bölgeyi gizle,隐藏区域,隱藏區域
|
||||
|
||||
|
@@ -282,6 +282,19 @@
|
||||
<label depth="7" name="next" pos="10,-50" width="404" height="22" font_size="20" color="200,200,205" />
|
||||
</rect>
|
||||
</append>
|
||||
<!-- Чего не хватает ремонтнику (24.10.2026): ячейка с материалом и «!» под блоком лимита урн, только показ
|
||||
(HarmonySrc/CinerariumRepairNeed.cs). -->
|
||||
<append xpath="/windows/window[@name='windowBagStorage']">
|
||||
<rect name="necroRepairNeed" pos="87,-132" width="420" height="75" depth="6" controller="NecromancerTome.NecroRepairNeed, NecromancerHarmony">
|
||||
<sprite depth="6" pos="0,0" width="420" height="75" color="0,0,0,190" sprite="menu_empty2px" type="sliced" />
|
||||
<sprite depth="7" pos="0,0" width="75" height="75" sprite="menu_empty3px" color="[black]" type="sliced" fillcenter="false" />
|
||||
<sprite depth="7" pos="2,-2" width="71" height="71" sprite="menu_empty3px" color="200,40,40,255" type="sliced" fillcenter="false" />
|
||||
<sprite depth="8" name="icon" pos="37,-37" width="64" height="64" atlas="ItemIconAtlas" pivot="center" foregroundlayer="true" />
|
||||
<label depth="9" name="excl" pos="5,-1" width="20" height="34" font_size="34" color="230,40,40,255" text="!" effect="outline" />
|
||||
<label depth="9" name="count" pos="4,-50" width="66" height="22" font_size="22" justify="right" color="[white]" effect="outline" />
|
||||
<label depth="7" pos="85,-14" width="330" height="48" font_size="20" color="[white]" text_key="necroCinerariumRepairNeed" />
|
||||
</rect>
|
||||
</append>
|
||||
<!-- Вкладка «Некромантия» (ui_display.xml): в рюкзаке и на верстаке 10 вкладок вместо 9 - шаг значков 43 -> 39, значки прежние (28). -->
|
||||
<set xpath="/windows/window[@name='windowCraftingList']//grid[@name='categories']/@cols">10</set>
|
||||
<set xpath="/windows/window[@name='windowCraftingList']//grid[@name='categories']/@cell_width">39</set>
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Scripting;
|
||||
|
||||
namespace NecromancerTome
|
||||
{
|
||||
/// <summary>
|
||||
/// Чего не хватает ремонтнику (24.10.2026, пользователь: «сделать в его урне блок текста, который показывает какой материал
|
||||
/// нужен в данный момент? А то не угадать», «Пусть показывает в виде ячейки с материалом», «И восклицательный знак. Чтобы
|
||||
/// было понятно что именно это требуется»). Ячейка дописана в окно игры windowBagStorage (Config/XUi_InGame/windows.xml)
|
||||
/// под блоком лимита урн: иконка материала, сколько доложить в ящики с нитями, красный «!». Только показ - не ячейка
|
||||
/// сумки, взять из неё нечего. Видна у ремонтника, пока он ждёт материал (TEFeatureCinerarium.LackType/LackCount).
|
||||
/// </summary>
|
||||
[Preserve]
|
||||
public class XUiC_NecroRepairNeed : XUiController
|
||||
{
|
||||
XUiV_Sprite _icon;
|
||||
XUiV_Label _count;
|
||||
float _nextRefresh;
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
_icon = GetChildById("icon")?.ViewComponent as XUiV_Sprite;
|
||||
_count = GetChildById("count")?.ViewComponent as XUiV_Label;
|
||||
}
|
||||
|
||||
public override void OnOpen()
|
||||
{
|
||||
base.OnOpen();
|
||||
_nextRefresh = 0f;
|
||||
Refresh();
|
||||
}
|
||||
|
||||
public override void Update(float _dt)
|
||||
{
|
||||
base.Update(_dt);
|
||||
if (Time.time >= _nextRefresh)
|
||||
{
|
||||
Refresh();
|
||||
}
|
||||
}
|
||||
|
||||
void Refresh()
|
||||
{
|
||||
_nextRefresh = Time.time + 0.5f;
|
||||
TEFeatureCinerarium urn = CinerariumContents.Urn;
|
||||
ItemClass ic = urn != null && urn.IsRepairer && urn.ZoneLacking && urn.LackType > 0 ? ItemClass.GetForId(urn.LackType) : null;
|
||||
ViewComponent.IsVisible = ic != null;
|
||||
if (ic == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (_icon != null)
|
||||
{
|
||||
_icon.SpriteName = ic.GetIconName();
|
||||
_icon.Color = ic.GetIconTint();
|
||||
}
|
||||
if (_count != null)
|
||||
{
|
||||
_count.Text = urn.LackCount.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -75,6 +75,9 @@ namespace NecromancerTome
|
||||
public int ZonePressedBy = -1;
|
||||
/// <summary>Не хватает материалов / ящик полон - кнопка мигает жёлтым.</summary>
|
||||
public bool ZoneLacking;
|
||||
/// <summary>Ремонтник: какого материала и сколько не хватило последней проверке (ячейка в «Содержимом»,
|
||||
/// XUiC_NecroRepairNeed). Не сохраняется.</summary>
|
||||
public int LackType, LackCount;
|
||||
|
||||
public static float RepairSeconds = 2.5f;
|
||||
public static float LootSeconds = 1.5f;
|
||||
@@ -403,6 +406,8 @@ namespace NecromancerTome
|
||||
}
|
||||
if (have < n)
|
||||
{
|
||||
LackType = iv.type;
|
||||
LackCount = n - have;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user