#region Copyright
/*
--------------------------------------------------------------------------------
This source file is part of Xenocide
by Project Xenocide Team
For the latest info on Xenocide, see http://www.projectxenocide.com/
This work is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike 2.5 License.
To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-sa/2.5/
or send a letter to Creative Commons, 543 Howard Street, 5th Floor,
San Francisco, California, 94105, USA.
--------------------------------------------------------------------------------
*/
/*
* @file GameState.cs
* @date Created: 2007/01/28
* @author File creator: David Teviotdale
* @author Credits: none
*/
#endregion
#region Using Statements
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;
using ProjectXenocide.Model.Geoscape;
using ProjectXenocide.Model.Battlescape;
#endregion
namespace ProjectXenocide.Model
{
///
/// The root class that holds all "model" (as in model-view) data that is loaded/saved to file
///
[Serializable]
public class GameState
{
///
/// Construct a new GameState
///
public GameState()
{
//this will have to be moved to Initialize once we have load/save stuff inside a proper service
geodata = new GeoData();
}
///
/// Set to "start of new game" condition
///
public void SetToStartGameCondition()
{
GeoData.SetToStartGameCondition();
battlescape = null;
}
#region Fields
///
/// Data specific to the geoscape
///
public GeoData GeoData { get { return geodata; } }
///
/// The current battlescape (if there is one)
///
public Battle Battlescape { get { return battlescape; } set { battlescape = value; } }
///
/// Data specific to the geoscape
///
private GeoData geodata;
///
/// The current battlescape (if there is one)
///
private Battle battlescape;
#endregion Fields
}
}