#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 EquipSoldierScreenController.cs * @date Created: 2008/03/02 * @author File creator: David Teviotdale * @author Credits: none */ #endregion #region Using Statements using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using ProjectXenocide.Utils; using ProjectXenocide.Model.Geoscape; using ProjectXenocide.Model.StaticData.Items; using ProjectXenocide.Model.Battlescape.Combatants; using ProjectXenocide.UI.Scenes; #endregion namespace ProjectXenocide.UI.Screens { /// This is the screen that lets player set the items a soldier carries public partial class EquipSoldierScreen { /// /// Specifies behaviour of screen, based on mode screen is running in. Modes: /// 1. Equip soldier in outpost /// 2. X-Corp soldier on battlescape /// 3. Alien soldier being probed on battlescape /// 4. Alien soldier being mind controlled on battlescape /// private abstract class Controller { /// Constructor /// The actual screen protected Controller(EquipSoldierScreen equipSoldierScreen) { this.equipSoldierScreen = equipSoldierScreen; } #region Create the CeGui widgets /// add Widgets to the screen public abstract void CreateCeguiWidgets(); #endregion Create the CeGui widgets #region event handlers /// React to user pressing the Close button public abstract void OnCloseButton(); #endregion event handlers #region fields /// Combatant this screen is currently showing public abstract Combatant Combatant { get; } /// The actual screen public EquipSoldierScreen EquipSoldierScreen { get { return equipSoldierScreen; } } /// The actual screen private EquipSoldierScreen equipSoldierScreen; #endregion } } }