(svn r25741) -Fix: shift join dates of link graph jobs when using the date cheat

This commit is contained in:
fonsinchen 2013-08-23 18:37:45 +00:00
parent f719b273d3
commit bcbaa92485
2 changed files with 10 additions and 1 deletions

View File

@ -25,6 +25,7 @@
#include "settings_gui.h"
#include "company_gui.h"
#include "linkgraph/linkgraph.h"
#include "linkgraph/linkgraphjob.h"
#include "widgets/cheat_widget.h"
@ -104,6 +105,8 @@ static int32 ClickChangeDateCheat(int32 p1, int32 p2)
Date new_date = ConvertYMDToDate(p1, ymd.month, ymd.day);
LinkGraph *lg;
FOR_ALL_LINK_GRAPHS(lg) lg->ShiftDates(new_date - _date);
LinkGraphJob *lgj;
FOR_ALL_LINK_GRAPH_JOBS(lgj) lgj->ShiftJoinDate(new_date - _date);
SetDate(new_date, _date_fract);
EnginesMonthlyLoop();
SetWindowDirty(WC_STATUS_BAR, 0);

View File

@ -60,7 +60,7 @@ protected:
const LinkGraph link_graph; ///< Link graph to by analyzed. Is copied when job is started and mustn't be modified later.
const LinkGraphSettings settings; ///< Copy of _settings_game.linkgraph at spawn time.
ThreadObject *thread; ///< Thread the job is running in or NULL if it's running in the main thread.
const Date join_date; ///< Date when the job is to be joined.
Date join_date; ///< Date when the job is to be joined.
NodeAnnotationVector nodes; ///< Extra node data necessary for link graph calculation.
EdgeAnnotationMatrix edges; ///< Extra edge data necessary for link graph calculation.
@ -281,6 +281,12 @@ public:
*/
inline Date JoinDate() const { return join_date; }
/**
* Change the join date on date cheating.
* @param interval Number of days to add.
*/
inline void ShiftJoinDate(int interval) { this->join_date += interval; }
/**
* Get the link graph settings for this component.
* @return Settings.