zc
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
using RimWorld;
|
||||
using Verse;
|
||||
|
||||
namespace WulaFallenEmpire
|
||||
{
|
||||
public class CompProperties_AbilityRequiresNonHostility : CompProperties_AbilityEffect
|
||||
{
|
||||
public FactionDef factionDef;
|
||||
|
||||
public CompProperties_AbilityRequiresNonHostility()
|
||||
{
|
||||
compClass = typeof(CompAbilityEffect_RequiresNonHostility);
|
||||
}
|
||||
}
|
||||
|
||||
public class CompAbilityEffect_RequiresNonHostility : CompAbilityEffect
|
||||
{
|
||||
public new CompProperties_AbilityRequiresNonHostility Props => (CompProperties_AbilityRequiresNonHostility)props;
|
||||
|
||||
public override bool GizmoDisabled(out string reason)
|
||||
{
|
||||
Pawn pawn = parent.pawn;
|
||||
if (pawn == null || pawn.Faction == null || Props.factionDef == null)
|
||||
{
|
||||
reason = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
// 查找指定派系
|
||||
Faction targetFaction = Find.FactionManager.FirstFactionOfDef(Props.factionDef);
|
||||
if (targetFaction == null)
|
||||
{
|
||||
reason = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
// 检查是否敌对
|
||||
if (pawn.Faction.HostileTo(targetFaction))
|
||||
{
|
||||
reason = "WULA_AbilityRequiresNonHostility".Translate(Props.factionDef);
|
||||
return true;
|
||||
}
|
||||
|
||||
reason = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user