Fission FSN
Loading...
Searching...
No Matches
fsISpriteComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: fsISpriteComponent.h
4*
5* Purpose: Common sprite behavior
6*
7*********************************************************************/
8
9#ifndef fsISpriteComponenthdr
10#define fsISpriteComponenthdr
11
13#include <fsCore/fsBaseTypes.h>
14
16
17struct fsSColour4B;
18class fsCEntity;
19class fsCBrush;
20
21
23{
24 friend class fsCComponentFactory;
25
26public:
27
28 static const fsCUniqueId mTypeId;
29
31
32 void alphaBlendSet(fsS32 pBlend);
33
34 fsBool hitTest(fsISpriteComponent* pOtherSprComp, fsBool pRequireHitMap) const;
35 fsBool hitTest(const fsPoint& pScreenPos, fsBool pRequireHitMap) const;
36
37 fsS32 widthGet() const;
38 fsS32 heightGet() const;
39
40 void colourSet(const fsSColour4B& pColour);
41
42 void widthSet(fsS32 pWidth, fsBool pModifyRenderData = true);
43 void heightSet(fsS32 pHeight, fsBool pModifyRenderData = true);
44
45 std::shared_ptr<fsCBrush> brushGet() const;
46 void brushSet(std::shared_ptr<fsCBrush> pBrush);
47
48protected:
49
50 virtual fsBool obscuredByBoundingBoxCheckDo(fsISpriteComponent* pOtherSprComp) { return false;};
51
52 virtual void alphaBlendSetDo(fsS32 pBlend) {}
53
54 virtual fsBool hitTestDo(fsISpriteComponent* pOtherSprComp, fsBool pRequireHitMap) const {return false;};
55 virtual fsBool hitTestDo(const fsPoint& pScreenPos, fsBool pRequireHitMap) const {return false;};
56
57 virtual fsS32 widthGetDo() const = 0;
58 virtual fsS32 heightGetDo() const = 0;
59
60 virtual void colourSetDo(const fsSColour4B& pColour) {};
61
62 virtual void widthSetDo(fsS32 pWidth, fsBool pModifyRenderData = true) = 0;
63 virtual void heightSetDo(fsS32 pHeight, fsBool pModifyRenderData = true) = 0;
64
65 virtual std::shared_ptr<fsCBrush> brushGetDo() const { return nullptr; };
66 virtual void brushSetDo(std::shared_ptr<fsCBrush> pBrush) {};
67
69 virtual ~fsISpriteComponent();
70
71private:
72};
73
74#endif
Definition fsCBrush.h:26
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
fsIRenderableComponent(fsCEntity *pParent)
Definition fsIRenderableComponent.cpp:4
void alphaBlendSet(fsS32 pBlend)
Definition fsISpriteComponent.cpp:10
void widthSet(fsS32 pWidth, fsBool pModifyRenderData=true)
Definition fsISpriteComponent.cpp:40
virtual fsBool hitTestDo(const fsPoint &pScreenPos, fsBool pRequireHitMap) const
Definition fsISpriteComponent.h:55
virtual void colourSetDo(const fsSColour4B &pColour)
Definition fsISpriteComponent.h:60
void colourSet(const fsSColour4B &pColour)
Definition fsISpriteComponent.cpp:35
fsS32 heightGet() const
Definition fsISpriteComponent.cpp:30
static const fsCUniqueId mTypeId
Definition fsISpriteComponent.h:28
friend class fsCComponentFactory
Definition fsISpriteComponent.h:24
fsBool obscuredByBoundingBoxCheck(fsISpriteComponent *pOtherSprComp)
Definition fsISpriteComponent.cpp:5
virtual fsS32 heightGetDo() const =0
fsISpriteComponent(fsCEntity *pParent)
Definition fsISpriteComponent.cpp:60
void brushSet(std::shared_ptr< fsCBrush > pBrush)
Definition fsISpriteComponent.cpp:55
virtual std::shared_ptr< fsCBrush > brushGetDo() const
Definition fsISpriteComponent.h:65
fsS32 widthGet() const
Definition fsISpriteComponent.cpp:25
virtual ~fsISpriteComponent()
Definition fsISpriteComponent.cpp:65
virtual void heightSetDo(fsS32 pHeight, fsBool pModifyRenderData=true)=0
virtual void brushSetDo(std::shared_ptr< fsCBrush > pBrush)
Definition fsISpriteComponent.h:66
std::shared_ptr< fsCBrush > brushGet() const
Definition fsISpriteComponent.cpp:50
virtual void alphaBlendSetDo(fsS32 pBlend)
Definition fsISpriteComponent.h:52
virtual void widthSetDo(fsS32 pWidth, fsBool pModifyRenderData=true)=0
fsBool hitTest(fsISpriteComponent *pOtherSprComp, fsBool pRequireHitMap) const
Definition fsISpriteComponent.cpp:15
void heightSet(fsS32 pHeight, fsBool pModifyRenderData=true)
Definition fsISpriteComponent.cpp:45
virtual fsS32 widthGetDo() const =0
virtual fsBool hitTestDo(fsISpriteComponent *pOtherSprComp, fsBool pRequireHitMap) const
Definition fsISpriteComponent.h:54
virtual fsBool obscuredByBoundingBoxCheckDo(fsISpriteComponent *pOtherSprComp)
Definition fsISpriteComponent.h:50
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsPoint.h:17
Definition fsSColour.h:54