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();
        }