public void ResetClothes(WEAR_SHOW newState = WEAR_SHOW.ALL) { for (WEAR_SHOW_TYPE type = WEAR_SHOW_TYPE.TOPUPPER; type < WEAR_SHOW_TYPE.SHOES; ++type) { Actor.wears.ChangeShow(type, newState); } Actor.CheckShow(); }
private static WEAR_SHOW UndressStep(WEAR_SHOW_TYPE type, Human human) { WEAR_SHOW now = human.wears.GetShow(type, false); WEAR_SHOW res = now; switch (human.wears.GetWearShowNum(type)) { case 2: res = (WEAR_SHOW)((int)(now + 1) % 3); break; case 1: res = now != WEAR_SHOW.ALL ? WEAR_SHOW.ALL : WEAR_SHOW.HIDE; break; } return(now > res ? now : res); }
public static bool Prefix(Wears __instance, WEAR_SHOW_TYPE showType) { WEAR_TYPE wear_TYPE = Wears.ShowToWearType[(int)showType]; int num = (int)wear_TYPE; FieldInfo wearObjsField = typeof(Wears).GetField("wearObjs", BindingFlags.Instance | BindingFlags.NonPublic); FieldInfo wearParamField = typeof(Wears).GetField("wearParam", BindingFlags.Instance | BindingFlags.NonPublic); WearObj[] wearObjs = wearObjsField.GetValue(__instance) as WearObj[]; WearParameter wearParam = wearParamField.GetValue(__instance) as WearParameter; if (wearObjs[num] == null) { return(false); } GameObject obj = wearObjs[num].obj; WEAR_SHOW show = __instance.GetShow(showType, true); bool flag = true; bool flag2 = false; if (wear_TYPE == WEAR_TYPE.SWIM) { WearData wearData = __instance.GetWearData(WEAR_TYPE.SWIM); if (wearData != null && wearData.coordinates == 0) { flag2 = true; } } if (!flag2) { flag = (show != WEAR_SHOW.HIDE); } if (flag) { flag = Wears.IsEnableWear(wearParam.isSwimwear, wear_TYPE); } if (wear_TYPE == WEAR_TYPE.BRA && flag) { if (wearObjs[0] != null && __instance.GetShow(WEAR_SHOW_TYPE.TOPUPPER, true) == WEAR_SHOW.ALL) { flag = false; } WearData wearData2 = __instance.GetWearData(WEAR_TYPE.TOP); WearData wearData3 = __instance.GetWearData(WEAR_TYPE.BOTTOM); if (wearData2 != null) { if (wearData2.nip) { flag = true; } if (wearData2.braDisable) { flag = false; } } if (wearData3 != null && wearData3.braDisable) { flag = false; } } if (wear_TYPE == WEAR_TYPE.SHORTS && flag) { WearData wearData4 = __instance.GetWearData(WEAR_TYPE.TOP); WearData wearData5 = __instance.GetWearData(WEAR_TYPE.BOTTOM); if (wearData4 != null && wearData4.shortsDisable) { flag = false; } if (wearData5 != null && wearData5.shortsDisable) { flag = false; } } if (wear_TYPE == WEAR_TYPE.BOTTOM && flag) { WearData wearData6 = __instance.GetWearData(WEAR_TYPE.TOP); if (wearData6 != null && wearData6.coordinates == 2) { flag = false; } } WearObj wearObj = wearObjs[num]; if (Wears.IsLower(showType)) { wearObj.ChangeShow_Lower(show); } else { wearObj.obj.SetActive(flag); if (wearObj.liquid != null && wearObj.liquid.root != null) { wearObj.liquid.root.SetActive(flag); } wearObj.ChangeShow_Upper(show); } return(false); }