/* * CommandPost.cs * Authors: * 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 Microsoft.Xna.Framework.Content; namespace ColonySim.Structures { /// /// This represents the central Hub of the Colony. This is where the /// structures branch off and begin branching out into space. /// class CommandPost : Structure { #region Constructs /// /// Base constructor /// /// The Content Manager /// The model name /// The texture name public CommandPost(ContentManager pContent, string pModelName, string pTextureName) : base(pContent, pModelName, pTextureName) { RequiresBuildArea = false; BuildRadius = 5; } #endregion #region Behavior #endregion #region Utility /// /// Returns a clone of this structure. /// /// The cloned structure. public override Structure Clone() { // Create the return value CommandPost retVal = new CommandPost(Content, ModelPath, TexturePath); // Set the values to ours retVal.Name = Name; retVal.FootPrintSize = FootPrintSize; retVal.Cost = Cost; retVal.BuildRadius = BuildRadius; retVal.DrawOrder = DrawOrder; retVal.TechniqueName = TechniqueName; retVal.RequiresBuildArea = RequiresBuildArea; retVal.AlphaMapPath = AlphaMapPath; // Return the retval return retVal; } public override string ToSaveString() { System.Text.StringBuilder returnString = new System.Text.StringBuilder(); if (Name == null) returnString.Append("null "); else { returnString.Append(Name); returnString.Append(" "); } returnString.Append(FootPrintSize.X); returnString.Append(" "); returnString.Append(FootPrintSize.Y); returnString.Append(" "); returnString.Append(Cost); returnString.Append(" "); returnString.Append(BuildRadius); returnString.Append(" "); returnString.Append(DrawOrder); returnString.Append(" "); returnString.Append(TechniqueName); returnString.Append(" "); returnString.AppendLine(); return returnString.ToString(); } #endregion } }