From befe132861b1995dfe776d4e134a90fc243d1a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dami=C3=A1n=20Imrich?= Date: Thu, 8 Apr 2021 12:24:59 +0200 Subject: cPieceModifier interface and cPieceModifierRandomizeBlocks class (#5122) --- src/Generating/PiecePool.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/Generating/PiecePool.cpp') diff --git a/src/Generating/PiecePool.cpp b/src/Generating/PiecePool.cpp index 4b4303516..a7c28e75a 100644 --- a/src/Generating/PiecePool.cpp +++ b/src/Generating/PiecePool.cpp @@ -8,6 +8,7 @@ #include "PiecePool.h" #include "VerticalStrategy.h" #include "VerticalLimit.h" +#include "PieceModifier.h" @@ -46,6 +47,29 @@ bool cPiece::SetVerticalLimitFromString(const AString & a_LimitDesc, bool a_LogW +bool cPiece::SetPieceModifiersFromString(const AString & a_Definition, bool a_LogWarnings) +{ + auto modifiers = std::make_shared(); + if (!CreatePieceModifierFromString(a_Definition, modifiers, a_LogWarnings)) + { + return false; + } + + cPieceModifiers Modifiers; + for (size_t i = 0; i < modifiers->size(); i++) + { + Modifiers.push_back(std::move(modifiers->at(i))); + } + + m_Modifiers = Modifiers; + + return true; +} + + + + + Vector3i cPiece::RotatePos(const Vector3i & a_Pos, int a_NumCCWRotations) const { Vector3i Size = GetSize(); -- cgit v1.2.3