reloadablebundle.h

来自「java实现的简单的分形树。简单易学!是学习分形知识的很好的例子。其java语法」· C头文件 代码 · 共 46 行

H
46
字号
// --------------------------------------------------------------------------
// Dingus project - a collection of subsystems for game/graphics applications
// --------------------------------------------------------------------------

#ifndef __RELOADABLE_BUNDLE_H
#define __RELOADABLE_BUNDLE_H

#include "../utils/Notifier.h"

namespace dingus {


/**
 *  Reloadable resource (usually bundle).
 *
 *  Is able to reload all the resources it contains. The application won't
 *  notice this, because it's dealing with proxies anyway. Reloading should
 *  preserve the resource proxy objects, only change the objects they refer to.
 */
class IReloadableBundle {
public:
	virtual ~IReloadableBundle() = 0 { }

	virtual void reload() = 0;
};


/**
 *  Manager for reloadable bundles.
 */
class CReloadableBundleManager : public IReloadableBundle, public CNotifier<IReloadableBundle> {
public:
	// IReloadableBundle
	virtual void reload() {
		int n = getListeners().size();
		for( int i = 0; i < n; ++i )
			getListeners()[i]->reload();
	}
};



}; // namespace

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?