view engine/core/model/metamodel/object.i @ 12:9e15a6f37e8e

* New work in progress beach bar by wulax :-)
author mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
date Sun, 06 Jul 2008 20:00:08 +0000
parents 4a0efb7baf70
children 90005975cdbb
line wrap: on
line source

%module fife
%{
#include "model/metamodel/object.h"
%}

%include "util/base/utilbase.i"
%include "model/metamodel/abstractvisual.i"

namespace FIFE {

	class Action;
	class AbstractPather;

	class Object : public ResourceClass {
	public:
		Object(const std::string& identifier, const std::string& name_space, Object* inherited=NULL);
		~Object();

		const std::string& getId();
		const std::string& getNamespace();

		Action* createAction(const std::string& identifier, bool is_default=false);
		Action* getAction(const std::string& identifier);
		Action* getDefaultAction();

		void setPather(AbstractPather* pather);
		AbstractPather* getPather();

		Object* getInherited();
		void adoptVisual(AbstractVisual* visual);
		template<typename T> T* getVisual() const;
		
		void setBlocking(bool blocking);
		bool isBlocking();
		
		void setStatic(bool stat);
		bool isStatic();
	};

	class ObjectLoader : public ResourceLoader {
	public:
		Object* load(const ResourceLocation& location); 
		Object* load(const std::string& filename); 
	};
}