]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/PartyLayout.h
removed stupid file headers that eclipse put in
[l2e.git] / src / battle / PartyLayout.h
index 1d72aa8ad483bc8fadeafc6cf62a16d41fea5971..f5cd03d924e496ce867a1369c49b1fbfaaec2622 100644 (file)
@@ -1,10 +1,3 @@
-/*
- * PartyLayout.h
- *
- *  Created on: Aug 5, 2012
- *      Author: holy
- */
-
 #ifndef BATTLE_PARTYLAYOUT_H_
 #define BATTLE_PARTYLAYOUT_H_
 
@@ -18,38 +11,29 @@ namespace battle {
 
 class PartyLayout {
 
+       public:
+               static const int TYPE_ID = 203;
+
 public:
-       PartyLayout() { }
+       PartyLayout() : positions(0), numPositions(0) { }
 
 public:
-       std::vector<geometry::Vector<Uint8> >::size_type NumPositions() const { return positions.size(); }
-       template<class U>
-       void CalculatePositions(U width, U height, std::vector<geometry::Vector<U> > &dest) const {
-               dest.clear();
-               dest.reserve(positions.size());
-               for (std::vector<geometry::Vector<Uint8> >::const_iterator i(positions.begin()), end(positions.end()); i != end; ++i) {
-                       dest.push_back(geometry::Vector<U>(
-                                       i->X() * width / 255,
-                                       i->Y() * height / 223
-                                       ));
-               }
-       }
-       template<class U>
-       geometry::Vector<U> CalculatePosition(std::vector<geometry::Vector<Uint8> >::size_type index, U width, U height) const {
-               assert(index >= 0 && index < positions.size());
-               return geometry::Vector<U>(
-                               positions[index].X() * width / 255,
-                               positions[index].Y() * height / 223
-                               );
-       }
+       std::vector<geometry::Vector<int> >::size_type NumPositions() const { return numPositions; }
+       void CalculatePositions(int width, int height, std::vector<geometry::Vector<int> > &dest) const;
+       geometry::Vector<int> CalculatePosition(int index, int width, int height) const;
 
 public:
-       void AddPosition(const geometry::Vector<Uint8> &p) {
-               positions.push_back(p);
+       void SetPositions(const geometry::Vector<int> *p, int num) {
+               positions = p;
+               numPositions = num;
        }
 
+       static void CreateTypeDescription();
+       static void Construct(void *);
+
 private:
-       std::vector<geometry::Vector<Uint8> > positions;
+       const geometry::Vector<int> *positions;
+       int numPositions;
 
 };