Example #1
0
        static GameState()
        {
            //Start off at the 1/1/210
            _universeTime = new DivineRightDateTime(210, 1, 1);

            //Attach the handlers
            _universeTime.DayChanged += new System.EventHandler(DayChanged);
            _universeTime.MonthChanged += new System.EventHandler(MonthChanged);
            _universeTime.MinuteChanged += new EventHandler(MinuteChanged);
        }
 /// <summary>
 /// Creates a new DateTime having the same time as the passed one
 /// </summary>
 /// <param name="oldTime"></param>
 public DivineRightDateTime(DivineRightDateTime oldTime)
 {
     this.time = oldTime.time;
 }
Example #3
0
        /// <summary>
        /// Loads the game from the folder. There will only ever be one such savegame at a time.
        /// </summary>
        /// <returns></returns>
        public static void LoadGame()
        {
            IFormatter formatter = new BinaryFormatter();

            SurrogateSelector ss = new SurrogateSelector();

            ss.AddSurrogate(typeof(Rectangle), new StreamingContext(StreamingContextStates.All), new RectSerializationSurrogate());
            ss.AddSurrogate(typeof(Color), new StreamingContext(StreamingContextStates.All), new ColorSerializationSurrogate());

            formatter.SurrogateSelector = ss;

            Stream stream = new FileStream(GameState.SAVEPATH + "GameState.dvg", FileMode.Open, FileAccess.Read, FileShare.Read);
            GameStateSaveFile obj = (GameStateSaveFile)formatter.Deserialize(stream);
            stream.Close();

            //Load it
            GameState.LocalMap = obj.LocalMap;
            GameState.LocalMap.Location = obj.LocalMap.Location; //This is to invoke the attachment of the minute check code

            GameState.GlobalMap = obj.GlobalMap;
            GameState.PlayerCharacter = obj.PlayerCharacter;
            GameState._universeTime = obj.UniverseTime;

            //Reattach handlers
            _universeTime.DayChanged += new System.EventHandler(DayChanged);
            _universeTime.MonthChanged += new System.EventHandler(MonthChanged);
            _universeTime.MinuteChanged += new EventHandler(MinuteChanged);
        }