fixed overflow with modifier prices
This commit is contained in:
parent
ede5fa2b58
commit
cf8fcab88c
2 changed files with 7 additions and 6 deletions
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Runtime.Serialization;
|
||||
using Microsoft.Xna.Framework;
|
||||
using Microsoft.Xna.Framework.Graphics;
|
||||
|
@ -78,9 +79,9 @@ namespace TouchyTickets.Attractions {
|
|||
return this.Modifiers.Where(m => modifier == null || m.Modifier == modifier).Sum(m => m.Amount);
|
||||
}
|
||||
|
||||
public int GetModifierPrice(AttractionModifier modifier) {
|
||||
public long GetModifierPrice(AttractionModifier modifier) {
|
||||
var amount = this.GetModifierAmount(modifier);
|
||||
return (modifier.InitialPrice * (float) Math.Pow(1 + 0.4F, amount)).Ceil();
|
||||
return (long) Math.Ceiling(modifier.InitialPrice * Math.Pow(1 + 0.4F, amount));
|
||||
}
|
||||
|
||||
private IEnumerable<Attraction> GetSurrounding(ParkMap map, Point position, AttractionType type) {
|
||||
|
|
|
@ -153,7 +153,7 @@ namespace TouchyTickets {
|
|||
IsHidden = true
|
||||
};
|
||||
foreach (var attraction in AttractionType.Attractions) {
|
||||
BigInteger price = 0;
|
||||
long price = 0;
|
||||
var attractionAmount = 0;
|
||||
var button = buyUi.AddChild(new Button(Anchor.AutoLeft, new Vector2(1, 40)) {
|
||||
ChildPadding = new Vector2(4),
|
||||
|
@ -174,7 +174,7 @@ namespace TouchyTickets {
|
|||
yesNoUi.AddChild(new Button(Anchor.AutoInlineIgnoreOverflow, new Vector2(0.5F, 30), Localization.Get("Place")) {
|
||||
OnPressed = e2 => {
|
||||
GameImpl.Instance.Tickets -= price;
|
||||
GameImpl.Instance.Analytics.AddResourceEvent(true, "Tickets", (long) price, "Attraction", attraction.Key);
|
||||
GameImpl.Instance.Analytics.AddResourceEvent(true, "Tickets", price, "Attraction", attraction.Key);
|
||||
|
||||
map.Place(map.PlacingPosition, map.PlacingAttraction);
|
||||
this.FadeUi(false, () => this.uiSystem.Remove(e2.Root.Name));
|
||||
|
@ -190,7 +190,7 @@ namespace TouchyTickets {
|
|||
// only update the price when the area updates, since it won't change while we're in the buy ui
|
||||
attractionAmount = GameImpl.Instance.Map.GetAttractionAmount(attraction.Value);
|
||||
// yay compound interest
|
||||
price = (attraction.Value.InitialPrice * (float) Math.Pow(1 + 0.1F, attractionAmount)).Ceil();
|
||||
price = (long) Math.Ceiling(attraction.Value.InitialPrice * Math.Pow(1 + 0.1F, attractionAmount));
|
||||
}
|
||||
});
|
||||
var image = button.AddChild(new Image(Anchor.CenterLeft, new Vector2(0.2F, 40), attraction.Value.TextureRegion) {
|
||||
|
@ -306,7 +306,7 @@ namespace TouchyTickets {
|
|||
|
||||
var game = GameImpl.Instance;
|
||||
game.Analytics.AddResourceEvent(true, "Tickets", (long) game.Tickets, "Restart", "Restart" + game.TimesRestarted);
|
||||
game.Analytics.AddResourceEvent(false, "Stars", (long) game.Tickets, "Restart", "Restart" + game.TimesRestarted);
|
||||
game.Analytics.AddResourceEvent(false, "Stars", game.GetBuyableStars(), "Restart", "Restart" + game.TimesRestarted);
|
||||
|
||||
game.Stars += game.GetBuyableStars();
|
||||
game.TimesRestarted++;
|
||||
|
|
Loading…
Reference in a new issue