// Copyright (c) 2005-2011 Code Synthesis Tools CC
//
// This program was generated by CodeSynthesis XSD/e, an XML Schema
// to C++ data binding compiler for embedded systems.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
//
// 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
//

#include <xsde/cxx/pre.hxx>

// Begin prologue.
//
//
// End prologue.

#include "WeaponDescription.h"

// WeaponTypeEnum
//

WeaponTypeEnum::
WeaponTypeEnum ()
{
}

WeaponTypeEnum::
WeaponTypeEnum (value_type v)
{
  value_ = v;
}

void WeaponTypeEnum::
value (value_type v)
{
  value_ = v;
}

// RangeType
//

float RangeType::
Initial () const
{
  return this->Initial_;
}

float& RangeType::
Initial ()
{
  return this->Initial_;
}

void RangeType::
Initial (float x)
{
  this->Initial_ = x;
}

float RangeType::
Up () const
{
  return this->Up_;
}

float& RangeType::
Up ()
{
  return this->Up_;
}

void RangeType::
Up (float x)
{
  this->Up_ = x;
}

float RangeType::
Down () const
{
  return this->Down_;
}

float& RangeType::
Down ()
{
  return this->Down_;
}

void RangeType::
Down (float x)
{
  this->Down_ = x;
}

// WeaponDescriptionType
//

const ::WeaponTypeEnum& WeaponDescriptionType::
WeaponType () const
{
  return this->WeaponType_;
}

::WeaponTypeEnum& WeaponDescriptionType::
WeaponType ()
{
  return this->WeaponType_;
}

void WeaponDescriptionType::
WeaponType (const ::WeaponTypeEnum& x)
{
  this->WeaponType_ = x;
}

const ::std::string& WeaponDescriptionType::
Icon () const
{
  return this->Icon_;
}

::std::string& WeaponDescriptionType::
Icon ()
{
  return this->Icon_;
}

void WeaponDescriptionType::
Icon (const ::std::string& x)
{
  this->Icon_ = x;
}

const ::RangeType& WeaponDescriptionType::
Mass () const
{
  return this->Mass_;
}

::RangeType& WeaponDescriptionType::
Mass ()
{
  return this->Mass_;
}

void WeaponDescriptionType::
Mass (const ::RangeType& x)
{
  this->Mass_ = x;
}

const ::RangeType& WeaponDescriptionType::
Speed () const
{
  return this->Speed_;
}

::RangeType& WeaponDescriptionType::
Speed ()
{
  return this->Speed_;
}

void WeaponDescriptionType::
Speed (const ::RangeType& x)
{
  this->Speed_ = x;
}

const ::RangeType& WeaponDescriptionType::
ProjectileCount () const
{
  return this->ProjectileCount_;
}

::RangeType& WeaponDescriptionType::
ProjectileCount ()
{
  return this->ProjectileCount_;
}

void WeaponDescriptionType::
ProjectileCount (const ::RangeType& x)
{
  this->ProjectileCount_ = x;
}

#include <stdlib.h>
#include <new>

// WeaponTypeEnum
//

static const char* _xsde_WeaponTypeEnum_enumerators_[] = 
{
  "PROJECTILE"
};

const char* WeaponTypeEnum::
string () const
{
  return _xsde_WeaponTypeEnum_enumerators_[value_];
}

// RangeType
//

RangeType::
RangeType ()
{
}

RangeType::
~RangeType ()
{
}

RangeType::
RangeType (const RangeType& x)
{
  XSDE_UNUSED (x);
  this->Initial_ = x.Initial_;
  this->Up_ = x.Up_;
  this->Down_ = x.Down_;
}

RangeType& RangeType::
operator= (const RangeType& x)
{
  XSDE_UNUSED (x);
  this->Initial_ = x.Initial_;
  this->Up_ = x.Up_;
  this->Down_ = x.Down_;
  return *this;
}

// WeaponDescriptionType
//

WeaponDescriptionType::
WeaponDescriptionType ()
{
}

WeaponDescriptionType::
~WeaponDescriptionType ()
{
}

WeaponDescriptionType::
WeaponDescriptionType (const WeaponDescriptionType& x)
{
  XSDE_UNUSED (x);
  this->WeaponType_ = x.WeaponType_;
  this->Icon_ = x.Icon_;
  this->Mass_ = x.Mass_;
  this->Speed_ = x.Speed_;
  this->ProjectileCount_ = x.ProjectileCount_;
}

WeaponDescriptionType& WeaponDescriptionType::
operator= (const WeaponDescriptionType& x)
{
  XSDE_UNUSED (x);
  this->WeaponType_ = x.WeaponType_;
  this->Icon_ = x.Icon_;
  this->Mass_ = x.Mass_;
  this->Speed_ = x.Speed_;
  this->ProjectileCount_ = x.ProjectileCount_;
  return *this;
}

// Begin epilogue.
//
//
// End epilogue.

#include <xsde/cxx/post.hxx>

