This commit is contained in:
2025-12-23 18:16:43 +08:00
parent 3b3fd767fd
commit 25b1f563f6
11 changed files with 110 additions and 76 deletions

View File

@@ -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()));
}
}