src/players.cpp
changeset 10372 93844492fdd9
parent 10365 fa999605dd21
child 10382 d1d4452acbfc
--- a/src/players.cpp	Sun Apr 27 18:05:48 2008 +0000
+++ b/src/players.cpp	Sun Apr 27 20:09:29 2008 +0000
@@ -208,6 +208,24 @@
 	return true;
 }
 
+/** Backs up current economic data for a player
+ */
+PlayerMoneyBackup::PlayerMoneyBackup(Player *player)
+{
+	p = player;
+	memcpy(backup_yearly_expenses, p->yearly_expenses, EXPENSES_END * sizeof(Money));
+	backup_cur_economy = p->cur_economy;
+}
+
+/** Restore the economic data from last backup
+ * This should only be used right after Player::BackupEconomy()
+ */
+void PlayerMoneyBackup::Restore()
+{
+	memcpy(p->yearly_expenses, backup_yearly_expenses, EXPENSES_END * sizeof(Money));
+	p->cur_economy = backup_cur_economy;
+}
+
 static void SubtractMoneyFromAnyPlayer(Player *p, CommandCost cost)
 {
 	if (cost.GetCost() == 0) return;