// -*- mode: C++; tab-width: 4; indent-tabs-mode: t; -*- vim:ts=4:sw=4 // // Copyright (C) 2004 David Lau (skunix) // Chong Kai Xiong (descender) // // This file is part of The Plains of Usata. // // The Plains of Usata is licensed under the GNU General Public // License (GPL) version 2. For details, please see the COPYING file // included in the software distribution, or visit // http://www.fsf.org/licenses/gpl.html. // // $Id: object.hpp,v 1.1 2004/12/30 06:08:00 skunix Exp $ #ifndef USATA_GAME_OBJECT_HPP #define USATA_GAME_OBJECT_HPP #include #include "usata.hpp" namespace usata { struct ResourceList { }; class ObjectProperties { }; class Object; typedef boost::shared_ptr Object_sp; class Object { public: virtual void realize(Usata&, const Object_sp& ) = 0; virtual ResourceList construct(const ObjectProperties&)=0; virtual void update(void) = 0; virtual void draw (void) = 0; virtual ~Object(){}; }; } #endif