mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-12 07:43:43 +00:00
* add rotation behavior logic (not working correctly for multiple axes) * Fix FetchContent_Declare speed * remove manual quaternion math * feat: working rotations * remove flag * feat: make directional movements based on model rotation and not world axes * poggers rotation on the strip * Add OnStartup and OnTimer * go home works * Add DoDamage behavior and dont try and start the same node multiple times * fix: pause bbb models * interrupt rotations and save interrupt count across resets
36 lines
761 B
C++
36 lines
761 B
C++
#ifndef __STATE__H__
|
|
#define __STATE__H__
|
|
|
|
#include "Strip.h"
|
|
|
|
namespace tinyxml2 {
|
|
class XMLElement;
|
|
}
|
|
|
|
class AMFArrayValue;
|
|
class ModelComponent;
|
|
struct UpdateResult;
|
|
|
|
class State {
|
|
public:
|
|
template <typename Msg>
|
|
void HandleMsg(Msg& msg);
|
|
|
|
void SendBehaviorBlocksToClient(AMFArrayValue& args) const;
|
|
bool IsEmpty() const;
|
|
|
|
void Serialize(tinyxml2::XMLElement& state) const;
|
|
void Deserialize(const tinyxml2::XMLElement& state);
|
|
|
|
void Update(float deltaTime, ModelComponent& modelComponent, UpdateResult& updateResult);
|
|
|
|
void OnChatMessageReceived(const std::string& sMessage, const LWOOBJID sender);
|
|
void OnHit(const LWOOBJID attacker);
|
|
private:
|
|
|
|
// The strips contained within this state.
|
|
std::vector<Strip> m_Strips;
|
|
};
|
|
|
|
#endif //!__STATE__H__
|