X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fbattle%2FPartyLayout.cpp;h=00fa930f9eb711853e469e32c61bc14d456ad96d;hb=dc275497c592669dda75645604a9b35d32f63e90;hp=78d2999eab2ed8ad0784b70451865ba82a6b68bf;hpb=46d158b25b842d2ec4b9734af09ca6006c934498;p=l2e.git diff --git a/src/battle/PartyLayout.cpp b/src/battle/PartyLayout.cpp index 78d2999..00fa930 100644 --- a/src/battle/PartyLayout.cpp +++ b/src/battle/PartyLayout.cpp @@ -1,16 +1,11 @@ -/* - * PartyLayout.cpp - * - * Created on: Aug 5, 2012 - * Author: holy - */ - #include "PartyLayout.h" +#include "../loader/Interpreter.h" #include "../loader/TypeDescription.h" -using geometry::Vector; +using math::Vector; using loader::FieldDescription; +using loader::Interpreter; using loader::TypeDescription; using std::vector; @@ -39,12 +34,16 @@ void PartyLayout::CalculatePositions(int width, int height, vector > void PartyLayout::CreateTypeDescription() { PartyLayout p; - int vectorId(TypeDescription::GetTypeId("Vector")); - - TypeDescription &td(TypeDescription::CreateOrGet("PartyLayout")); + TypeDescription &td(TypeDescription::Create(TYPE_ID, "PartyLayout")); + td.SetDescription("Positions of party members"); + td.SetConstructor(&Construct); td.SetSize(sizeof(PartyLayout)); - td.AddField("positions", FieldDescription(((char *)&p.positions) - ((char *)&p), vectorId, true, true)); + td.AddField("positions", FieldDescription(((char *)&p.positions) - ((char *)&p), Interpreter::VECTOR_ID).SetAggregate().SetDescription("the members' positions")); +} + +void PartyLayout::Construct(void *data) { + new (data) PartyLayout; } }