void CActorControllerComponent::ProcessEvent(const SEntityEvent& event) { switch (event.event) { // Physicalize on level start for Launcher case EEntityEvent::LevelStarted: // Editor specific, physicalize on reset, property change or transform change case EEntityEvent::Reset: case EEntityEvent::EditorPropertyChanged: case EEntityEvent::TransformChangeFinishedInEditor: OnResetState(); break; case EEntityEvent::Update: { SEntityUpdateContext* pCtx = (SEntityUpdateContext*)event.nParam [0]; Update(pCtx); } break; case ENTITY_EVENT_PREPHYSICSUPDATE: PrePhysicsUpdate(); break; } }
void CItemComponent::Initialize() { // Manage our snaplocks. m_pSnaplockComponent = m_pEntity->GetOrCreateComponent<CSnaplockComponent>(); // Provide them with an effects controller for this entity. m_effectsController.Init(GetEntityId()); // Get it into a known state. OnResetState(); }
void CItemComponent::ProcessEvent(const SEntityEvent& event) { switch (event.event) { // Physicalize on level start for Launcher case EEntityEvent::LevelStarted: // Editor specific, physicalize on reset, property change or transform change case EEntityEvent::Reset: case EEntityEvent::EditorPropertyChanged: case EEntityEvent::TransformChangeFinishedInEditor: OnResetState(); break; } }
void CActorControllerComponent::Initialize() { // Mesh and animation. m_pAdvancedAnimationComponent = m_pEntity->GetOrCreateComponent<Cry::DefaultComponents::CAdvancedAnimationComponent>(); // Character movement controller. m_pCharacterControllerComponent = m_pEntity->GetOrCreateComponent<Cry::DefaultComponents::CCharacterControllerComponent>(); // We need to know which actor component we are paired with. The actor controller class is pretty worthless without this. m_pActorComponent = m_pEntity->GetOrCreateComponent<CActorComponent>(); CRY_ASSERT_MESSAGE(m_pActorComponent, "The actor controller component must be paired with an actor component."); // Initialise the movement state machine. MovementHSMInit(); // Get it into a known state. OnResetState(); }
void CContainerComponent::Initialize() { // Get some geometry. m_pGeometryComponent = m_pEntity->GetOrCreateComponent<Cry::DefaultComponents::CStaticMeshComponent>(); // Get a simple animation component. m_pSimpleAnimationComponent = m_pEntity->GetOrCreateComponent<CSimpleAnimationComponent>(); // Allow locking. m_lockableComponent = m_pEntity->GetOrCreateComponent<CLockableComponent>(); // We want to supply interaction verbs. m_interactor = m_pEntity->GetOrCreateComponent<CEntityInteractionComponent>(); if (m_interactor) { m_interactor->AddInteraction(std::make_shared<CInteractionOpenableOpen>(this)); m_interactor->AddInteraction(std::make_shared<CInteractionOpenableClose>(this)); m_interactor->AddInteraction(std::make_shared<CInteractionLockableLock>(this)); m_interactor->AddInteraction(std::make_shared<CInteractionLockableUnlock>(this)); } OnResetState(); }
void CPetComponent::Initialize() { // Get it into a known state. OnResetState(); }
StateManager::StateManager(){ OnResetState(); m_pDevice = NULL; }