//---------------------------------------------------------------------------------- // //---------------------------------------------------------------------------------- Effect* Effect::Create(Manager* manager, const EFK_CHAR* path, float magnification, const EFK_CHAR* materialPath) { Setting* setting = manager->GetSetting(); EffectLoader* eLoader = setting->GetEffectLoader(); if (setting == NULL) return NULL; void* data = NULL; int32_t size = 0; if (!eLoader->Load(path, data, size)) return NULL; EFK_CHAR parentDir[512]; if (materialPath == NULL) { GetParentDir(parentDir, path); materialPath = parentDir; } Effect* effect = EffectImplemented::Create(manager, data, size, magnification, materialPath); eLoader->Unload(data, size); return effect; }
//---------------------------------------------------------------------------------- // //---------------------------------------------------------------------------------- void ClientImplemented::Reload( Manager* manager, const EFK_CHAR* path, const EFK_CHAR* key ) { EffectLoader* loader = manager->GetEffectLoader(); void* data = NULL; int32_t size = 0; if( !loader->Load( path, data, size ) ) return; Reload( key, data, size ); loader->Unload( data, size ); }