public static void Prefix(WearObj __instance) { WEAR_TYPE type = __instance.type; int id = __instance.wearParam.GetWearID(type); MaterialCustoms mc = __instance.obj.GetComponent <MaterialCustoms>(); if (id >= 0 && !HoneyPot.orig_wear_colors.ContainsKey(id) && mc) { ColorParameter_PBR2 color = new ColorParameter_PBR2(mc); HoneyPot.orig_wear_colors.Add(id, color); } }
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); }