animation doesn't work

This commit is contained in:
Samat Agishev 2018-02-05 19:53:52 +05:00
parent cfd1a0a062
commit 992befeb45
5 changed files with 33 additions and 78 deletions

View File

@ -14,7 +14,7 @@
#include "main_code.h"
#ifndef TARGET_IOS
boost::shared_ptr<TMyApplication> App(new TMyApplication);
std::shared_ptr<TMyApplication> App = std::make_shared<TMyApplication>();
#endif
bool animPaused = false;
@ -115,48 +115,6 @@ void TMyApplication::InnerInit()
Match3Controller.Match3Field = std::make_shared<TMatch3Field>(Match3Controller);
/*
ResourceManager->GUIManager.AddWidgetAndFill(boost::shared_ptr<TInstancingWidgetAncestor>(new TSquareButton),
"ololo", "group1",
boost::shared_ptr<TTriangleListFillerAncestor>(new TSquareButtonTriangleListFiller(vec2(100, 100), vec2(200, 200), "button_normal", "button_pressed")));
ResourceManager->GUIManager.AddWidgetAndFill(boost::shared_ptr<TInstancingWidgetAncestor>(new TSquareStatic),
"Background", "group1",
boost::shared_ptr<TSquareStaticTriangleListFiller>(new TSquareStaticTriangleListFiller(vec2(0, 0), vec2(800, 480), "cave_hd")));
ResourceManager->GUIManager.AddWidget(boost::shared_ptr<TInstancingWidgetAncestor>(new TMatch3Field(Match3Controller)),
"match3", "group1");
ResourceManager->GUIManager.MoveWidget("ololo", vec2(-100, 0));
TOnClickTest OnClickTest;
*/
//ResourceManager->GUIManager.GetOnClickSignal("ololo").connect(OnClickTest);
//testAnimObject.Serialize(FileToPropertyTree("test_animation_xml.xml"));
//ResourceManager->HalibutAnimationManager.AddAnimationObject("test_anim", testAnimObject);
//ResourceManager->HalibutAnimationManager.StartAnimation("test_anim");
//ResourceManager->ShaderManager.AddShader("DefaultShader", "shader_vertex.txt", "shader_fragment.txt");
/*HalibutRender->PushShader("DefaultShader");
ResourceManager->TexList.AddTexture(CONST_CONSOLE_TEX_NAME);
ResourceManager->FontManager.AddFont("droid_sans14", "droid_sans14_font_bitmap.bmp32", "droid_sans14_font_charmap.txt");
ResourceManager->FontManager.PushFont("droid_sans14");*/
//glDisable(GL_CULL_FACE);
}
//What to do on deinit
@ -197,13 +155,10 @@ void TMyApplication::InnerOnTapUp(Eigen::Vector2f p) {
}
Match3Controller.Match3Field.get()->OnTapUp(p);
}
void TMyApplication::InnerOnTapUpAfterMove(Eigen::Vector2f p) {
//Match3Controller.Match3Field.get()->
}
void TMyApplication::InnerOnMove(Eigen::Vector2f pos, Eigen::Vector2f shift) {
if (!Match3Controller.Match3Field.get()->CheckClick(pos)) {
return;
}
Match3Controller.Match3Field.get()->OnMove(pos);
// if (!Match3Controller.Match3Field.get()->CheckClick(pos)) {
// return;
// }
// Match3Controller.Match3Field.get()->OnMove(pos);
}

View File

@ -64,13 +64,11 @@ public:
virtual void InnerOnTapUp(Eigen::Vector2f p) override;
virtual void InnerOnTapUpAfterMove(Eigen::Vector2f p) override;
virtual void InnerOnMove(Eigen::Vector2f pos, Eigen::Vector2f shift) override;
};
#ifndef TARGET_IOS
extern boost::shared_ptr<TMyApplication> App;
extern std::shared_ptr<TMyApplication> App;
#endif
#endif

View File

