Fission FSN
Loading...
Searching...
No Matches
fsCImpulseComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsCImpulseComponent.h
4*
5* Purpose: Impulse component to move collision body
6*
7*********************************************************************/
8
9#ifndef fsCImpulseComponenthdr
10#define fsCImpulseComponenthdr
11
12
13#include <fsAppCore/components/fsIComponent.h>
14#include <fsAppCore/components/fsIMessageListenerComponent.h>
16#include <fsCore/fsPoint.h>
17
18class fsVec2d;
19
20namespace fsNCollision
21{
23 {
24 public:
25
26 static const fsCUniqueId mTypeId;
27
28 static fsIComponent* const create(fsCEntity* const pParent);
29
30 void impulseAdd(const fsVec2d& pImpulse);
31
32 protected:
33
34 virtual void listenersRegisterDo() override;
35 virtual void listenersDeregisterDo() override;
36 virtual fsBool messageProcessDo(const fsCUniqueId& pMessageType, const fsIMessageDispatcher::sMessageParameters& pParam) override;
37
38 virtual void updateDo(fsS32 pDeltaMs) override;
39
40 fsCImpulseComponent(fsCEntity* const pParent);
41 virtual ~fsCImpulseComponent();
42
43 private:
44
45 void pointerUpHandle(const fsPoint& pPointerPos);
46 fsBool pointerDownHandle(const fsIMessageDispatcher::sMessageParameters& pParam);
47
48 fsBool hitTest(const fsPoint& pPointerPos);
49
50 fsBool mTakingInput;
51 fsPoint mStart;
52 };
53}
54
55#endif
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
fsIMessageListenerComponent(fsCEntity *pParent)
Definition fsIMessageListenerComponent.cpp:9
virtual fsBool messageProcessDo(const fsCUniqueId &pMessageType, const fsIMessageDispatcher::sMessageParameters &pParam) override
Definition fsCImpulseComponent.cpp:31
virtual void updateDo(fsS32 pDeltaMs) override
Definition fsCImpulseComponent.cpp:109
static fsIComponent *const create(fsCEntity *const pParent)
Definition fsCImpulseComponent.cpp:113
virtual ~fsCImpulseComponent()
Definition fsCImpulseComponent.cpp:125
static const fsCUniqueId mTypeId
Definition fsCImpulseComponent.h:26
virtual void listenersRegisterDo() override
Definition fsCImpulseComponent.cpp:23
fsCImpulseComponent(fsCEntity *const pParent)
Definition fsCImpulseComponent.cpp:118
void impulseAdd(const fsVec2d &pImpulse)
Definition fsCImpulseComponent.cpp:101
virtual void listenersDeregisterDo() override
Definition fsCImpulseComponent.cpp:15
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsICollisionBody.h:16
Definition fsIMessageDispatcher.h:32
Definition fsPoint.h:17
Definition fsVec2d.h:16