Fix player-only option in ModuleWingManager
This commit is contained in:
@@ -37,13 +37,11 @@ namespace TerraTech {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void ConfigureAerofoil(MultipliedObject<ModuleWing.Aerofoil> obj) {
|
private static void ConfigureAerofoil(MultipliedObject<ModuleWing.Aerofoil> obj) {
|
||||||
obj.AddField(
|
obj.AddField(new FieldConfiguration<float, float>("flapAngleRangeActual", angleRangeMultiplier));
|
||||||
new FieldConfiguration<float, float>("flapAngleRangeActual", angleRangeMultiplier, ShouldApply));
|
obj.AddField(new FieldConfiguration<float, float>("flapAngleRangeVisual", angleRangeMultiplier));
|
||||||
obj.AddField(
|
|
||||||
new FieldConfiguration<float, float>("flapAngleRangeVisual", angleRangeMultiplier, ShouldApply));
|
|
||||||
|
|
||||||
obj.AddField(new FieldConfiguration<float, float>("flapTurnSpeed", turnSpeedMultiplier, ShouldApply));
|
obj.AddField(new FieldConfiguration<float, float>("flapTurnSpeed", turnSpeedMultiplier));
|
||||||
obj.AddField(new FieldConfiguration<float, float>("liftStrength", liftStrengthMultiplier, ShouldApply));
|
obj.AddField(new FieldConfiguration<float, float>("liftStrength", liftStrengthMultiplier));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static readonly Func<object, bool> ShouldApply = obj => {
|
private static readonly Func<object, bool> ShouldApply = obj => {
|
||||||
@@ -55,6 +53,8 @@ namespace TerraTech {
|
|||||||
[HarmonyPrefix]
|
[HarmonyPrefix]
|
||||||
[HarmonyPatch(typeof(ModuleWing), "OnAttached")]
|
[HarmonyPatch(typeof(ModuleWing), "OnAttached")]
|
||||||
static void PostfixCreate(ModuleWing __instance) {
|
static void PostfixCreate(ModuleWing __instance) {
|
||||||
|
if (playerOnly.Value && !CykUtil.IsPlayerTank(__instance))
|
||||||
|
return;
|
||||||
for (int i = 0; i < __instance.m_Aerofoils.Length; i++) {
|
for (int i = 0; i < __instance.m_Aerofoils.Length; i++) {
|
||||||
var aerofoil = __instance.m_Aerofoils[i];
|
var aerofoil = __instance.m_Aerofoils[i];
|
||||||
manager.OnObjectAttached(aerofoil);
|
manager.OnObjectAttached(aerofoil);
|
||||||
@@ -64,6 +64,8 @@ namespace TerraTech {
|
|||||||
[HarmonyPrefix]
|
[HarmonyPrefix]
|
||||||
[HarmonyPatch(typeof(ModuleWing), "OnDetaching")]
|
[HarmonyPatch(typeof(ModuleWing), "OnDetaching")]
|
||||||
static void PostfixDestroy(ModuleWing __instance) {
|
static void PostfixDestroy(ModuleWing __instance) {
|
||||||
|
if (playerOnly.Value && !CykUtil.IsPlayerTank(__instance))
|
||||||
|
return;
|
||||||
for (int i = 0; i < __instance.m_Aerofoils.Length; i++) {
|
for (int i = 0; i < __instance.m_Aerofoils.Length; i++) {
|
||||||
var aerofoil = __instance.m_Aerofoils[i];
|
var aerofoil = __instance.m_Aerofoils[i];
|
||||||
manager.OnObjectDetached(aerofoil);
|
manager.OnObjectDetached(aerofoil);
|
||||||
|
Reference in New Issue
Block a user