This commit is contained in:
kmyuhkyuk 2024-04-09 11:30:15 +08:00
parent 8fc8411ced
commit 3130218b8f

View File

@ -1,4 +1,5 @@
using System.Collections.Generic; using System;
using System.Collections.Generic;
using BepInEx; using BepInEx;
using EFT; using EFT;
using EFT.Visual; using EFT.Visual;
@ -40,30 +41,26 @@ namespace HideDress
settingsModel.KeyOtherPlayerHideDress.Value = !settingsModel.KeyOtherPlayerHideDress.Value; settingsModel.KeyOtherPlayerHideDress.Value = !settingsModel.KeyOtherPlayerHideDress.Value;
} }
if (settingsModel.KeyPlayerHideDressPart.Value != HideDressModel.DressPart.None && if (settingsModel.KeyPlayerHideDress.Value && hideDressModel.PlayerModelViewBody != null)
hideDressModel.PlayerModelViewBody != null)
{ {
EnabledPartDress(hideDressModel.PlayerModelViewBody, settingsModel.KeyPlayerHideDressPart.Value, EnabledPartDress(hideDressModel.PlayerModelViewBody, settingsModel.KeyPlayerHideDressPart.Value);
!settingsModel.KeyPlayerHideDress.Value);
} }
if (settingsModel.KeyPlayerHideDressPart.Value != HideDressModel.DressPart.None && player != null) if (settingsModel.KeyPlayerHideDress.Value && player != null)
{ {
EnabledPartDress(player.PlayerBody, settingsModel.KeyPlayerHideDressPart.Value, EnabledPartDress(player.PlayerBody, settingsModel.KeyPlayerHideDressPart.Value);
!settingsModel.KeyPlayerHideDress.Value);
} }
if (settingsModel.KeyOtherPlayerHideDressPart.Value != HideDressModel.DressPart.None && world != null) if (settingsModel.KeyOtherPlayerHideDress.Value && world != null)
{ {
foreach (var otherPlayer in _GameWorldHelper.AllOtherPlayer) foreach (var otherPlayer in _GameWorldHelper.AllOtherPlayer)
{ {
EnabledPartDress(otherPlayer.PlayerBody, settingsModel.KeyOtherPlayerHideDressPart.Value, EnabledPartDress(otherPlayer.PlayerBody, settingsModel.KeyOtherPlayerHideDressPart.Value);
!settingsModel.KeyOtherPlayerHideDress.Value);
} }
} }
} }
private static void EnabledPartDress(PlayerBody playerBody, HideDressModel.DressPart part, bool enabled) private static void EnabledPartDress(PlayerBody playerBody, HideDressModel.DressPart dressPart)
{ {
var reflectionModel = ReflectionModel.Instance; var reflectionModel = ReflectionModel.Instance;
@ -86,10 +83,27 @@ namespace HideDress
} }
} }
EnabledDress(dressList, switch (dressPart)
part == HideDressModel.DressPart.SkinDress || enabled); {
EnabledSkinDress(dressList, case HideDressModel.DressPart.Both:
part == HideDressModel.DressPart.Dress || enabled); EnabledDress(dressList, false);
EnabledSkinDress(dressList, false);
break;
case HideDressModel.DressPart.Dress:
EnabledDress(dressList, false);
EnabledSkinDress(dressList, true);
break;
case HideDressModel.DressPart.SkinDress:
EnabledDress(dressList, true);
EnabledSkinDress(dressList, false);
break;
case HideDressModel.DressPart.None:
EnabledDress(dressList, true);
EnabledSkinDress(dressList, true);
break;
default:
throw new ArgumentOutOfRangeException(nameof(dressPart), dressPart, null);
}
} }
private static void EnabledDress(IEnumerable<Dress> dressEnumerable, bool enabled) private static void EnabledDress(IEnumerable<Dress> dressEnumerable, bool enabled)