Remove some functions.[ci skip]

This commit is contained in:
aster 2014-08-10 22:29:32 +08:00
Родитель 2615d583b5
Коммит 6b2566702c
2 изменённых файлов: 40 добавлений и 60 удалений

Просмотреть файл

@ -198,7 +198,7 @@ bool TmxTileLayer2D::Load(const XMLElement& element)
} }
XMLElement tileElem = dataElem.GetChild("tile"); XMLElement tileElem = dataElem.GetChild("tile");
tileGids_.Resize(width_ * height_); tiles_.Resize(width_ * height_);
// Flip y // Flip y
for (int y = height_ - 1; y >= 0; --y) for (int y = height_ - 1; y >= 0; --y)
@ -215,7 +215,7 @@ bool TmxTileLayer2D::Load(const XMLElement& element)
tile->gid_ = gid; tile->gid_ = gid;
tile->sprite_ = tmxFile_->GetTileSprite(gid); tile->sprite_ = tmxFile_->GetTileSprite(gid);
tile->properties_ = tmxFile_->GetTileProperties(gid); tile->properties_ = tmxFile_->GetTileProperties(gid);
tileGids_[y * width_ + x] = tile; tiles_[y * width_ + x] = tile;
} }
tileElem = tileElem.GetNext("tile"); tileElem = tileElem.GetNext("tile");
@ -233,7 +233,7 @@ Tile2D* TmxTileLayer2D::GetTile(int x, int y) const
if (x < 0 || x > width_ || y < 0 || y > height_) if (x < 0 || x > width_ || y < 0 || y > height_)
return 0; return 0;
return tileGids_[y * width_ + x]; return tiles_[y * width_ + x];
} }
@ -331,7 +331,8 @@ bool TmxImageLayer2D::Load(const XMLElement& element)
if (!imageElem) if (!imageElem)
return false; return false;
String textureFilePath = GetParentPath(GetName()) + imageElem.GetAttribute("source"); source_ = imageElem.GetAttribute("source");
String textureFilePath = GetParentPath(GetName()) + source_;
ResourceCache* cache = tmxFile_->GetSubsystem<ResourceCache>(); ResourceCache* cache = tmxFile_->GetSubsystem<ResourceCache>();
SharedPtr<Texture2D> texture(cache->GetResource<Texture2D>(textureFilePath)); SharedPtr<Texture2D> texture(cache->GetResource<Texture2D>(textureFilePath));
if (!texture) if (!texture)
@ -450,11 +451,27 @@ bool TmxFile2D::EndLoad()
if (name == "tileset") if (name == "tileset")
ret = LoadTileSet(childElement); ret = LoadTileSet(childElement);
else if (name == "layer") else if (name == "layer")
ret = LoadLayer(childElement); {
TmxTileLayer2D* tileLayer = new TmxTileLayer2D(this);
ret = tileLayer->Load(childElement);
layers_.Push(tileLayer);
}
else if (name == "objectgroup") else if (name == "objectgroup")
ret = LoadObjectGroup(childElement); {
TmxObjectGroup2D* objectGroup = new TmxObjectGroup2D(this);
ret = objectGroup->Load(childElement);
layers_.Push(objectGroup);
}
else if (name == "imagelayer") else if (name == "imagelayer")
ret = LoadImageLayer(childElement); {
TmxImageLayer2D* imageLayer = new TmxImageLayer2D(this);
ret = imageLayer->Load(childElement);
layers_.Push(imageLayer);
}
if (!ret) if (!ret)
{ {
@ -492,17 +509,6 @@ const TmxLayer2D* TmxFile2D::GetLayer(unsigned index) const
return layers_[index]; return layers_[index];
} }
const TmxLayer2D* TmxFile2D::GetLayerByName(const String& name) const
{
for (unsigned i = 0; i < layers_.Size(); ++i)
{
if (name == layers_[i]->GetName())
return layers_[i];
}
return 0;
}
bool TmxFile2D::LoadTileSet(const XMLElement& element) bool TmxFile2D::LoadTileSet(const XMLElement& element)
{ {
XMLElement imageElem = element.GetChild("image"); XMLElement imageElem = element.GetChild("image");
@ -553,28 +559,4 @@ bool TmxFile2D::LoadTileSet(const XMLElement& element)
return true; return true;
} }
bool TmxFile2D::LoadLayer(const XMLElement& element)
{
TmxTileLayer2D* tileLayer = new TmxTileLayer2D(this);
layers_.Push(tileLayer);
return tileLayer->Load(element);
}
bool TmxFile2D::LoadObjectGroup(const XMLElement& element)
{
TmxObjectGroup2D* objectGroup = new TmxObjectGroup2D(this);
layers_.Push(objectGroup);
return objectGroup->Load(element);
}
bool TmxFile2D::LoadImageLayer(const XMLElement& element)
{
TmxImageLayer2D* imageLayer = new TmxImageLayer2D(this);
layers_.Push(imageLayer);
return imageLayer->Load(element);
}
} }

