summaryrefslogtreecommitdiffstats
path: root/sigmod/Tile.h
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-01-18 16:13:22 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-01-18 16:13:22 -0500
commit52273fa4201f9d84ca387aa1eea9606b5d66358a (patch)
treeb17dfaedc1d33cb3112e37dc1ed4126416cc81c8 /sigmod/Tile.h
parentebccfb8189ee696c43065b7eb5d59c57f5363855 (diff)
downloadsigen-52273fa4201f9d84ca387aa1eea9606b5d66358a.tar.gz
sigen-52273fa4201f9d84ca387aa1eea9606b5d66358a.tar.xz
sigen-52273fa4201f9d84ca387aa1eea9606b5d66358a.zip
Added Tile documentation
Diffstat (limited to 'sigmod/Tile.h')
-rw-r--r--sigmod/Tile.h84
1 files changed, 83 insertions, 1 deletions
diff --git a/sigmod/Tile.h b/sigmod/Tile.h
index c2cde094..3e0a1029 100644
--- a/sigmod/Tile.h
+++ b/sigmod/Tile.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2007-2008 Ben Boeckel <MathStuf@gmail.com>
+ * Copyright 2007-2009 Ben Boeckel <MathStuf@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -29,27 +29,109 @@ namespace Sigmod
// Forward declarations
class Sigmod;
+/**
+ * \class Sigmod::Tile Tile.h sigmod/Tile.h
+ * \brief Class describing a tile.
+ *
+ * Tiles are static map objects. They can change their images, but not their position
+ * or size (determined by the initial image used for it). If a tile is set to be
+ * \p walkable, it can be walked over by objects (trainers, effects, and players).
+ * However, any transparent parts of the image used will never collide.
+ */
class SIGMOD_EXPORT Tile : public Object
{
Q_OBJECT
public:
+ /**
+ * Copy constructor.
+ *
+ * \param tile The tile to copy.
+ */
Tile(const Tile& tile);
+ /**
+ * Create a new tile belonging to \p parent and id \p id.
+ *
+ * \param parent The parent of the tile.
+ * \param id The id number for the tile.
+ */
Tile(const Sigmod* parent, const int id);
+ /**
+ * Data copy constructor. Copies the data from \p tile as a child of \p parent with id \p id.
+ *
+ * \param tile The tile to copy the data from.
+ * \param parent The parent of the tile.
+ * \param id The id number for the tile.
+ */
Tile(const Tile& tile, const Sigmod* parent, const int id);
+ /**
+ * XML data constructor.
+ *
+ * \param xml The XML structure to extract the data from.
+ * \param parent The parent of the tile.
+ * \param id The id number for the tile.
+ */
Tile(const QDomElement& xml, const Sigmod* parent, const int id = -1);
+ /**
+ * Check to make sure the tile's values are valid.
+ * \note This does not check the scripts for validity.
+ */
void validate();
+ /**
+ * Load data from XML.
+ *
+ * \param xml The XML structure to extract data from.
+ */
void load(const QDomElement& xml);
+ /**
+ * Get the data for the tile in XML format.
+ *
+ * \return The XML structure representing the tile.
+ */
QDomElement save() const;
+ /**
+ * Sets the name of the tile.
+ *
+ * \param name The name of the tile.
+ */
void setName(const QString& name);
+ /**
+ * Sets whether the tile can be walked through by objects or not.
+ *
+ * \param walkable Whether the tile can be walked through.
+ */
void setWalkable(const bool walkable);
+ /**
+ * Sets the script for the tile. The following objects are available to the script:
+ *
+ * - \b sigmod -- The \link Sigscript::SigmodWrapper wrapper \endlink for the \link Sigmod sigmod \endlink in use.
+ * - \b world -- The \link Sigworld::Map map \endlink for the \link Map map \endlink the player is on.
+ * - \b tile -- The \link Sigworld::Tile tile \endlink the script controls.
+ *
+ * \param script The script for the tile.
+ */
void setScript(const Sigcore::Script& script);
+ /**
+ * \sa setName
+ *
+ * \return The name of the tile.
+ */
QString name() const;
+ /**
+ * \sa setWalkable
+ *
+ * \return Whether the til ecan be walked through or not.
+ */
bool walkable() const;
+ /**
+ * \sa setScript
+ *
+ * \return The script for the tile.
+ */
Sigcore::Script script() const;
bool nameCheck(const QString& name) const;