static void Postfix(
            Turret turret,
            Transform parentTransform,
            bool isParented,
            TurretRepresentation __instance)
        {
            Logger.Debug("turret size initialization");
            var identifier     = turret.TurretDef.ChassisID;
            var sizeMultiplier = SizeMultiplier.Get(turret.TurretDef);

            Logger.Debug($"{identifier}: {sizeMultiplier}");
            var originalLOSSourcePositions = Traverse.Create(turret).Field("originalLOSSourcePositions").GetValue <Vector3[]>();
            var originalLOSTargetPositions = Traverse.Create(turret).Field("originalLOSTargetPositions").GetValue <Vector3[]>();
            var newSourcePositions         = ModSettings.LOSSourcePositions(identifier, originalLOSSourcePositions, sizeMultiplier);
            var newTargetPositions         = ModSettings.LOSTargetPositions(identifier, originalLOSTargetPositions, sizeMultiplier);

            Traverse.Create(turret).Field("originalLOSSourcePositions").SetValue(newSourcePositions);
            Traverse.Create(turret).Field("originalLOSTargetPositions").SetValue(newTargetPositions);
            Traverse.Create(__instance.thisTransform).Property("localScale").SetValue(sizeMultiplier);
        }
        static bool Prefix(TurretRepresentation __instance, DeathMethod deathMethod)
        {
            // We're a linked turret, replace the kill floatie with a custom one.
            if (ModState.KillingLinkedUnitsSource != null)
            {
                if (__instance.parentActor.WasDespawned)
                {
                    return(false);
                }

                string         localText = new Text(Mod.Config.LocalizedText[ModConfig.FT_Turret_Death], new object[] { __instance.parentActor.DisplayName }).ToString();
                FloatieMessage message   = new FloatieMessage(__instance.parentCombatant.GUID, __instance.parentCombatant.GUID, localText, FloatieMessage.MessageNature.Death);
                __instance.parentCombatant.Combat.MessageCenter.PublishMessage(message);

                return(false);
            }
            else
            {
                return(true);
            }
        }