Fix entity ID association with animations. Fixes #790.
This was SVN commit r9286.
This commit is contained in:
parent
6d946cc58d
commit
91ad17c685
@ -70,6 +70,13 @@ void CUnit::UpdateModel(float frameTime)
|
||||
m_Animation->Update(frameTime*1000.0f);
|
||||
}
|
||||
|
||||
void CUnit::SetID(entity_id_t id)
|
||||
{
|
||||
m_ID = id;
|
||||
if (m_Animation)
|
||||
m_Animation->SetEntityID(id);
|
||||
}
|
||||
|
||||
void CUnit::SetEntitySelection(const CStr& selection)
|
||||
{
|
||||
CStr selection_lc = selection.LowerCase();
|
||||
|
@ -71,7 +71,7 @@ public:
|
||||
// persistently despite saving/loading maps. Default for new units is -1; should
|
||||
// usually be set to CUnitManager::GetNewID() after creation.
|
||||
entity_id_t GetID() const { return m_ID; }
|
||||
void SetID(entity_id_t id) { m_ID = id; }
|
||||
void SetID(entity_id_t id);
|
||||
|
||||
const std::set<CStr>& GetActorSelections() const { return m_ActorSelections; }
|
||||
|
||||
|
@ -47,6 +47,11 @@ CUnitAnimation::CUnitAnimation(entity_id_t ent, CModel* model, CObjectEntry* obj
|
||||
ReloadUnit(model, object);
|
||||
}
|
||||
|
||||
void CUnitAnimation::SetEntityID(entity_id_t ent)
|
||||
{
|
||||
m_Entity = ent;
|
||||
}
|
||||
|
||||
void CUnitAnimation::AddModel(CModel* model, const CObjectEntry* object)
|
||||
{
|
||||
SModelAnimState state;
|
||||
|
@ -41,6 +41,12 @@ public:
|
||||
*/
|
||||
CUnitAnimation(entity_id_t ent, CModel* model, CObjectEntry* object);
|
||||
|
||||
/**
|
||||
* Change the entity ID associated with this animation
|
||||
* (currently used for playing locational sound effects).
|
||||
*/
|
||||
void SetEntityID(entity_id_t ent);
|
||||
|
||||
/**
|
||||
* Start playing an animation.
|
||||
* The unit's actor defines the available animations, and if more than one is available
|
||||
|
Loading…
Reference in New Issue
Block a user