My Project
 
Loading...
Searching...
No Matches
heap.h
Go to the documentation of this file.
1#pragma once
2#include <vector>
3#include "bundlable.h"
4#include "itemsprite.h"
5#include "typedefine.h"
6
7class Item;
8class ItemSprite;
9class Hero;
10
11class Heap :public Bundlable, public Object{
12private:
13 static const String TXT_MIMIC;
14 static const int SEEDS_TO_POTION = 3;
15 static const float FADE_TIME;
16
17 static const String POS;
18 static const String TYPE;
19 static const String ITEMS;
20public:
32
34 int pos;
35 std::vector<Item* > items;
37
38 Heap();
39
41 int image();
42 int size() { return items.size(); }
43
44 bool isEmpty() { return items.size() == 0; }
45 Item* peek() { return items.size() > 0 ? items[0] : NULL; }
46
47 void open(Hero* hero);
48 void destroy();
49
50 virtual void restoreFromBundle(Bundle* bundle);
51 virtual void storeInBundle(Bundle* bundle);
52 virtual std::string getClassName() { return "Heap"; }
54
55 Item* pickUp();
56 void drop(Item* item);
57 void replace(Item* a, Item* b);
58
59 void burn();
60 void freeze();
61 Item* transmute();
62 static void burnFX(int pos);
63 static void evaporateFX(int pos);
64};
std::vector< Item * > items
Definition heap.h:35
void burn()
Definition heap.cpp:203
bool isEmpty()
Definition heap.h:44
virtual void restoreFromBundle(Bundle *bundle)
Definition heap.cpp:128
void open(Hero *hero)
Definition heap.cpp:68
void drop(Item *item)
Definition heap.cpp:157
CLASSOBJECT(Heap)
Type type
Definition heap.h:33
void destroy()
Definition heap.cpp:113
int pos
Definition heap.h:34
virtual void storeInBundle(Bundle *bundle)
Definition heap.cpp:135
virtual std::string getClassName()
Definition heap.h:52
Heap()
Definition heap.cpp:32
ItemSprite::Glowing * glowing()
Definition heap.cpp:38
int image()
Definition heap.cpp:43
ItemSprite * sprite
Definition heap.h:36
void replace(Item *a, Item *b)
Definition heap.cpp:195
static void evaporateFX(int pos)
Definition heap.cpp:371
static void burnFX(int pos)
Definition heap.cpp:365
Item * peek()
Definition heap.h:45
int size()
Definition heap.h:42
void freeze()
Definition heap.cpp:266
Type
Definition heap.h:21
@ CHEST
Definition heap.h:24
@ TOMB
Definition heap.h:27
@ HEAP
Definition heap.h:22
@ CRYSTAL_CHEST
Definition heap.h:26
@ MIMIC
Definition heap.h:29
@ SKELETON
Definition heap.h:28
@ FOR_SALE
Definition heap.h:23
@ LOCKED_CHEST
Definition heap.h:25
@ HIDDEN
Definition heap.h:30
Item * transmute()
Definition heap.cpp:301
Item * pickUp()
Definition heap.cpp:142
Definition hero.h:18
Definition item.h:15
Definition itemsprite.h:10
Definition itemsprite.h:8
Definition typedefine.h:69
std::string String
Definition typedefine.h:8