in SharedContent/cpp/GameContent/Level3.cpp [29:174]
void Level3::Initialize(std::vector<GameObject^> objects)
{
XMFLOAT3 position[] =
{
XMFLOAT3(-2.5f, -1.0f, -1.5f),
XMFLOAT3(-1.0f, 1.0f, -3.0f),
XMFLOAT3( 1.5f, 0.0f, -5.5f),
XMFLOAT3(-2.5f, -1.0f, -5.5f),
XMFLOAT3( 0.5f, -2.0f, -5.0f),
XMFLOAT3( 1.5f, -2.0f, -5.5f),
XMFLOAT3( 0.0f, -3.6f, 0.0f),
XMFLOAT3( 0.0f, -3.6f, 0.0f),
XMFLOAT3( 0.0f, -3.6f, 0.0f)
};
XMFLOAT3 LineList1[] =
{
XMFLOAT3(-2.5f, -1.0f, -1.5f),
XMFLOAT3(-0.5f, 1.0f, 1.0f),
XMFLOAT3(-0.5f, -2.5f, 1.0f),
XMFLOAT3(-2.5f, -1.0f, -1.5f),
};
XMFLOAT3 LineList2[] =
{
XMFLOAT3(-1.0f, 1.0f, -3.0f),
XMFLOAT3(-2.0f, 2.0f, -1.5f),
XMFLOAT3(-2.0f, -2.5f, -1.5f),
XMFLOAT3( 1.5f, -2.5f, -1.5f),
XMFLOAT3( 1.5f, -2.5f, -3.0f),
XMFLOAT3(-1.0f, 1.0f, -3.0f),
};
XMFLOAT3 LineList3[] =
{
XMFLOAT3(1.5f, 0.0f, -5.5f),
XMFLOAT3(1.5f, 1.0f, -5.5f),
XMFLOAT3(1.5f, -2.5f, -5.5f),
XMFLOAT3(1.5f, 0.0f, -5.5f),
};
XMFLOAT3 LineList4[] =
{
XMFLOAT3(-2.5f, -1.0f, -5.5f),
XMFLOAT3( 1.0f, -1.0f, -5.5f),
XMFLOAT3( 1.0f, 1.0f, -5.5f),
XMFLOAT3(-2.5f, 1.0f, -5.5f),
XMFLOAT3(-2.5f, -1.0f, -5.5f),
};
XMFLOAT3 LineList5[] =
{
XMFLOAT3( 0.5f, -2.0f, -5.0f),
XMFLOAT3( 2.0f, -2.0f, -5.0f),
XMFLOAT3( 2.0f, 1.0f, -5.0f),
XMFLOAT3(-2.5f, 1.0f, -5.0f),
XMFLOAT3(-2.5f, -2.0f, -5.0f),
XMFLOAT3( 0.5f, -2.0f, -5.0f),
};
XMFLOAT3 LineList6[] =
{
XMFLOAT3( 1.5f, -2.0f, -5.5f),
XMFLOAT3(-2.5f, -2.0f, -5.5f),
XMFLOAT3(-2.5f, 1.0f, -5.5f),
XMFLOAT3( 1.5f, 1.0f, -5.5f),
XMFLOAT3( 1.5f, -2.0f, -5.5f),
};
int targetCount = 0;
for (auto object = objects.begin(); object != objects.end(); object++)
{
if (Face^ target = dynamic_cast<Face^>(*object))
{
if (targetCount < 9)
{
target->Active(true);
target->Target(true);
target->Hit(false);
target->Position(position[targetCount]);
switch (targetCount)
{
case 0:
target->AnimatePosition(ref new AnimateLineListPosition(4, LineList1, 10.0f, true));
break;
case 1:
target->AnimatePosition(ref new AnimateLineListPosition(6, LineList2, 15.0f, true));
break;
case 2:
target->AnimatePosition(ref new AnimateLineListPosition(4, LineList3, 15.0f, true));
break;
case 3:
target->AnimatePosition(ref new AnimateLineListPosition(5, LineList4, 15.0f, true));
break;
case 4:
target->AnimatePosition(ref new AnimateLineListPosition(6, LineList5, 15.0f, true));
break;
case 5:
target->AnimatePosition(ref new AnimateLineListPosition(5, LineList6, 15.0f, true));
break;
case 6:
target->AnimatePosition(
ref new AnimateCirclePosition(
XMFLOAT3(0.0f, -2.5f, 0.0f),
XMFLOAT3(0.0f, -3.6f, 0.0f),
XMFLOAT3(0.0f, 0.0f, 1.0f),
9.0f,
true,
true
)
);
break;
case 7:
target->AnimatePosition(
ref new AnimateCirclePosition(
XMFLOAT3(0.0f, -2.5f, 0.0f),
XMFLOAT3(0.0f, -3.6f, 0.0f),
XMFLOAT3(0.0f, 0.0f, 1.0f),
9.0f,
true,
true
)
);
target->AnimatePosition()->Start(3.0f);
break;
case 8:
target->AnimatePosition(
ref new AnimateCirclePosition(
XMFLOAT3(0.0f, -2.5f, 0.0f),
XMFLOAT3(0.0f, -3.6f, 0.0f),
XMFLOAT3(0.0f, 0.0f, 1.0f),
9.0f,
true,
true
)
);
target->AnimatePosition()->Start(6.0f);
break;
}
targetCount++;
}
else
{
target->Active(false);
}
}
else
{
(*object)->Active(false);
}
}
}