diff options
| author | Kris Parker | 2009-11-14 00:51:07 +0000 |
|---|---|---|
| committer | Kris Parker | 2009-11-14 00:51:07 +0000 |
| commit | e184d6c7c7331de5a100478b7ad9f0f4e20c4cd6 (patch) | |
| tree | af61c0cfb50922c4ae6a6703c19435e53ad6f929 /ConditionalSprite.cpp | |
| parent | 595c06c7ad4605a24399b2f04813833504a22a87 (diff) | |
| download | stonesense-e184d6c7c7331de5a100478b7ad9f0f4e20c4cd6.tar.gz stonesense-e184d6c7c7331de5a100478b7ad9f0f4e20c4cd6.tar.bz2 stonesense-e184d6c7c7331de5a100478b7ad9f0f4e20c4cd6.tar.xz | |
rotational sprite node
Diffstat (limited to 'ConditionalSprite.cpp')
| -rw-r--r-- | ConditionalSprite.cpp | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/ConditionalSprite.cpp b/ConditionalSprite.cpp index 4262545..3f19bed 100644 --- a/ConditionalSprite.cpp +++ b/ConditionalSprite.cpp @@ -2,7 +2,7 @@ #include "ConditionalSprite.h"
#include "Block.h"
#include "GameBuildings.h"
-
+#include "GUI.h"
/* RootBlock */
@@ -112,6 +112,47 @@ void SpriteBlock::addElse(SpriteNode* child){ elsenode = child;
}
+
+/* RotationBlock */
+
+RotationBlock::RotationBlock()
+ : ConditionalNode(), SpriteNode()
+{
+ //cout << "SpriteBlock +" << endl;
+}
+
+RotationBlock::~RotationBlock(void)
+{
+ //cout << "SpriteBlock -" << endl;
+ uint32_t max = children.size();
+ for(uint32_t i=0; i<max; i++)
+ {
+ delete(children[i]);
+ }
+};
+
+bool RotationBlock::BlockMatches(Block* b)
+{
+ int index = DisplayedRotation;
+ uint32_t max = children.size();
+ if (max == 0)
+ return false;
+ while (index > max)
+ {
+ index = index - max;
+ }
+ return children[index]->BlockMatches(b);
+}
+
+bool RotationBlock::addCondition(BlockCondition* cond){
+ WriteErr("Condition elements not permitted for RotationBlock\n");
+ return false;
+}
+
+void RotationBlock::addChild(SpriteNode* child){
+ children.push_back(child);
+}
+
/* SpriteElement */
SpriteElement::SpriteElement()
|
