private void DrawBodyPartsOders(Rect rect) { CalculateBodyPartValues(); Text.Anchor = TextAnchor.MiddleCenter; Rect buttonRect = new Rect(rect.x + 10, rect.y, rect.width - 20, 25); if (GUIUtils.DrawCustomButton(buttonRect, "RogerEdmonson_OrderWindow_SelectGroup".Translate($"{group}_group".Translate()), Color.white)) { List <FloatMenuOption> options = new List <FloatMenuOption>(); foreach (OrderBodypartGroup group in Enum.GetValues(typeof(OrderBodypartGroup))) { options.Add(new FloatMenuOption($"{group}_group".Translate(), delegate { this.group = group; })); } Find.WindowStack.Add(new FloatMenu(options)); } Text.Anchor = TextAnchor.UpperLeft; Rect intRect = new Rect(rect.x + 10, rect.y + 32, 250, 25); Widgets.Label(intRect, "RogerEdmonson_OrderWindow_Range".Translate()); intRect.x += 255; intRect.width = rect.width - 275; Widgets.TextFieldNumeric(intRect, ref delay, ref delayBuff, 1); Rect fullLabel = new Rect(rect.x + 10, rect.y + 60, rect.width - 10, 300); Widgets.Label(fullLabel, "RogerEdmonson_OrderWindow_Full".Translate($"{group}_desc".Translate(), totalValue, chance, prepayment)); TooltipHandler.TipRegion(fullLabel, "RogerEdmonson_OrderWindow_Full2".Translate($"{group}_group".Translate(), baseValue, trader.GetPriceMultiplier(group), delay, trader.ArriveTime, totalValue, prepayment, chance, baseChance, trader.GetChanceMultiplier(group))); Text.Anchor = TextAnchor.MiddleCenter; if (GUIUtils.DrawCustomButton(new Rect(rect.x + 10, rect.height - 40, rect.width - 20, 30), "RogerEdmonson_OrderWindow_CreateOrder".Translate(), trader.Order == null ? Color.white : Color.gray)) { if (trader.Order != null) { Messages.Message("RogerEdmonson_OrderWindow_Only1Order".Translate(), MessageTypeDefOf.NeutralEvent, false); } else { if (TakePrePayment(prepayment)) { MakeBodyPartOrder(group, chance, totalValue, delay); } } } if (trader.Order != null) { if (GUIUtils.DrawCustomButton(new Rect(rect.x + 10, rect.height, rect.width - 20, 30), "DarkNetButtons_CancelOrder".Translate(), Color.white)) { trader.DeclineOrder(); } } Text.Anchor = TextAnchor.UpperLeft; }
public void DrawOrderCard(Rect rect, Order item) { trader.bgCardColor.a = 150; Widgets.DrawBoxSolid(rect, trader.bgCardColor); GUI.color = GUIUtils.CommBorderColor; Widgets.DrawBox(rect); GUI.color = Color.white; Widgets.ThingIcon(new Rect(rect.x + 8, rect.y + 18, 64, 64), item.OrderedItem); Text.Anchor = TextAnchor.MiddleCenter; Widgets.Label(new Rect(rect.x + 80, rect.y + 8, rect.width - 88, 25), item.OrderedItem.Label); Text.Anchor = TextAnchor.UpperLeft; GUIUtils.DrawLineHorizontal(rect.x + 80, rect.y + 34, rect.width - 88, Color.gray); float y = rect.y + 36; Widgets.Label(new Rect(rect.x + 80, y, rect.width - 88, 25), $"DarkNetModificator_Price".Translate(item.Price)); Text.Anchor = TextAnchor.MiddleCenter; if (GUIUtils.DrawCustomButton(new Rect(rect.x, rect.y + 105, rect.width, 25), "DarkNetButtons_Buy".Translate(), Color.white)) { if (trader.AcceptOrder()) { Close(); Text.Anchor = TextAnchor.UpperLeft; return; } } if (GUIUtils.DrawCustomButton(new Rect(rect.x, rect.y + 132, rect.width, 25), "DarkNetButtons_CancelOrder".Translate(), Color.white)) { trader.DeclineOrder(); Close(); Text.Anchor = TextAnchor.UpperLeft; return; } Text.Anchor = TextAnchor.UpperLeft; if (Mouse.IsOver(rect)) { StringBuilder builder = new StringBuilder(); builder.Append("TraderWorker_RogerEdmonson_FullDesc".Translate(item.OrderedItem.Label, item.OrderedItem.DescriptionFlavor, item.Price)); TooltipHandler.TipRegion(rect, builder.ToString()); } }