private void InputMessageBox_OnGotUserInput(DaggerfallInputMessageBox sender, string input) { daysToRent = 0; bool result = int.TryParse(input, out daysToRent); if (!result || daysToRent < 1) { return; } int daysAlreadyRented = 0; if (rentedRoom != null) { daysAlreadyRented = (int)((rentedRoom.expiryTime - DaggerfallUnity.Instance.WorldTime.Now.ToSeconds()) / DaggerfallDateTime.SecondsPerDay); } if (daysToRent + daysAlreadyRented > 350) { DaggerfallUI.MessageBox(tooManyDaysFutureId); } else { int cost = FormulaHelper.CalculateRoomCost(daysToRent); tradePrice = FormulaHelper.CalculateTradePrice(cost, buildingData.quality, false); DaggerfallMessageBox messageBox = new DaggerfallMessageBox(uiManager, this); TextFile.Token[] tokens = DaggerfallUnity.Instance.TextProvider.GetRandomTokens(offerPriceId); messageBox.SetTextTokens(tokens, this); messageBox.AddButton(DaggerfallMessageBox.MessageBoxButtons.Yes); messageBox.AddButton(DaggerfallMessageBox.MessageBoxButtons.No); messageBox.OnButtonClick += ConfirmRenting_OnButtonClick; uiManager.PushWindow(messageBox); } }
protected override void InputMessageBox_OnGotUserInput(DaggerfallInputMessageBox sender, string input) { daysToRent = 0; bool result = int.TryParse(input, out daysToRent); if (!result || daysToRent < 1) { return; } int daysAlreadyRented = 0; if (rentedRoom != null) { daysAlreadyRented = (int)((rentedRoom.expiryTime - DaggerfallUnity.Instance.WorldTime.Now.ToSeconds()) / DaggerfallDateTime.SecondsPerDay); if (daysAlreadyRented < 0) { daysAlreadyRented = 0; } } if (daysToRent + daysAlreadyRented > 350) { DaggerfallUI.MessageBox(tooManyDaysFutureId); } else if (GameManager.Instance.GuildManager.GetGuild(FactionFile.GuildGroups.KnightlyOrder).FreeTavernRooms()) { DaggerfallUI.MessageBox(TextManager.Instance.GetLocalizedText("roomFreeForKnightSuchAsYou")); RentRoom(); } else { int quality = Mathf.Max((buildingData.quality / 2) - 3, 3); int cost = FormulaHelper.CalculateRoomCost(daysToRent) * quality; tradePrice = FormulaHelper.CalculateTradePrice(cost, buildingData.quality, false); DaggerfallMessageBox messageBox = new DaggerfallMessageBox(uiManager, this); TextFile.Token[] tokens = DaggerfallUnity.Instance.TextProvider.GetRandomTokens(offerPriceId); messageBox.SetTextTokens(tokens, this); messageBox.AddButton(DaggerfallMessageBox.MessageBoxButtons.Yes); messageBox.AddButton(DaggerfallMessageBox.MessageBoxButtons.No); messageBox.OnButtonClick += ConfirmRenting_OnButtonClick; uiManager.PushWindow(messageBox); } }