ji建筑解除flyover依赖
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,23 @@
|
|||||||
|
using RimWorld;
|
||||||
|
using Verse;
|
||||||
|
|
||||||
|
namespace WulaFallenEmpire
|
||||||
|
{
|
||||||
|
public class CompProperties_SkyfallerCaller : CompProperties
|
||||||
|
{
|
||||||
|
public ThingDef skyfallerDef;
|
||||||
|
public bool destroyBuilding = true;
|
||||||
|
public int delayTicks = 0;
|
||||||
|
|
||||||
|
// 新增:是否需要 FlyOver 作为前提条件
|
||||||
|
public bool requireFlyOver = false; // 默认不需要 FlyOver
|
||||||
|
|
||||||
|
public bool allowThinRoof = true; // 允许砸穿薄屋顶
|
||||||
|
public bool allowThickRoof = false; // 是否允许在厚岩顶下空投
|
||||||
|
|
||||||
|
public CompProperties_SkyfallerCaller()
|
||||||
|
{
|
||||||
|
compClass = typeof(CompSkyfallerCaller);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,22 +7,6 @@ using Verse.AI;
|
|||||||
|
|
||||||
namespace WulaFallenEmpire
|
namespace WulaFallenEmpire
|
||||||
{
|
{
|
||||||
public class CompProperties_SkyfallerCaller : CompProperties
|
|
||||||
{
|
|
||||||
public ThingDef skyfallerDef;
|
|
||||||
public bool destroyBuilding = true;
|
|
||||||
public int delayTicks = 0;
|
|
||||||
// 删除 requiredFlyOverType 字段
|
|
||||||
public bool allowThinRoof = true; // 允许砸穿薄屋顶
|
|
||||||
public bool allowThickRoof = false; // 是否允许在厚岩顶下空投
|
|
||||||
// 删除 requiredFlyOverLabel 字段
|
|
||||||
|
|
||||||
public CompProperties_SkyfallerCaller()
|
|
||||||
{
|
|
||||||
compClass = typeof(CompSkyfallerCaller);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public class CompSkyfallerCaller : ThingComp
|
public class CompSkyfallerCaller : ThingComp
|
||||||
{
|
{
|
||||||
private CompProperties_SkyfallerCaller Props => (CompProperties_SkyfallerCaller)props;
|
private CompProperties_SkyfallerCaller Props => (CompProperties_SkyfallerCaller)props;
|
||||||
@@ -41,6 +25,10 @@ namespace WulaFallenEmpire
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
|
// 如果不需要 FlyOver,直接返回 true
|
||||||
|
if (!Props.requireFlyOver)
|
||||||
|
return true;
|
||||||
|
|
||||||
if (parent?.Map == null) return false;
|
if (parent?.Map == null) return false;
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -173,7 +161,7 @@ namespace WulaFallenEmpire
|
|||||||
if (!CanCallSkyfaller)
|
if (!CanCallSkyfaller)
|
||||||
{
|
{
|
||||||
// 显示相应的错误消息
|
// 显示相应的错误消息
|
||||||
if (!HasRequiredFlyOver)
|
if (!HasRequiredFlyOver && Props.requireFlyOver) // 只在需要 FlyOver 时才显示此消息
|
||||||
{
|
{
|
||||||
Messages.Message("WULA_NoBuildingDropperFlyOver".Translate(), parent, MessageTypeDefOf.RejectInput);
|
Messages.Message("WULA_NoBuildingDropperFlyOver".Translate(), parent, MessageTypeDefOf.RejectInput);
|
||||||
}
|
}
|
||||||
@@ -284,7 +272,8 @@ namespace WulaFallenEmpire
|
|||||||
{
|
{
|
||||||
string desc = "WULA_CallSkyfallerDesc".Translate();
|
string desc = "WULA_CallSkyfallerDesc".Translate();
|
||||||
|
|
||||||
if (!HasRequiredFlyOver)
|
// 只在需要 FlyOver 时显示相关描述
|
||||||
|
if (Props.requireFlyOver && !HasRequiredFlyOver)
|
||||||
{
|
{
|
||||||
desc += $"\n{"WULA_RequiresBuildingDropperFlyOver".Translate()}";
|
desc += $"\n{"WULA_RequiresBuildingDropperFlyOver".Translate()}";
|
||||||
}
|
}
|
||||||
@@ -311,7 +300,8 @@ namespace WulaFallenEmpire
|
|||||||
|
|
||||||
private string GetDisabledReason()
|
private string GetDisabledReason()
|
||||||
{
|
{
|
||||||
if (!HasRequiredFlyOver)
|
// 只在需要 FlyOver 时检查并显示相关原因
|
||||||
|
if (Props.requireFlyOver && !HasRequiredFlyOver)
|
||||||
{
|
{
|
||||||
return "WULA_NoBuildingDropperFlyOver".Translate();
|
return "WULA_NoBuildingDropperFlyOver".Translate();
|
||||||
}
|
}
|
||||||
@@ -354,8 +344,8 @@ namespace WulaFallenEmpire
|
|||||||
{
|
{
|
||||||
string status = "WULA_ReadyToCallSkyfaller".Translate();
|
string status = "WULA_ReadyToCallSkyfaller".Translate();
|
||||||
|
|
||||||
// 添加条件信息
|
// 只在需要 FlyOver 时显示相关条件信息
|
||||||
if (!HasRequiredFlyOver)
|
if (Props.requireFlyOver && !HasRequiredFlyOver)
|
||||||
{
|
{
|
||||||
status += $"\n{"WULA_MissingBuildingDropperFlyOver".Translate()}";
|
status += $"\n{"WULA_MissingBuildingDropperFlyOver".Translate()}";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,6 +112,7 @@
|
|||||||
<Compile Include="BuildingComp\WULA_Shuttle\Dialog_ArmedShuttleTransfer.cs" />
|
<Compile Include="BuildingComp\WULA_Shuttle\Dialog_ArmedShuttleTransfer.cs" />
|
||||||
<Compile Include="BuildingComp\WULA_Shuttle\GenStep_WulaPocketSpaceSmall.cs" />
|
<Compile Include="BuildingComp\WULA_Shuttle\GenStep_WulaPocketSpaceSmall.cs" />
|
||||||
<Compile Include="BuildingComp\WULA_Shuttle\PocketSpaceThingHolder.cs" />
|
<Compile Include="BuildingComp\WULA_Shuttle\PocketSpaceThingHolder.cs" />
|
||||||
|
<Compile Include="BuildingComp\WULA_SkyfallerCaller\CompProperties_SkyfallerCaller.cs" />
|
||||||
<Compile Include="BuildingComp\WULA_SkyfallerCaller\CompSkyfallerCaller.cs" />
|
<Compile Include="BuildingComp\WULA_SkyfallerCaller\CompSkyfallerCaller.cs" />
|
||||||
<Compile Include="BuildingComp\WULA_StorageTurret\CompProperties_StorageTurret.cs" />
|
<Compile Include="BuildingComp\WULA_StorageTurret\CompProperties_StorageTurret.cs" />
|
||||||
<Compile Include="BuildingComp\WULA_StorageTurret\CompStorageTurret.cs" />
|
<Compile Include="BuildingComp\WULA_StorageTurret\CompStorageTurret.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user