speciesgen/src/starpounds/weightstage.cpp

112 lines
3.9 KiB
C++

/*
speciesgen
Copyright (C) 2022-2023 prisixia
This file is part of speciesgen.
speciesgen 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 3 of the License, or
(at your option) any later version.
speciesgen 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 speciesgen. If not, see <https://www.gnu.org/licenses/>.
*/
#include "starpounds/weightstage.h"
namespace Starpounds {
//----------------------------------------------------------------------
// WeightStageSub
//----------------------------------------------------------------------
WeightStageSub::WeightStageSub(std::string name, std::string friendlyName,
std::string descriptionChest,
const Types::Chests typeChest)
: m_name(std::move(name)), m_friendlyName(std::move(friendlyName)),
m_descriptionChest(std::move(descriptionChest)), m_typeChest(typeChest) {}
WeightStageSub::WeightStageSub(std::string name)
: m_name(std::move(name)), m_typeChest(Types::Chests::Chest) {}
WeightStageSub::WeightStageSub(const Types::Subs type,
std::string descriptionChest)
: m_name(Types::AsString(type)), m_friendlyName(Types::AsFriendly(type)),
m_descriptionChest(std::move(descriptionChest)),
m_typeChest(Types::AsChest(type)) {}
std::string WeightStageSub::GetName() const { return m_name; }
std::string WeightStageSub::GetFriendlyName() const { return m_friendlyName; }
std::string WeightStageSub::GetChestDescription() const {
return m_descriptionChest;
}
Types::Chests WeightStageSub::GetChestType() const { return m_typeChest; }
void WeightStageSub::SetName(const std::string &name) { m_name = name; }
void WeightStageSub::SetFriendlyName(const std::string &friendlyName) {
m_friendlyName = friendlyName;
}
void WeightStageSub::SetChestDescription(const std::string &descriptionChest) {
m_descriptionChest = descriptionChest;
}
void WeightStageSub::SetChestType(const Types::Chests typeChest) {
m_typeChest = typeChest;
}
//----------------------------------------------------------------------
// WeightStage
//----------------------------------------------------------------------
WeightStage::WeightStage(const std::string &name,
const std::string &friendlyName,
const std::string &descriptionChest,
const Types::Chests typeChest,
std::string descriptionLeg, const Types::Legs typeLeg,
const bool frames, const bool id,
std::vector<WeightStageSub> subs)
: WeightStageSub(name, friendlyName, descriptionChest, typeChest),
m_descriptionLeg(std::move(descriptionLeg)), m_typeLeg(typeLeg),
m_frames(frames), m_id(id), m_subs(std::move(subs)) {}
WeightStage::WeightStage(const std::string &name, const bool frames,
const bool id, std::vector<WeightStageSub> subs)
: WeightStageSub(name), m_typeLeg(Types::Legs::Legs), m_frames(frames),
m_id(id), m_subs(std::move(subs)) {}
std::string WeightStage::GetLegDescription() const { return m_descriptionLeg; }
Types::Legs WeightStage::GetLegType() const { return m_typeLeg; }
bool WeightStage::HasFrames() const { return m_frames; }
bool WeightStage::HasID() const { return m_id; }
std::vector<WeightStageSub> WeightStage::GetSubs() const { return m_subs; }
void WeightStage::SetLegDescription(const std::string &descriptionLeg) {
m_descriptionLeg = descriptionLeg;
}
void WeightStage::SetLegType(const Types::Legs typeLeg) { m_typeLeg = typeLeg; }
void WeightStage::SetFrames(const bool frames) { m_frames = frames; }
void WeightStage::SetID(const bool id) { m_id = id; }
void WeightStage::SetSubs(const std::vector<WeightStageSub> &subs) {
m_subs = subs;
}
} // namespace Starpounds