71 (factory == 0) && (curr_factory != 0);
77 if (curr_factory->Get_Class_ID () == class_id) {
78 factory = curr_factory;
101 (factory == 0) && (curr_factory != 0);
107 if (::stricmp (curr_factory->Get_Name (), name) == 0) {
108 factory = curr_factory;
125 Link_Factory (factory);
137 Unlink_Factory (factory);
144 return _FactoryListHead;
152 if (current !=
NULL) {
156 return _FactoryListHead;
173 _FactoryListHead = factory;
185 WWASSERT (_FactoryListHead == factory);
247 (*shddef)->Load(cload);
@ W3D_CHUNK_SHDSUBMESH_SHADER_CLASSID
@ W3D_CHUNK_SHDSUBMESH_SHADER_DEF
uint32 Read(void *buf, uint32 nbytes)
uint32 Write(const void *buf, uint32 nbytes)
bool Begin_Chunk(uint32 id)
WWINLINE uint32 Get_Class_ID(void) const
virtual bool Save(ChunkSaveClass &csave)
Serialize this ShdDef into a chunk saver.
ShdDefFactoryClass * NextFactory
ShdDefFactoryClass * PrevFactory
virtual ShdDefClass * Create(void) const =0
static ShdDefClass * Create_ShdDefClass_Instance(uint32 class_id)
static ShdDefFactoryClass * Get_First(void)
static void Load_Shader(ChunkLoadClass &cload, ShdDefClass **shddef)
static void Save_Shader(ChunkSaveClass &csave, ShdDefClass *shddef)
static ShdDefFactoryClass * Find_Factory(uint32 class_id)
Used to look up the ShdDefFactory for a given class id.
static void Unregister_Factory(ShdDefFactoryClass *factory)
removes a factory from the system
static void Register_Factory(ShdDefFactoryClass *factory)
Registers a factory with the system.
static ShdDefFactoryClass * Get_Next(ShdDefFactoryClass *current, uint32 superclass_id)