Просмотреть файл

@ -50,11 +50,11 @@ public:
const String& GetProperty(const String& name) const; const String& GetProperty(const String& name) const;
protected: protected:
/// Properties. /// Property name to value mapping.
HashMap<String, String> properties_; HashMap<String, String> properties_;
}; };
/// Tile. /// Tile define.
class URHO3D_API Tile2D : public RefCounted class URHO3D_API Tile2D : public RefCounted
{ {
public: public:
@ -101,7 +101,8 @@ enum TileObjectType2D
class URHO3D_API TileObject2D : public RefCounted class URHO3D_API TileObject2D : public RefCounted
{ {
public: public:
TileObject2D();; TileObject2D();
/// Return type. /// Return type.
TileObjectType2D GetType() const { return type_; } TileObjectType2D GetType() const { return type_; }
/// Return position. /// Return position.
@ -205,13 +206,14 @@ class TmxTileLayer2D : public TmxLayer2D
public: public:
TmxTileLayer2D(TmxFile2D* tmxFile); TmxTileLayer2D(TmxFile2D* tmxFile);
/// Load from xml element. /// Load from XML element.
bool Load(const XMLElement& element); bool Load(const XMLElement& element);
/// Return tile. /// Return tile.
Tile2D* GetTile(int x, int y) const; Tile2D* GetTile(int x, int y) const;
protected: protected:
/// Tile. /// Tile.
Vector<SharedPtr<Tile2D> > tileGids_; Vector<SharedPtr<Tile2D> > tiles_;
}; };
/// Tmx image layer. /// Tmx image layer.
@ -240,10 +242,14 @@ public:
/// Load from XML element. /// Load from XML element.
bool Load(const XMLElement& element); bool Load(const XMLElement& element);
/// Return source.
const String& GetSource() const { return source_; }
/// Return sprite. /// Return sprite.
Sprite2D* GetSprite() const; Sprite2D* GetSprite() const;
private: private:
/// Source.
String source_;
/// Sprite. /// Sprite.
SharedPtr<Sprite2D> sprite_; SharedPtr<Sprite2D> sprite_;
}; };
@ -266,35 +272,27 @@ public:
/// Finish resource loading. Always called from the main thread. Return true if successful. /// Finish resource loading. Always called from the main thread. Return true if successful.
virtual bool EndLoad(); virtual bool EndLoad();
/// Return width. /// Return width in tiles.
int GetWidth() const { return width_; } int GetWidth() const { return width_; }
/// Return height. /// Return height in tiles.
int GetHeight() const { return height_; } int GetHeight() const { return height_; }
/// Return tile width. /// Return tile width.
float GetTileWidth() const { return tileWidth_; } float GetTileWidth() const { return tileWidth_; }
/// Return tile height. /// Return tile height.
float GetTileHeight() const { return tileHeight_; } float GetTileHeight() const { return tileHeight_; }
/// Return tile sprite by gid. /// Return tile sprite by gid, if not exist return 0.
Sprite2D* GetTileSprite(int gid) const; Sprite2D* GetTileSprite(int gid) const;
/// Return tile properties by gid. /// Return tile properties by gid, if not exist return 0.
Properties2D* GetTileProperties(int gid) const; Properties2D* GetTileProperties(int gid) const;
/// Return number of layers. /// Return number of layers.
unsigned GetNumLayers() const { return layers_.Size(); } unsigned GetNumLayers() const { return layers_.Size(); }
/// Return layer at index. /// Return layer at index.
const TmxLayer2D* GetLayer(unsigned index) const; const TmxLayer2D* GetLayer(unsigned index) const;
/// Return layer by name.
const TmxLayer2D* GetLayerByName(const String& name) const;
private: private:
/// Load tile set. /// Load tile set.
bool LoadTileSet(const XMLElement& element); bool LoadTileSet(const XMLElement& element);
/// Load layer.
bool LoadLayer(const XMLElement& element);
/// Load object group.
bool LoadObjectGroup(const XMLElement& element);
/// Load image layer.
bool LoadImageLayer(const XMLElement& element);
/// XML file used during loading. /// XML file used during loading.
SharedPtr<XMLFile> loadXMLFile_; SharedPtr<XMLFile> loadXMLFile_;
/// Width. /// Width.