-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPlayerAvatar.h
40 lines (38 loc) · 1.1 KB
/
PlayerAvatar.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#pragma once
#include "pch.h"
#include "SpeechController.h"
using namespace Ogre;
using namespace OgreBites;
class PlayerAvatar
{
public:
Entity* entity_;
Entity* sword1_;
Entity* sword2_;
SceneNode* sword1_node_;
SceneNode* sword2_node_;
ParticleSystem* partSystem;
ParticleSystem* partSystem2;
bool weaponsDrawn;
SceneNode* entity_node_;
SceneManager* scene_manager_;
int walking_speed_;
AnimationState* animation_state_top_;
AnimationState* animation_state_base_;
AnimationState* animation_state_hand_;
AnimationState* animation_state_closed_;
float rotation_ = 0.0;
float rotation_speed_ = 5.0f;
PlayerAvatar(SceneManager* scene_manager, String mesh_file_name);
virtual ~PlayerAvatar() {}
void update(Ogre::Real delta_time, const Uint8* state);
void Move(Ogre::Vector3 translate_vector, float rotation, Ogre::Real delta_time);
Ogre::Radian GetRotation(const Ogre::Vector3 & vec);
void SetIdleAnimationLoop();
void SetWalkingAnimationLoop();
void StopAnimationLoop(void) const;
void StartAnimatonLoop(void) const;
void changeWeaponStatus();
SceneNode* getSceneNode();
void recognizeSpeech();
};