Commit 80179d88 authored by salix5's avatar salix5

update struct effect_set_v

parent 690afddc
...@@ -70,50 +70,47 @@ private: ...@@ -70,50 +70,47 @@ private:
}; };
struct effect_set_v { struct effect_set_v {
effect_set_v(): count(0) {} effect_set_v() {}
void add_item(effect* peffect) { void add_item(effect* peffect) {
container.push_back(peffect); container.push_back(peffect);
count++;
} }
void remove_item(int index) { void remove_item(int index) {
if(index >= count) if(index >= (int)container.size())
return; return;
container.erase(container.begin() + index); container.erase(container.begin() + index);
count--;
} }
void clear() { void clear() {
container.clear(); container.clear();
count = 0;
} }
int size() const { int size() const {
return count; return (int)container.size();
} }
void sort() { void sort() {
int count = (int)container.size();
if(count < 2) if(count < 2)
return; return;
std::sort(container.begin(), container.begin() + count, effect_sort_id); std::sort(container.begin(), container.begin() + count, effect_sort_id);
} }
effect* const& get_last() const { effect* const& get_last() const {
return container[count - 1]; return container.back();
} }
effect*& get_last() { effect*& get_last() {
return container[count - 1]; return container.back();
} }
effect* const& operator[] (int index) const { effect* const& operator[] (int index) const {
return container[index]; return container.at(index);
} }
effect*& operator[] (int index) { effect*& operator[] (int index) {
return container[index]; return container.at(index);
} }
effect* const& at(int index) const { effect* const& at(int index) const {
return container[index]; return container.at(index);
} }
effect*& at(int index) { effect*& at(int index) {
return container[index]; return container.at(index);
} }
private: private:
std::vector<effect*> container; std::vector<effect*> container;
int count;
}; };
#endif //EFFECTSET_H_ #endif //EFFECTSET_H_
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment