/* * ThreeWayHub.cs * Authors: Bradley R. Blankenship * Copyright (c) 2007-2008 Cornell University This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; using System.Collections.Generic; using System.Text; using Microsoft.Xna.Framework.Content; namespace ColonySim.Structures { /// /// This is a three way Hub in the game. /// class ThreeWayHub : Hub { #region Enums /// /// The directions that the hub can face. /// public enum Facings { Positive_Y, Positive_X, Negative_Y, Negative_X } #endregion #region Fields // The facing for the Hub Facings mFacing = Facings.Positive_Y; #endregion #region Properties /// /// Allows access to the facing of the Three Way Hub. /// public Facings Facing { get { return mFacing; } set { mFacing = value; } } #endregion #region Constructs /// /// Base constructor /// /// The Content Manager /// The model name /// The texture name public ThreeWayHub(ContentManager pContent, string pModelName, string pTextureName) : base(pContent, pModelName, pTextureName) { } #endregion #region Utility public override Structure Clone() { // Create the return value ThreeWayHub retVal = new ThreeWayHub(this.Content, this.ModelPath, this.TexturePath); // Set the values to ours retVal.Name = this.Name; retVal.FootPrintSize = this.FootPrintSize; retVal.Cost = this.Cost; retVal.DrawOrder = this.DrawOrder; retVal.Facing = this.Facing; // Return the retval return retVal; } #endregion } }