zc
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -5,7 +5,10 @@
|
||||
<ARA_FluxMode_Quality>品质</ARA_FluxMode_Quality>
|
||||
<ARA_FluxMode_Balance>平衡</ARA_FluxMode_Balance>
|
||||
<ARA_FluxMode_Speed>速度</ARA_FluxMode_Speed>
|
||||
|
||||
<ARA_FluxMode_Manual_Desc>手动调节活性值</ARA_FluxMode_Manual_Desc>
|
||||
<ARA_FluxMode_Quality_Desc>低活性,追求高品质产出</ARA_FluxMode_Quality_Desc>
|
||||
<ARA_FluxMode_Balance_Desc>自动调节,在速度和品质间取得平衡</ARA_FluxMode_Balance_Desc>
|
||||
<ARA_FluxMode_Speed_Desc>高活性,以最高速度进行生产</ARA_FluxMode_Speed_Desc>
|
||||
<!-- 消息 -->
|
||||
<ARA_Msg_QueueFull>队列已满!</ARA_Msg_QueueFull>
|
||||
<ARA_Msg_LarvaWorking>已有幼虫正在工作中,请等待完成</ARA_Msg_LarvaWorking>
|
||||
@@ -15,6 +18,10 @@
|
||||
<ARA_Msg_LarvaCannotAccept>幼虫无法接受任务</ARA_Msg_LarvaCannotAccept>
|
||||
<ARA_Msg_NoIncubationOptions>没有可用的孵化选项(检查 CompIncubatorData 配置)</ARA_Msg_NoIncubationOptions>
|
||||
<ARA_Msg_NoProducibleItems>没有可生产的物品(检查建筑是否正确配置)</ARA_Msg_NoProducibleItems>
|
||||
<ARA_Msg_IncubatorBrokenQualityZero>制造舱因品质归零而损坏!</ARA_Msg_IncubatorBrokenQualityZero>
|
||||
<ARA_Msg_IncubationCancelled>孵化已取消。</ARA_Msg_IncubationCancelled>
|
||||
<ARA_Msg_IncubationComplete>孵化完成: {0}</ARA_Msg_IncubationComplete>
|
||||
<ARA_Msg_IncubationStarted>孵化开始: {0}</ARA_Msg_IncubationStarted>
|
||||
|
||||
<!-- 品质等级 -->
|
||||
<ARA_Quality_Legendary>传奇</ARA_Quality_Legendary>
|
||||
@@ -27,6 +34,21 @@
|
||||
<!-- 状态文本 -->
|
||||
<ARA_Status_Waiting>等待中</ARA_Status_Waiting>
|
||||
<ARA_Status_WaitingForLarva>等待幼虫</ARA_Status_WaitingForLarva>
|
||||
<ARA_Status_Ready>就绪 - 点击选择目标</ARA_Status_Ready>
|
||||
<ARA_Status_Incubating>正在孵化: {0}</ARA_Status_Incubating>
|
||||
<ARA_Status_LarvaActivating>幼虫激活中...</ARA_Status_LarvaActivating>
|
||||
<ARA_Status_LarvaOnTheWay>幼虫赶路中...</ARA_Status_LarvaOnTheWay>
|
||||
<ARA_Status_Target>目标: {0}</ARA_Status_Target>
|
||||
<ARA_Status_Progress>进度: {0}</ARA_Status_Progress>
|
||||
<ARA_Status_CurrentFlux>当前活性: {0}</ARA_Status_CurrentFlux>
|
||||
<ARA_Status_IncubationSpeed>孵化速度: {0}x</ARA_Status_IncubationSpeed>
|
||||
<ARA_Status_Efficiency>效率</ARA_Status_Efficiency>
|
||||
<ARA_Status_Speed>速度</ARA_Status_Speed>
|
||||
<ARA_Status_Mode>模式: {0}</ARA_Status_Mode>
|
||||
<ARA_Status_DormantWarning>⚠ 休眠中,品质下降!</ARA_Status_DormantWarning>
|
||||
<ARA_Status_RemainingTime>剩余时间: {0} 天</ARA_Status_RemainingTime>
|
||||
<ARA_Status_SpeedAndQuality>速度: {0} | 质量: {1}</ARA_Status_SpeedAndQuality>
|
||||
<ARA_Status_Speed>速度: {0}</ARA_Status_Speed>
|
||||
|
||||
<!-- 检查面板 -->
|
||||
<ARA_Inspect_Orders>订单: {0} / {1}</ARA_Inspect_Orders>
|
||||
@@ -43,6 +65,15 @@
|
||||
<ARA_Gizmo_LarvaWorkingDesc>一只幼虫正在操作孵化器(还有{0}个订单等待)</ARA_Gizmo_LarvaWorkingDesc>
|
||||
<ARA_Gizmo_LarvaActivating>幼虫激活中</ARA_Gizmo_LarvaActivating>
|
||||
<ARA_Gizmo_LarvaOnTheWay>幼虫赶路中</ARA_Gizmo_LarvaOnTheWay>
|
||||
<ARA_Gizmo_SpeedFactors>速度因子</ARA_Gizmo_SpeedFactors>
|
||||
<ARA_Gizmo_QualityFactors>质量因子</ARA_Gizmo_QualityFactors>
|
||||
<ARA_Gizmo_TotalSpeedMultiplier>总速度倍率: {0}</ARA_Gizmo_TotalSpeedMultiplier>
|
||||
<ARA_Gizmo_TotalQualityMultiplier>总质量倍率: {0}</ARA_Gizmo_TotalQualityMultiplier>
|
||||
<ARA_Gizmo_NeutronFlux_Title>活性强度</ARA_Gizmo_NeutronFlux_Title>
|
||||
<ARA_Gizmo_NeutronFlux_TooltipTitle>【孵化活性控制】</ARA_Gizmo_NeutronFlux_TooltipTitle>
|
||||
<ARA_Gizmo_NeutronFlux_CoreMechanic>▸ 活性越高 → 孵化越快\n▸ 活性越低 → 品质越高</ARA_Gizmo_NeutronFlux_CoreMechanic>
|
||||
<ARA_Gizmo_NeutronFlux_Operations>点击拖动调节 | 右上角切换模式</ARA_Gizmo_NeutronFlux_Operations>
|
||||
<ARA_Gizmo_CallLarvaActivationDesc>呼叫幼虫激活制造舱\n\n目标: {0}</ARA_Gizmo_CallLarvaActivationDesc>
|
||||
|
||||
<!-- 菜单 -->
|
||||
<ARA_Menu_SelectIncubationTarget>选择孵化目标</ARA_Menu_SelectIncubationTarget>
|
||||
@@ -64,7 +95,11 @@
|
||||
<ARA_Tooltip_Ready>【就绪】</ARA_Tooltip_Ready>
|
||||
<ARA_Tooltip_Target>目标: </ARA_Tooltip_Target>
|
||||
<ARA_Tooltip_IncubationTime>孵化时间: {0} 天</ARA_Tooltip_IncubationTime>
|
||||
<ARA_Tooltip_Quality>品质: {0} ({1})</ARA_Tooltip_Quality>
|
||||
<ARA_Tooltip_Progress>进度: {0}</ARA_Tooltip_Progress>
|
||||
<ARA_Tooltip_Remaining>剩余: {0}</ARA_Tooltip_Remaining>
|
||||
|
||||
<!-- 营养分配器 -->
|
||||
<!-- 营养分配器/虫蜜 -->
|
||||
<ARA_NutrientDispenser_MealsAvailable>可制作: {0} 份</ARA_NutrientDispenser_MealsAvailable>
|
||||
<ARA_FuelLabel_Nutrition>虫蜜</ARA_FuelLabel_Nutrition>
|
||||
</LanguageData>
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace ArachnaeSwarm
|
||||
|
||||
public override string CompInspectStringExtra()
|
||||
{
|
||||
string fuelLabel = string.IsNullOrEmpty(Props.FuelLabel) ? "Nutrition" : Props.FuelLabel;
|
||||
string fuelLabel = string.IsNullOrEmpty(Props.FuelLabel) ? "ARA_FuelLabel_Nutrition".Translate().ToString() : Props.FuelLabel;
|
||||
string text = fuelLabel + ": " + Fuel.ToStringDecimalIfSmall() + " / " + Props.fuelCapacity.ToStringDecimalIfSmall();
|
||||
|
||||
if (currentConsumptionRate > 0f && HasFuel)
|
||||
|
||||
@@ -140,7 +140,7 @@ namespace ArachnaeSwarm
|
||||
|
||||
if (qualityProgress <= 0 && qualityTotal > 0)
|
||||
{
|
||||
Messages.Message("制造舱因品质归零而损坏!", this, MessageTypeDefOf.NegativeEvent);
|
||||
Messages.Message("ARA_Msg_IncubatorBrokenQualityZero".Translate(), this, MessageTypeDefOf.NegativeEvent);
|
||||
Destroy(DestroyMode.KillFinalize);
|
||||
return;
|
||||
}
|
||||
@@ -216,28 +216,24 @@ namespace ArachnaeSwarm
|
||||
public string GetSpeedFactorsDescription()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("速度因子");
|
||||
sb.AppendLine("ARA_Gizmo_SpeedFactors".Translate());
|
||||
sb.AppendLine();
|
||||
sb.Append("总速度倍率: " + SpeedMultiplier.ToStringPercent());
|
||||
sb.Append("ARA_Gizmo_TotalSpeedMultiplier".Translate(SpeedMultiplier.ToStringPercent()));
|
||||
return sb.ToString().TrimEndNewlines();
|
||||
}
|
||||
|
||||
public string GetQualityFactorsDescription()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("质量因子");
|
||||
sb.AppendLine("ARA_Gizmo_QualityFactors".Translate());
|
||||
sb.AppendLine();
|
||||
sb.Append("总质量倍率: " + QualityMultiplier.ToStringPercent());
|
||||
sb.Append("ARA_Gizmo_TotalQualityMultiplier".Translate(QualityMultiplier.ToStringPercent()));
|
||||
return sb.ToString().TrimEndNewlines();
|
||||
}
|
||||
|
||||
private string BuildCallLarvaDescription(EquipmentIncubationConfig config)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("呼叫幼虫激活制造舱");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("目标: " + config.thingDef.LabelCap);
|
||||
return sb.ToString().TrimEndNewlines();
|
||||
return "ARA_Gizmo_CallLarvaActivationDesc".Translate(config.thingDef.LabelCap);
|
||||
}
|
||||
|
||||
// === 幼虫交互 ===
|
||||
@@ -248,14 +244,14 @@ namespace ArachnaeSwarm
|
||||
var larva = FindLarva();
|
||||
if (larva == null)
|
||||
{
|
||||
Messages.Message("未找到可用的幼虫!", MessageTypeDefOf.RejectInput);
|
||||
Messages.Message("ARA_Msg_NoLarvaFound".Translate(), MessageTypeDefOf.RejectInput);
|
||||
return;
|
||||
}
|
||||
|
||||
var job = JobMaker.MakeJob(ARA_JobDefOf.ARA_OperateIncubator, this);
|
||||
larva.jobs.TryTakeOrderedJob(job, JobTag.MiscWork);
|
||||
assignedLarva = larva;
|
||||
Messages.Message("已呼叫幼虫。", MessageTypeDefOf.PositiveEvent);
|
||||
Messages.Message("ARA_Msg_LarvaCalled".Translate(), MessageTypeDefOf.PositiveEvent);
|
||||
}
|
||||
|
||||
private Pawn FindLarva()
|
||||
@@ -295,7 +291,7 @@ namespace ArachnaeSwarm
|
||||
assignedLarva = null;
|
||||
larvaOperateTicksRemaining = 0;
|
||||
|
||||
Messages.Message("孵化开始: " + incubatingThingDef.LabelCap, MessageTypeDefOf.PositiveEvent);
|
||||
Messages.Message("ARA_Msg_IncubationStarted".Translate(incubatingThingDef.LabelCap), MessageTypeDefOf.PositiveEvent);
|
||||
}
|
||||
|
||||
public void CancelIncubation()
|
||||
@@ -303,7 +299,7 @@ namespace ArachnaeSwarm
|
||||
isIncubating = false;
|
||||
incubatingThingDef = null;
|
||||
incubationProgress = 0f;
|
||||
Messages.Message("孵化已取消。", MessageTypeDefOf.NeutralEvent);
|
||||
Messages.Message("ARA_Msg_IncubationCancelled".Translate(), MessageTypeDefOf.NeutralEvent);
|
||||
}
|
||||
|
||||
private void CompleteIncubation()
|
||||
@@ -332,7 +328,7 @@ namespace ArachnaeSwarm
|
||||
GenSpawn.Spawn(thing, Position, Map);
|
||||
isIncubating = false;
|
||||
incubatingThingDef = null;
|
||||
Messages.Message("孵化完成: " + thing.LabelCap, MessageTypeDefOf.PositiveEvent);
|
||||
Messages.Message("ARA_Msg_IncubationComplete".Translate(thing.LabelCap), MessageTypeDefOf.PositiveEvent);
|
||||
Destroy();
|
||||
}
|
||||
|
||||
@@ -369,22 +365,22 @@ namespace ArachnaeSwarm
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (isIncubating && incubatingThingDef != null)
|
||||
{
|
||||
sb.AppendLine("正在孵化: " + incubatingThingDef.LabelCap);
|
||||
sb.AppendLine("进度: " + AdjustedProgressPercent.ToStringPercent());
|
||||
sb.AppendLine("剩余时间: " + GetRemainingDays().ToString("F1") + " 天");
|
||||
sb.Append("速度: " + SpeedMultiplier.ToStringPercent() + " | 质量: " + QualityMultiplier.ToStringPercent());
|
||||
sb.AppendLine("ARA_Status_Incubating".Translate(incubatingThingDef.LabelCap));
|
||||
sb.AppendLine("ARA_Status_Progress".Translate(AdjustedProgressPercent.ToStringPercent()));
|
||||
sb.AppendLine("ARA_Status_RemainingTime".Translate(GetRemainingDays().ToString("F1")));
|
||||
sb.Append("ARA_Status_SpeedAndQuality".Translate(SpeedMultiplier.ToStringPercent(), QualityMultiplier.ToStringPercent()));
|
||||
}
|
||||
else if (assignedLarva != null)
|
||||
{
|
||||
sb.Append(larvaOperateTicksRemaining > 0 ? "幼虫激活中..." : "幼虫赶路中...");
|
||||
sb.Append(larvaOperateTicksRemaining > 0 ? "ARA_Status_LarvaActivating".Translate() : "ARA_Status_LarvaOnTheWay".Translate());
|
||||
}
|
||||
else
|
||||
{
|
||||
var config = EquipmentIncubatorData?.SelectedConfig;
|
||||
if (config != null)
|
||||
{
|
||||
sb.AppendLine("目标: " + config.thingDef.LabelCap);
|
||||
sb.Append("速度: " + SpeedMultiplier.ToStringPercent());
|
||||
sb.AppendLine("ARA_Status_Target".Translate(config.thingDef.LabelCap));
|
||||
sb.Append("ARA_Status_Speed".Translate(SpeedMultiplier.ToStringPercent()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -372,11 +372,11 @@ namespace ArachnaeSwarm
|
||||
var current = SelectedConfig;
|
||||
if (current != null && current.thingDef != null)
|
||||
{
|
||||
string status = "ARA_EquipmentIncubator.IncubationTarget".Translate(current.thingDef.LabelCap);
|
||||
string status = "ARA_Status_Target".Translate(current.thingDef.LabelCap);
|
||||
|
||||
if (current.requiredResearch != null && !current.requiredResearch.IsFinished)
|
||||
{
|
||||
status += " (" + "ARA_EquipmentIncubator.Requires".Translate() + ": " + current.requiredResearch.LabelCap + ")";
|
||||
status += " (" + "ARA_Menu_RequiresResearch".Translate(current.requiredResearch.LabelCap) + ")";
|
||||
}
|
||||
|
||||
return status;
|
||||
|
||||
@@ -169,7 +169,7 @@ namespace ArachnaeSwarm
|
||||
assignedLarva = null;
|
||||
larvaOperateTicksRemaining = 0;
|
||||
|
||||
Messages.Message("ARA_OothecaIncubator.IncubationStarted".Translate() + " " + incubatingPawnKind.LabelCap, MessageTypeDefOf.PositiveEvent);
|
||||
Messages.Message("ARA_Msg_IncubationStarted".Translate(incubatingPawnKind.LabelCap), MessageTypeDefOf.PositiveEvent);
|
||||
}
|
||||
|
||||
public void CancelIncubation()
|
||||
@@ -178,7 +178,7 @@ namespace ArachnaeSwarm
|
||||
incubationProgress = 0f;
|
||||
incubationDuration = 0f;
|
||||
incubatingPawnKind = null;
|
||||
Messages.Message("ARA_OothecaIncubator.IncubationCancelled".Translate(), MessageTypeDefOf.NeutralEvent);
|
||||
Messages.Message("ARA_Msg_IncubationCancelled".Translate(), MessageTypeDefOf.NeutralEvent);
|
||||
}
|
||||
|
||||
private void CompleteIncubation()
|
||||
@@ -193,7 +193,7 @@ namespace ArachnaeSwarm
|
||||
|
||||
isIncubating = false;
|
||||
incubatingPawnKind = null;
|
||||
Messages.Message("ARA_OothecaIncubator.IncubationComplete".Translate() + " " + pawn.LabelCap, MessageTypeDefOf.PositiveEvent);
|
||||
Messages.Message("ARA_Msg_IncubationComplete".Translate(pawn.LabelCap), MessageTypeDefOf.PositiveEvent);
|
||||
Destroy();
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ namespace ArachnaeSwarm
|
||||
|
||||
if (qualityProgress <= 0 && qualityTotal > 0)
|
||||
{
|
||||
Messages.Message("卵囊因品质归零而损坏!", this, MessageTypeDefOf.NegativeEvent);
|
||||
Messages.Message("ARA_Msg_IncubatorBrokenQualityZero".Translate(), this, MessageTypeDefOf.NegativeEvent);
|
||||
Destroy(DestroyMode.KillFinalize);
|
||||
return;
|
||||
}
|
||||
@@ -374,22 +374,22 @@ namespace ArachnaeSwarm
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (isIncubating && incubatingPawnKind != null)
|
||||
{
|
||||
sb.AppendLine("正在孵化: " + incubatingPawnKind.LabelCap);
|
||||
sb.AppendLine("进度: " + AdjustedProgressPercent.ToStringPercent());
|
||||
sb.AppendLine("剩余时间: " + GetRemainingDays().ToString("F1") + " 天");
|
||||
sb.Append("速度: " + SpeedMultiplier.ToStringPercent() + " | 质量: " + QualityMultiplier.ToStringPercent());
|
||||
sb.AppendLine("ARA_Status_Incubating".Translate(incubatingPawnKind.LabelCap));
|
||||
sb.AppendLine("ARA_Status_Progress".Translate(AdjustedProgressPercent.ToStringPercent()));
|
||||
sb.AppendLine("ARA_Status_RemainingTime".Translate(GetRemainingDays().ToString("F1")));
|
||||
sb.Append("ARA_Status_SpeedAndQuality".Translate(SpeedMultiplier.ToStringPercent(), QualityMultiplier.ToStringPercent()));
|
||||
}
|
||||
else if (assignedLarva != null)
|
||||
{
|
||||
sb.Append(larvaOperateTicksRemaining > 0 ? "幼虫激活中..." : "幼虫赶路中...");
|
||||
sb.Append(larvaOperateTicksRemaining > 0 ? "ARA_Status_LarvaActivating".Translate() : "ARA_Status_LarvaOnTheWay".Translate());
|
||||
}
|
||||
else
|
||||
{
|
||||
var config = IncubatorData?.SelectedConfig;
|
||||
if (config != null)
|
||||
{
|
||||
sb.AppendLine("目标: " + config.pawnKind.LabelCap);
|
||||
sb.Append("速度: " + SpeedMultiplier.ToStringPercent());
|
||||
sb.AppendLine("ARA_Status_Target".Translate(config.pawnKind.LabelCap));
|
||||
sb.Append("ARA_Status_Speed".Translate(SpeedMultiplier.ToStringPercent()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -435,11 +435,11 @@ namespace ArachnaeSwarm
|
||||
var current = SelectedConfig;
|
||||
if (current != null)
|
||||
{
|
||||
string status = "IncubationTarget".Translate() + current.pawnKind.LabelCap;
|
||||
string status = "ARA_Status_Target".Translate(current.pawnKind.LabelCap);
|
||||
|
||||
if (current.requiredResearch != null && !current.requiredResearch.IsFinished)
|
||||
{
|
||||
status += " (" + "Requires".Translate() + ": " + current.requiredResearch.LabelCap + ")";
|
||||
status += " (" + "ARA_Menu_RequiresResearch".Translate(current.requiredResearch.LabelCap) + ")";
|
||||
}
|
||||
|
||||
return status;
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace ArachnaeSwarm
|
||||
}
|
||||
else
|
||||
{
|
||||
title = "选择生产目标...";
|
||||
title = "ARA_Menu_SelectProductionTarget".Translate();
|
||||
}
|
||||
|
||||
if (canAdd)
|
||||
@@ -86,7 +86,7 @@ namespace ArachnaeSwarm
|
||||
else
|
||||
{
|
||||
GUI.color = new Color(0.5f, 0.5f, 0.5f);
|
||||
Widgets.Label(titleRect, title.Truncate(titleRect.width) + " (满)");
|
||||
Widgets.Label(titleRect, title.Truncate(titleRect.width) + " " + "ARA_Gizmo_QueueFull".Translate());
|
||||
GUI.color = Color.white;
|
||||
}
|
||||
curY += Text.LineHeight + Spacing;
|
||||
@@ -137,7 +137,7 @@ namespace ArachnaeSwarm
|
||||
{
|
||||
Text.Font = GameFont.Tiny;
|
||||
GUI.color = new Color(0.7f, 0.7f, 0.7f);
|
||||
Widgets.Label(new Rect(innerRect.x, curY, innerRect.width, 20f), "就绪 - 点击上方选择目标");
|
||||
Widgets.Label(new Rect(innerRect.x, curY, innerRect.width, 20f), "ARA_Status_Ready".Translate());
|
||||
GUI.color = Color.white;
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ namespace ArachnaeSwarm
|
||||
if (order.status == OrderStatus.WaitingForLarva)
|
||||
{
|
||||
GUI.color = new Color(1f, 0.8f, 0.4f);
|
||||
Widgets.Label(labelRect, $"{order.label} [等待幼虫]");
|
||||
Widgets.Label(labelRect, $"{order.label} [" + "ARA_Status_WaitingForLarva".Translate() + "]");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -189,7 +189,10 @@ namespace ArachnaeSwarm
|
||||
|
||||
Widgets.DrawLineVertical(midX, barRect.y, barRect.height);
|
||||
|
||||
string tooltip = $"{order.label}\n品质: {order.qualityProgress.ToStringPercent()} → {order.estimatedQuality}\n进度: {order.productionProgress.ToStringPercent()}";
|
||||
// Tooltip
|
||||
string tooltip = $"{order.label}\n" +
|
||||
"ARA_Tooltip_Quality".Translate(order.qualityProgress.ToStringPercent(), order.estimatedQuality) + "\n" +
|
||||
"ARA_Tooltip_Progress".Translate(order.productionProgress.ToStringPercent());
|
||||
TooltipHandler.TipRegion(barRect, tooltip);
|
||||
}
|
||||
else
|
||||
@@ -198,7 +201,7 @@ namespace ArachnaeSwarm
|
||||
Text.Font = GameFont.Tiny;
|
||||
Text.Anchor = TextAnchor.MiddleCenter;
|
||||
GUI.color = new Color(0.8f, 0.6f, 0.2f);
|
||||
Widgets.Label(barRect, "等待幼虫激活");
|
||||
Widgets.Label(barRect, "ARA_Status_WaitingForLarva".Translate());
|
||||
GUI.color = Color.white;
|
||||
Text.Anchor = TextAnchor.UpperLeft;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace ArachnaeSwarm
|
||||
Text.Font = GameFont.Small;
|
||||
Text.Anchor = TextAnchor.MiddleLeft;
|
||||
Rect titleRect = new Rect(innerRect.x, innerRect.y, innerRect.width - 24f, 18f);
|
||||
Widgets.Label(titleRect, "活性");
|
||||
Widgets.Label(titleRect, "ARA_Gizmo_NeutronFlux_Title".Translate());
|
||||
|
||||
// === 右上角模式切换按钮 ===
|
||||
float buttonSize = 20f;
|
||||
@@ -163,7 +163,7 @@ namespace ArachnaeSwarm
|
||||
// 效率
|
||||
GUI.color = new Color(0.7f, 0.7f, 0.7f);
|
||||
Rect effRect = new Rect(infoX, barRect.y + 22f, infoWidth, 14f);
|
||||
Widgets.Label(effRect, "效率");
|
||||
Widgets.Label(effRect, "ARA_Status_Efficiency".Translate());
|
||||
Rect effValRect = new Rect(infoX, barRect.y + 36f, infoWidth, 14f);
|
||||
GUI.color = Color.white;
|
||||
Widgets.Label(effValRect, (controller.FluxEfficiency * 100f).ToString("0") + "%");
|
||||
@@ -172,7 +172,7 @@ namespace ArachnaeSwarm
|
||||
GUI.color = new Color(0.7f, 0.7f, 0.7f);
|
||||
float speedMultiplier = controller.FluxEfficiency * 5f;
|
||||
Rect speedRect = new Rect(infoX, barRect.y + 54f, infoWidth, 14f);
|
||||
Widgets.Label(speedRect, "速度");
|
||||
Widgets.Label(speedRect, "ARA_Status_Speed".Translate());
|
||||
Rect speedValRect = new Rect(infoX, barRect.y + 68f, infoWidth, 14f);
|
||||
GUI.color = speedMultiplier >= 1f ? new Color(0.5f, 1f, 0.5f) : new Color(1f, 0.7f, 0.5f);
|
||||
Widgets.Label(speedValRect, speedMultiplier.ToString("0.0") + "x");
|
||||
@@ -201,48 +201,45 @@ namespace ArachnaeSwarm
|
||||
{
|
||||
var sb = new System.Text.StringBuilder();
|
||||
|
||||
sb.AppendLine("【孵化活性】");
|
||||
sb.AppendLine("ARA_Gizmo_NeutronFlux_TooltipTitle".Translate());
|
||||
sb.AppendLine();
|
||||
|
||||
// 核心机制(简洁明了)
|
||||
sb.AppendLine("▸ 活性越高 → 孵化越快");
|
||||
sb.AppendLine("▸ 活性越低 → 品质越高");
|
||||
// 核心机制
|
||||
sb.AppendLine("ARA_Gizmo_NeutronFlux_CoreMechanic".Translate());
|
||||
sb.AppendLine();
|
||||
|
||||
// 当前状态
|
||||
sb.AppendLine($"当前活性: {(controller.RawFlux * 100f):0}%");
|
||||
sb.AppendLine($"孵化速度: {(controller.FluxEfficiency * 5f):0.0}x");
|
||||
sb.AppendLine("ARA_Status_CurrentFlux".Translate(controller.RawFlux.ToStringPercent("0")));
|
||||
sb.AppendLine("ARA_Status_IncubationSpeed".Translate((controller.FluxEfficiency * 5f).ToString("0.0")));
|
||||
sb.AppendLine();
|
||||
|
||||
// 模式说明
|
||||
sb.AppendLine($"模式: {controller.GetModeName()}");
|
||||
switch (controller.CurrentFluxMode)
|
||||
sb.AppendLine("ARA_Status_Mode".Translate(controller.GetModeName()));
|
||||
|
||||
string modeDescKey = controller.CurrentFluxMode switch
|
||||
{
|
||||
case FluxMode.Manual:
|
||||
sb.AppendLine(" 手动调节活性");
|
||||
break;
|
||||
case FluxMode.Quality:
|
||||
sb.AppendLine(" 低活性,追求品质");
|
||||
break;
|
||||
case FluxMode.Balance:
|
||||
sb.AppendLine(" 自动平衡速度和品质");
|
||||
break;
|
||||
case FluxMode.Speed:
|
||||
sb.AppendLine(" 高活性,快速孵化");
|
||||
break;
|
||||
FluxMode.Manual => "ARA_FluxMode_Manual_Desc",
|
||||
FluxMode.Quality => "ARA_FluxMode_Quality_Desc",
|
||||
FluxMode.Balance => "ARA_FluxMode_Balance_Desc",
|
||||
FluxMode.Speed => "ARA_FluxMode_Speed_Desc",
|
||||
_ => ""
|
||||
};
|
||||
if (!string.IsNullOrEmpty(modeDescKey))
|
||||
{
|
||||
sb.AppendLine(" " + modeDescKey.Translate());
|
||||
}
|
||||
sb.AppendLine();
|
||||
|
||||
// 操作
|
||||
sb.AppendLine("点击拖动调节 | 右上角切换模式");
|
||||
sb.AppendLine("ARA_Gizmo_NeutronFlux_Operations".Translate());
|
||||
|
||||
if (controller.IsDormant)
|
||||
{
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("<color=red>⚠ 休眠中,品质下降!</color>");
|
||||
sb.AppendLine("<color=red>" + "ARA_Status_DormantWarning".Translate() + "</color>");
|
||||
}
|
||||
|
||||
return sb.ToString().TrimEndNewlines();
|
||||
return sb.ToString().TrimEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ namespace ArachnaeSwarm
|
||||
// 无订单时的提示
|
||||
Text.Font = GameFont.Tiny;
|
||||
GUI.color = new Color(0.7f, 0.7f, 0.7f);
|
||||
Widgets.Label(new Rect(innerRect.x, curY, innerRect.width, 20f), "就绪 - 点击上方选择目标");
|
||||
Widgets.Label(new Rect(innerRect.x, curY, innerRect.width, 20f), "ARA_Status_Ready".Translate());
|
||||
GUI.color = Color.white;
|
||||
}
|
||||
|
||||
@@ -162,7 +162,7 @@ namespace ArachnaeSwarm
|
||||
if (order.status == OrderStatus.WaitingForLarva)
|
||||
{
|
||||
GUI.color = new Color(1f, 0.8f, 0.4f);
|
||||
Widgets.Label(labelRect, $"{order.label} [等待幼虫]");
|
||||
Widgets.Label(labelRect, $"{order.label} [" + "ARA_Status_WaitingForLarva".Translate() + "]");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -204,7 +204,10 @@ namespace ArachnaeSwarm
|
||||
Widgets.DrawLineVertical(midX, barRect.y, barRect.height);
|
||||
|
||||
// Tooltip
|
||||
string tooltip = $"{order.label}\n品质: {order.qualityProgress.ToStringPercent()} → {order.estimatedQuality}\n进度: {order.progress.ToStringPercent()}\n剩余: {order.remainingTime}";
|
||||
string tooltip = $"{order.label}\n" +
|
||||
"ARA_Tooltip_Quality".Translate(order.qualityProgress.ToStringPercent(), order.estimatedQuality) + "\n" +
|
||||
"ARA_Tooltip_Progress".Translate(order.progress.ToStringPercent()) + "\n" +
|
||||
"ARA_Tooltip_Remaining".Translate(order.remainingTime);
|
||||
TooltipHandler.TipRegion(barRect, tooltip);
|
||||
}
|
||||
else
|
||||
@@ -214,7 +217,7 @@ namespace ArachnaeSwarm
|
||||
Text.Font = GameFont.Tiny;
|
||||
Text.Anchor = TextAnchor.MiddleCenter;
|
||||
GUI.color = new Color(0.8f, 0.6f, 0.2f);
|
||||
Widgets.Label(barRect, "等待幼虫激活");
|
||||
Widgets.Label(barRect, "ARA_Status_WaitingForLarva".Translate());
|
||||
GUI.color = Color.white;
|
||||
Text.Anchor = TextAnchor.UpperLeft;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user