Changeset View
Changeset View
Standalone View
Standalone View
source/simulation2/components/CCmpVisualActor.cpp
Show All 17 Lines | |||||
#include "precompiled.h" | #include "precompiled.h" | ||||
#include "simulation2/system/Component.h" | #include "simulation2/system/Component.h" | ||||
#include "ICmpVisual.h" | #include "ICmpVisual.h" | ||||
#include "simulation2/MessageTypes.h" | #include "simulation2/MessageTypes.h" | ||||
#include "ICmpFootprint.h" | #include "ICmpFootprint.h" | ||||
#include "ICmpIdentity.h" | |||||
#include "ICmpUnitRenderer.h" | #include "ICmpUnitRenderer.h" | ||||
#include "ICmpOwnership.h" | #include "ICmpOwnership.h" | ||||
#include "ICmpPosition.h" | #include "ICmpPosition.h" | ||||
#include "ICmpTemplateManager.h" | #include "ICmpTemplateManager.h" | ||||
#include "ICmpTerrain.h" | #include "ICmpTerrain.h" | ||||
#include "ICmpUnitMotion.h" | #include "ICmpUnitMotion.h" | ||||
#include "ICmpValueModificationManager.h" | #include "ICmpValueModificationManager.h" | ||||
#include "ICmpVisibility.h" | #include "ICmpVisibility.h" | ||||
▲ Show 20 Lines • Show All 159 Lines • ▼ Show 20 Lines | virtual void Init(const CParamNode& paramNode) | ||||
m_ConstructionPreview = paramNode.GetChild("ConstructionPreview").IsOk(); | m_ConstructionPreview = paramNode.GetChild("ConstructionPreview").IsOk(); | ||||
m_Seed = GetEntityId(); | m_Seed = GetEntityId(); | ||||
m_IsFoundationActor = paramNode.GetChild("Foundation").IsOk() && paramNode.GetChild("FoundationActor").IsOk(); | m_IsFoundationActor = paramNode.GetChild("Foundation").IsOk() && paramNode.GetChild("FoundationActor").IsOk(); | ||||
if (m_IsFoundationActor) | if (m_IsFoundationActor) | ||||
m_BaseActorName = m_ActorName = paramNode.GetChild("FoundationActor").ToString(); | m_BaseActorName = m_ActorName = paramNode.GetChild("FoundationActor").ToString(); | ||||
else | else | ||||
m_BaseActorName = m_ActorName = paramNode.GetChild("Actor").ToString(); | { | ||||
m_BaseActorName = paramNode.GetChild("Actor").ToString(); | |||||
std::wstring actorString = m_BaseActorName; | |||||
CmpPtr<ICmpIdentity> cmpIdentity(GetEntityHandle()); | |||||
if (cmpIdentity) | |||||
actorString = cmpIdentity->GetVisualActor(); | |||||
m_ActorName = actorString; | |||||
} | |||||
m_VisibleInAtlasOnly = paramNode.GetChild("VisibleInAtlasOnly").ToBool(); | m_VisibleInAtlasOnly = paramNode.GetChild("VisibleInAtlasOnly").ToBool(); | ||||
m_IsActorOnly = paramNode.GetChild("ActorOnly").IsOk(); | m_IsActorOnly = paramNode.GetChild("ActorOnly").IsOk(); | ||||
InitModel(paramNode); | InitModel(paramNode); | ||||
SelectAnimation("idle"); | SelectAnimation("idle"); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 307 Lines • ▼ Show 20 Lines | if (!m_Unit) | ||||
return; | return; | ||||
if (name != m_ActorName) | if (name != m_ActorName) | ||||
return; | return; | ||||
ReloadActor(); | ReloadActor(); | ||||
} | } | ||||
virtual std::wstring GetBaseVisualActor() const | |||||
{ | |||||
return m_BaseActorName; | |||||
} | |||||
private: | private: | ||||
/// Helper function shared by component init and actor reloading | /// Helper function shared by component init and actor reloading | ||||
void InitModel(const CParamNode& paramNode); | void InitModel(const CParamNode& paramNode); | ||||
/// Helper method; initializes the model selection shape descriptor from XML. Factored out for readability of @ref Init. | /// Helper method; initializes the model selection shape descriptor from XML. Factored out for readability of @ref Init. | ||||
void InitSelectionShapeDescriptor(const CParamNode& paramNode); | void InitSelectionShapeDescriptor(const CParamNode& paramNode); | ||||
// ReloadActor is used when the actor or seed changes. | // ReloadActor is used when the actor or seed changes. | ||||
▲ Show 20 Lines • Show All 208 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator