Switching rooms

This commit is contained in:
viktorljung
2016-03-03 01:39:12 +01:00
parent e9bbb5ed2a
commit 362378536e
10 changed files with 1375 additions and 716 deletions
@@ -57,10 +57,13 @@ private:
EntityWrapper RootNode = EntityWrapper::Invalid;
double Duration;
double CurrentTime = 0.0;
double Delay = 0.0;
BlendTree::AutoBlendInfo BlendInfo;
};
std::list<AutoBlendJob> m_AutoBlendJobs;
std::unordered_map<EntityWrapper, AutoBlendJob> m_QueuedAutoBlendJobs;
std::list<BlendJob> m_BlendJobs;
std::list<QueuedBlendJob> m_QueuedBlendJobs;
+27
View File
@@ -0,0 +1,27 @@
#ifndef AutoBlendQueue_h__
#define AutoBlendQueue_h__
#include "../Core/ResourceManager.h"
#include "Skeleton.h"
#include "Model.h"
#include "BlendTree.h"
class AutoBlendQueue
{
public:
struct AutoBlendJob
{
EntityWrapper RootNode = EntityWrapper::Invalid;
double Duration;
double CurrentTime = 0.0;
double Delay = 0.0;
BlendTree::AutoBlendInfo BlendInfo;
};
private:
std::map<double, AutoBlendJob> m_BlendQueue;
};
#endif
+3
View File
@@ -60,9 +60,12 @@ public:
{
std::string NodeName;
double progress;
bool Restart;
double AnimationSpeed;
std::unordered_map<EntityWrapper, double> StartWeights;
};
BlendTree(EntityWrapper ModelEntity, Skeleton* skeleton);
~BlendTree();
@@ -11,7 +11,12 @@ struct AutoAnimationBlend : Event
{
EntityWrapper RootNode = EntityWrapper::Invalid;
std::string NodeName;
double Duration;
double Duration = 0.0;
double Delay = 0.0;
double AnimationSpeed = 1.0;
bool Restart = false;
EntityWrapper AnimationEntity = EntityWrapper::Invalid;
};