quakeforge/tools/Forge/Bundles/MapEdit/Entity.h
Jeff Teunissen cdc79ae6f8 Add type information, don't return self most of the time
Start "modernizing" the code base; old code is based heavily in the
Smalltalk style, where everything that doesn't return a different object
returns self. This can be useful, but it isn't what is usually done these
days. Also, add type information (which didn't exist in "the old days" --
an object was an "id", not a "Foo *") to help with debugging.
2010-11-28 15:31:38 +09:00

46 lines
910 B
Objective-C

#ifndef Entity_h
#define Entity_h
#include <AppKit/AppKit.h>
#include "QF/mathlib.h"
typedef struct epair_s {
struct epair_s *next;
char *key;
char *value;
} epair_t;
// an Entity is a list of brush objects, with additional key / value info
@interface Entity:NSMutableArray
{
NSMutableArray *array;
epair_t *epairs;
BOOL modifiable;
}
- (Entity *) initClass:(const char *) classname;
- (Entity *) initFromScript: (struct script_s *) script;
- (oneway void) dealloc;
-(BOOL) modifiable;
- (void) setModifiable:(BOOL) m;
-(const char *) targetname;
- (void) writeToFILE:(FILE *)f region:(BOOL) reg;
-(const char *) valueForQKey:(const char *) k;
- (void) getVector:(vec3_t)v forKey:(const char *) k;
- (void) setKey:(const char *)k
toValue:(const char *)v;
-(int) numPairs;
-(epair_t *) epairs;
- (void) removeKeyPair:(const char *) key;
@end
#endif // Entity_h