@ -54,7 +54,7 @@ void TMatch3FieldParams::Serialize(boost::property_tree::ptree& propertyTree)
ChipMatchTime = propertyTree.get<size_t>("Match3Params.ChipMatchTime");
ChipTypeCount = propertyTree.get<size_t>("Match3Params.ChipTypeCount");
BOOST_FOREACH(boost::property_tree::ptree::value_type &v, propertyTree.get_child("Match3Params.ChipList"))
for (boost::property_tree::ptree::value_type &v : propertyTree.get_child("Match3Params.ChipList"))
{
boost::property_tree::ptree& p = v.second.get_child("");
chipTemplateParams.Serialize(p);
@ -181,14 +181,14 @@ Eigen::Vector2f TMatch3Logic::GetExpectedLeftBottomPos(size_t x, size_t y)
void TMatch3Logic::StartAnimateChip(size_t x, size_t y)
{
//return;
SE::ResourceManager->HalibutAnimationManager.StartAnimation(ChipMatrix[x][y].AnimName);
}
void TMatch3Logic::StopAnimateChip(size_t x, size_t y)
{
//return;
SE::ResourceManager->HalibutAnimationManager.StopAnimation(ChipMatrix[x][y].AnimName);
}
@ -413,8 +413,6 @@ void TMatch3Logic::MoveVertexListShiftBackWithoutAnimation(SE::TRenderPairList::
void TMatch3Logic::InnerAddChipToUp(size_t colNum, int chipType, Eigen::Vector2f spawnPos, TChip::TChipState chipState)
{
size_t yPos = ChipMatrix[colNum].size();
Eigen::Vector2f posFrom = spawnPos;
Eigen::Vector2f posTo = posFrom + Eigen::Vector2f(Match3FieldParams.CellWidth, Match3FieldParams.CellHeight);
@ -448,9 +446,9 @@ void TMatch3Logic::InnerAddChipToUp(size_t colNum, int chipType, Eigen::Vector2f
void TMatch3Logic::AddChipToUp(size_t colNum, int chipType, Eigen::Vector2f spawnPos, TChip::TChipState chipState)
{
InnerAddChipToUp(colNum, chipType, spawnPos, chipState);
size_t yPos = ChipMatrix[colNum].size();
size_t yPos = ChipMatrix[colNum].size() - 1; //?
InnerAddChipToUp(colNum, chipType, spawnPos, chipState);
ReplaceAnimation(Eigen::Vector2i(colNum, yPos));
@ -484,7 +482,7 @@ void TMatch3Logic::InsertEmptyChip(size_t colNum, size_t rowNum, int chipType)
ReplaceAnimation(Eigen::Vector2i(colNum, rowNum));
triangleList.NeedRefreshBuffer = true;
//triangleList.NeedRefreshBuffer = true;
Eigen::Vector2f pos = GetExpectedLeftBottomPos(colNum, rowNum);
@ -565,8 +563,8 @@ void TMatch3Logic::UpdateChipSwapping(size_t dt)
chip2.RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB][chip2.VertexListShift + k] += shiftChip2;
}
chip1.RenderPair->second.NeedRefreshBuffer = true;
chip2.RenderPair->second.NeedRefreshBuffer = true;
//chip1.RenderPair->second.NeedRefreshBuffer = true;
//chip2.RenderPair->second.NeedRefreshBuffer = true;
}
@ -655,7 +653,7 @@ void TMatch3Logic::UpdateChipPosition(size_t dt)
}
chip.RenderPair->second.NeedRefreshBuffer = true;
//chip.RenderPair->second.NeedRefreshBuffer = true;
for (size_t k = j + 1; k < ChipMatrix[i].size(); k++)
{
@ -671,7 +669,7 @@ void TMatch3Logic::UpdateChipPosition(size_t dt)
chipAbove.ChipState = TChip::CS_FALLING;
chipAbove.SetLeftBottomPos(chip.GetLeftBottomPos() + Eigen::Vector2f(0, Match3FieldParams.CellHeight));
chipAbove.Velocity = chip.Velocity;
chipAbove.RenderPair->second.NeedRefreshBuffer = true;
//chipAbove.RenderPair->second.NeedRefreshBuffer = true;
}
}
}
@ -715,9 +713,10 @@ void TMatch3Logic::TryMatchAllChips()
void TMatch3Logic::DestroyChip(Eigen::Vector2i p)
{
ChipMatrix[p[0]][p[1]].RenderPair->second.NeedRefreshBuffer = true;
//ChipMatrix[p[0]][p[1]].RenderPair->second.NeedRefreshBuffer = true;
SE::ResourceManager->HalibutAnimationManager.DeleteAnimationObject(ChipMatrix[p[0]][p[1]].AnimName);
ChipMatrix[p[0]][p[1]].RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].erase(
ChipMatrix[p[0]][p[1]].RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].begin() + ChipMatrix[p[0]][p[1]].VertexListShift,
@ -761,14 +760,14 @@ void TMatch3Logic::ChangeChipType(Eigen::Vector2i p)
MoveVertexListShiftBack(chip.RenderPair, chip.VertexListShift);
chip.RenderPair->second.NeedRefreshBuffer = true;
//chip.RenderPair->second.NeedRefreshBuffer = true;
chip.ChipType = newChipType;
RenderPairIteratorVector[newChipType]->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].insert(RenderPairIteratorVector[newChipType]->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].end(), vertexCoordSubVec.begin(), vertexCoordSubVec.end());
RenderPairIteratorVector[newChipType]->second.Data.Vec2CoordArr[SE::CONST_STRING_TEXCOORD_ATTRIB].insert(RenderPairIteratorVector[newChipType]->second.Data.Vec2CoordArr[SE::CONST_STRING_TEXCOORD_ATTRIB].end(), texCoordSubVec.begin(), texCoordSubVec.end());
RenderPairIteratorVector[newChipType]->second.NeedRefreshBuffer = true;
//RenderPairIteratorVector[newChipType]->second.NeedRefreshBuffer = true;
chip.RenderPair = RenderPairIteratorVector[newChipType];
chip.VertexListShift = RenderPairIteratorVector[newChipType]->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB].size() - 6;
@ -910,7 +909,7 @@ void TMatch3Logic::SwapChips(Eigen::Vector2i p1, Eigen::Vector2i p2, bool isRetu
Eigen::Vector2f chip2PosFrom(LeftBottomPosField[0] + p2[0]*Match3FieldParams.CellWidth, LeftBottomPosField[1] + p2[1]*Match3FieldParams.CellHeight);
ChipSwappingPairVector.push_back(TChipSwappingPair(p1, p2, chip1PosFrom, chip2PosFrom));
(ChipSwappingPairVector.end() - 1)->IsReturning = isReturning;
ChipSwappingPairVector.back().IsReturning = isReturning;
ChipMatrix[p1[0]][p1[1]].ChipState = TChip::CS_SWAPPING;
ChipMatrix[p2[0]][p2[1]].ChipState = TChip::CS_SWAPPING;
@ -932,7 +931,7 @@ void TMatch3Logic::ResetChipPos(Eigen::Vector2i p)
chip.RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB][chip.VertexListShift + i] = vertexCoordVec[i];
}
chip.RenderPair->second.NeedRefreshBuffer = true;
//chip.RenderPair->second.NeedRefreshBuffer = true;
}
@ -973,7 +972,7 @@ void TMatch3Logic::UpdateLogic(size_t dt)
std::vector<Eigen::Vector3f> vertexCoordArr = SE::MakeVertexCoordVec(centerPos - (1.f - i->T)*halfPos, centerPos + (1.f - i->T)*halfPos, ZLEVEL);
for (int t = 0; t < 6; t++)
for (int t = 0; t < 6; t++)
{
ChipMatrix[p[0]][p[1]].RenderPair->second.Data.Vec3CoordArr[SE::CONST_STRING_POSITION_ATTRIB][ChipMatrix[p[0]][p[1]].VertexListShift + t] = vertexCoordArr[t];
}
@ -994,6 +993,7 @@ void TMatch3Logic::UpdateLogic(size_t dt)
}
}
RemoveBubbles();
}
@ -1168,7 +1168,7 @@ void TMatch3Field::FillBasicChipMatrixAndTriangleList()
for (SE::TRenderPairList::iterator i = TriangleListVector.begin(); i != TriangleListVector.end(); ++i)
{
i->second.NeedRefreshBuffer = false;
//i->second.NeedRefreshBuffer = false;
i->second.RefreshBuffer();
}
@ -1192,14 +1192,11 @@ void TMatch3Field::Update(size_t dt)
TMatch3Logic::UpdateLogic(dt);
SE::TRenderPairList::iterator i;
for (i = TriangleListVector.begin(); i != TriangleListVector.end(); ++i)
{
if (i->second.NeedRefreshBuffer)
{
i->second.RefreshBuffer();
}
i->second.RefreshBuffer();
}
int y = 6;

View File

@ -4,6 +4,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Crystal of Rhylil", "Crystal of Rhylil\Crystal of Rhylil.vcxproj", "{0080A3E1-DFBF-4557-B198-E6D5D7724393}"
ProjectSection(ProjectDependencies) = postProject
{534F100C-E611-43BF-B6F3-AD9F9925F703} = {534F100C-E611-43BF-B6F3-AD9F9925F703}
{03736B28-58F6-4AEA-9D37-B6AC4F5F853B} = {03736B28-58F6-4AEA-9D37-B6AC4F5F853B}
{A05BADE1-D792-4620-9928-13A7AFD0F195} = {A05BADE1-D792-4620-9928-13A7AFD0F195}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Engine", "..\..\tes-engine\windows\Engine\Engine.vcxproj", "{534F100C-E611-43BF-B6F3-AD9F9925F703}"
EndProject

View File

@ -7,7 +7,7 @@
#include "boost/foreach.hpp"
extern boost::shared_ptr<TMyApplication> App;
extern std::shared_ptr<TMyApplication> App;
int APIENTRY WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst,
LPSTR lpszCmdLine, int nCmdShow)