整理
This commit is contained in:
103
MCP/vector_cache/PsychicRitualToil_GatherForInvocation.txt
Normal file
103
MCP/vector_cache/PsychicRitualToil_GatherForInvocation.txt
Normal file
@@ -0,0 +1,103 @@
|
||||
根据向量相似度分析,与 'PsychicRitualToil_GatherForInvocation' 最相关的代码定义如下:
|
||||
|
||||
---
|
||||
**文件路径 (精确匹配):** `C:\Steam\steamapps\common\RimWorld\Data\dll1.6\Verse.AI.Group\PsychicRitualToil_GatherForInvocation.txt`
|
||||
|
||||
```csharp
|
||||
public class PsychicRitualToil_GatherForInvocation : PsychicRitualToil_Multiplex
|
||||
{
|
||||
protected PsychicRitualToil_Goto fallbackToil;
|
||||
|
||||
protected PsychicRitualGraph invokerToil;
|
||||
|
||||
protected PsychicRitualToil_Goto invokerFinalToil;
|
||||
|
||||
private static List<Pawn> blockingPawns = new List<Pawn>(16);
|
||||
|
||||
protected PsychicRitualToil_GatherForInvocation()
|
||||
{
|
||||
}
|
||||
|
||||
protected PsychicRitualToil_GatherForInvocation(PsychicRitualDef_InvocationCircle def, PsychicRitualToil_Goto fallbackToil, PsychicRitualGraph invokerToil)
|
||||
: base(new Dictionary<PsychicRitualRoleDef, PsychicRitualToil> { { def.InvokerRole, invokerToil } }, fallbackToil)
|
||||
{
|
||||
this.fallbackToil = fallbackToil;
|
||||
this.invokerToil = invokerToil;
|
||||
invokerFinalToil = (PsychicRitualToil_Goto)invokerToil.GetToil(invokerToil.ToilCount - 1);
|
||||
}
|
||||
|
||||
public PsychicRitualToil_GatherForInvocation(PsychicRitual psychicRitual, PsychicRitualDef_InvocationCircle def, IReadOnlyDictionary<PsychicRitualRoleDef, List<IntVec3>> rolePositions)
|
||||
: this(def, FallbackToil(psychicRitual, def, rolePositions), InvokerToil(def, rolePositions))
|
||||
{
|
||||
}
|
||||
|
||||
public override void ExposeData()
|
||||
{
|
||||
base.ExposeData();
|
||||
Scribe_References.Look(ref fallbackToil, "fallbackToil");
|
||||
Scribe_References.Look(ref invokerToil, "invokerToil");
|
||||
Scribe_References.Look(ref invokerFinalToil, "invokerFinalToil");
|
||||
}
|
||||
|
||||
public override string GetReport(PsychicRitual psychicRitual, PsychicRitualGraph parent)
|
||||
{
|
||||
blockingPawns.Clear();
|
||||
blockingPawns.AddRange(fallbackToil.BlockingPawns);
|
||||
if (invokerToil.CurrentToil == invokerFinalToil)
|
||||
{
|
||||
blockingPawns.AddRange(invokerFinalToil.BlockingPawns);
|
||||
}
|
||||
else
|
||||
{
|
||||
blockingPawns.AddRange(invokerFinalToil.ControlledPawns(psychicRitual));
|
||||
}
|
||||
string text = "PsychicRitualToil_GatherForInvocation_Report".Translate();
|
||||
string text2 = blockingPawns.Select((Pawn pawn) => pawn.LabelShortCap).ToCommaList();
|
||||
return text + ": " + text2;
|
||||
}
|
||||
|
||||
public static PsychicRitualToil_Goto FallbackToil(PsychicRitual psychicRitual, PsychicRitualDef_InvocationCircle def, IReadOnlyDictionary<PsychicRitualRoleDef, List<IntVec3>> rolePositions)
|
||||
{
|
||||
return new PsychicRitualToil_Goto(rolePositions.Slice(rolePositions.Keys.Except(def.InvokerRole)));
|
||||
}
|
||||
|
||||
public static PsychicRitualGraph InvokerToil(PsychicRitualDef_InvocationCircle def, IReadOnlyDictionary<PsychicRitualRoleDef, List<IntVec3>> rolePositions)
|
||||
{
|
||||
return new PsychicRitualGraph(InvokerGatherPhaseToils(def, rolePositions))
|
||||
{
|
||||
willAdvancePastLastToil = false
|
||||
};
|
||||
}
|
||||
|
||||
public static IEnumerable<PsychicRitualToil> InvokerGatherPhaseToils(PsychicRitualDef_InvocationCircle def, IReadOnlyDictionary<PsychicRitualRoleDef, List<IntVec3>> rolePositions)
|
||||
{
|
||||
if (def.RequiredOffering != null)
|
||||
{
|
||||
yield return new PsychicRitualToil_GatherOfferings(def.InvokerRole, def.RequiredOffering);
|
||||
}
|
||||
if (def.TargetRole != null)
|
||||
{
|
||||
yield return new PsychicRitualToil_CarryAndGoto(def.InvokerRole, def.TargetRole, rolePositions);
|
||||
}
|
||||
yield return new PsychicRitualToil_Goto(rolePositions.Slice(def.InvokerRole));
|
||||
}
|
||||
}
|
||||
```
|
||||
---
|
||||
**文件路径:** `C:\Steam\steamapps\common\RimWorld\Data\dll1.6\RimWorld\PsychicRitualDef_InvocationCircle.txt`
|
||||
**相似度:** 0.7275
|
||||
|
||||
```csharp
|
||||
private class RitualQualityOffsetCount
|
||||
{
|
||||
public float offset;
|
||||
|
||||
public int count;
|
||||
|
||||
public RitualQualityOffsetCount(int count, float offset)
|
||||
{
|
||||
this.count = count;
|
||||
this.offset = offset;
|
||||
}
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user