Merge branch 'Weapons' into TeamPickCamera
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include "Collision/Collision.h"
|
||||
#include "Core/EPlayerDamage.h"
|
||||
#include "Sound/EPlaySoundOnEntity.h"
|
||||
#include "Rendering/EAutoAnimationBlend.h"
|
||||
|
||||
class AssaultWeaponBehaviour : public WeaponBehaviour<AssaultWeaponBehaviour>
|
||||
{
|
||||
@@ -20,6 +21,7 @@ public:
|
||||
void OnPrimaryFire(ComponentWrapper cWeapon, WeaponInfo& wi) override;
|
||||
void OnCeasePrimaryFire(ComponentWrapper cWeapon, WeaponInfo& wi) override;
|
||||
void OnReload(ComponentWrapper cWeapon, WeaponInfo& wi) override;
|
||||
void OnEquip(ComponentWrapper cWeapon, WeaponInfo& wi) override;
|
||||
void OnHolster(ComponentWrapper cWeapon, WeaponInfo& wi) override;
|
||||
//bool OnInputCommand(ComponentWrapper cWeapon, WeaponInfo& wi, const Events::InputCommand& e) override;
|
||||
|
||||
|
||||
@@ -94,6 +94,39 @@ protected:
|
||||
}
|
||||
}
|
||||
|
||||
void playAnimationAndReturn(EntityWrapper weaponModelEntity, const std::string& subTreeName, const std::string& animationNodeName)
|
||||
{
|
||||
EntityWrapper root = weaponModelEntity.FirstParentWithComponent("Model");
|
||||
if (!root.Valid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
EntityWrapper subTree = root.FirstChildByName(subTreeName);
|
||||
if (!subTree.Valid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
EntityWrapper animationNode = subTree.FirstChildByName(animationNodeName);
|
||||
if (!animationNode.Valid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Events::AutoAnimationBlend eFireBlend;
|
||||
eFireBlend.RootNode = root;
|
||||
eFireBlend.NodeName = animationNodeName;
|
||||
eFireBlend.Restart = true;
|
||||
eFireBlend.Start = true;
|
||||
m_EventBroker->Publish(eFireBlend);
|
||||
|
||||
Events::AutoAnimationBlend eIdleBlend;
|
||||
eIdleBlend.RootNode = root;
|
||||
eIdleBlend.NodeName = "Idle";
|
||||
eIdleBlend.AnimationEntity = animationNode;
|
||||
eIdleBlend.Delay = -0.2;
|
||||
eIdleBlend.Duration = 0.2;
|
||||
m_EventBroker->Publish(eIdleBlend);
|
||||
}
|
||||
|
||||
private:
|
||||
EventRelay<ETYPE, Events::SetCamera> m_ESetCamera;
|
||||
bool _OnSetCamera(const Events::SetCamera& e)
|
||||
|
||||
Reference in New Issue
Block a user