private float DetermineDistMultiplier(out float daysToTravel) { var distToColonyInTicks = CaravanManager.DetermineJourneyTime(faction, map); daysToTravel = (float)distToColonyInTicks / CaravanManager.fullDayInTicks; float distMultiplier = 1; if (daysToTravel >= 4) { distMultiplier = 1.5f; } else if (daysToTravel >= 2.5f) { distMultiplier = 1.25f; } else if (daysToTravel >= 1.5) { distMultiplier = 1.1f; } return(distMultiplier); }
private void DrawButtons(Rect inRect, Rect rowRect) { var confirmButtonRect = new Rect(inRect.width - AcceptButtonSize.x, inRect.height - AcceptButtonSize.y, AcceptButtonSize.x, AcceptButtonSize.y); if (Widgets.ButtonText(confirmButtonRect, "IR.ItemRequestWindow.Confirm".Translate(), true, false)) { void OnConfirmed() { SoundDefOf.ExecuteTrade.PlayOneShotOnCamera(); Find.WindowStack.Add( new RequestAcknowledgedWindow( faction, () => { requestSession.SetTimeOfOccurence(faction, Find.TickManager.TicksGame + CaravanManager.DetermineJourneyTime(faction, map)); Close(false); CaravanManager.SendRequestedCaravan(faction, map); })); } void OnCancelled() { } if (colonySilver < requestSession.deal.TotalRequestedValue) { string title = "IR.ConfirmRequestWindow.WindowTitle".Translate(); string message = "IR.ConfirmRequestWindow.WindowMessage".Translate(); string confirmString = "IR.ConfirmRequestWindow.Confirm".Translate(); string cancelString = "IR.ConfirmRequestWindow.Cancel".Translate(); Find.WindowStack.Add(new ConfirmRequestWindow(OnConfirmed, OnCancelled, title, message, confirmString, cancelString)); } else if (requestSession.deal.GetRequestedItems().Count == 0) { string title = "IR.ConfirmEmptyRequestWindow.WindowTitle".Translate(); string message = "IR.ConfirmEmptyRequestWindow.WindowMessage".Translate(faction.Name); string confirmString = "IR.ConfirmEmptyRequestWindow.Confirm".Translate(); Find.WindowStack.Add( new ConfirmRequestWindow( () => { Close(false); requestSession.CloseOpenDealWith(faction); requestSession.CloseSession(); }, null, title, message, confirmString, null)); } else { OnConfirmed(); } } var cancelButtonRect = new Rect(rowRect.x, confirmButtonRect.y, OtherBottomButtonSize.x, OtherBottomButtonSize.y); if (!Widgets.ButtonText(cancelButtonRect, "IR.ItemRequestWindow.Cancel".Translate(), true, false)) { return; } requestSession.CloseOpenDealWith(faction); requestSession.CloseSession(); Close(); }