39 |
/** |
/** |
40 |
* Initialize a new player, with a given name. |
* Initialize a new player, with a given name. |
41 |
*/ |
*/ |
42 |
- (id) initWithPlayer: (HgPlayer *)player |
- (id) init |
43 |
{ |
{ |
|
NSParameterAssert (player); |
|
|
|
|
44 |
self = [super init]; |
self = [super init]; |
45 |
if (self != nil) |
if (self != nil) |
46 |
{ |
{ |
47 |
_player = RETAIN(player); |
_acceleration = 0.0f; |
48 |
|
_direction = 0.0f; |
49 |
|
_fireWeapons = NO; |
50 |
|
_canonDirection = 0.0f; |
51 |
|
_canonElevation = 0.0f; |
52 |
} |
} |
53 |
|
|
54 |
return self; |
return self; |
55 |
} |
} |
56 |
|
|
|
- (void) dealloc |
|
|
{ |
|
|
RELEASE(_player); |
|
|
|
|
|
[super dealloc]; |
|
|
} |
|
|
|
|
|
/** |
|
|
* Return the player. |
|
|
*/ |
|
|
- (HgPlayer *) player |
|
|
{ |
|
|
return _player; |
|
|
} |
|
|
|
|
|
|
|
57 |
/** |
/** |
58 |
* Return the player acceleration. |
* Return the player acceleration. |
59 |
*/ |
*/ |
178 |
*/ |
*/ |
179 |
- (void)encodeWithCoder: (NSCoder *)encoder |
- (void)encodeWithCoder: (NSCoder *)encoder |
180 |
{ |
{ |
|
[encoder encodeObject: _player]; |
|
181 |
[encoder encodeValueOfObjCType: @encode(real_t) at: &_acceleration]; |
[encoder encodeValueOfObjCType: @encode(real_t) at: &_acceleration]; |
182 |
[encoder encodeValueOfObjCType: @encode(real_t) at: &_direction]; |
[encoder encodeValueOfObjCType: @encode(real_t) at: &_direction]; |
183 |
[encoder encodeValueOfObjCType: @encode(BOOL) at: &_fireweapons]; |
[encoder encodeValueOfObjCType: @encode(BOOL) at: &_fireWeapons]; |
184 |
[encoder encodeValueOfObjCType: @encode(real_t) at: &_canonDirection]; |
[encoder encodeValueOfObjCType: @encode(real_t) at: &_canonDirection]; |
185 |
[encoder encodeValueOfObjCType: @encode(real_t) at: &_canonElevation]; |
[encoder encodeValueOfObjCType: @encode(real_t) at: &_canonElevation]; |
186 |
} |
} |
189 |
{ |
{ |
190 |
if ( (self = [super init]) ) |
if ( (self = [super init]) ) |
191 |
{ |
{ |
|
_player = RETAIN([decoder decodeObject]); |
|
192 |
[decoder decodeValueOfObjCType: @encode(real_t) at: &_acceleration]; |
[decoder decodeValueOfObjCType: @encode(real_t) at: &_acceleration]; |
193 |
[decoder decodeValueOfObjCType: @encode(real_t) at: &_direction]; |
[decoder decodeValueOfObjCType: @encode(real_t) at: &_direction]; |
194 |
[decoder decodeValueOfObjCType: @encode(BOOL) at: &_fireweapons]; |
[decoder decodeValueOfObjCType: @encode(BOOL) at: &_fireWeapons]; |
195 |
[decoder decodeValueOfObjCType: @encode(real_t) at: &_canonDirection]; |
[decoder decodeValueOfObjCType: @encode(real_t) at: &_canonDirection]; |
196 |
[decoder decodeValueOfObjCType: @encode(real_t) at: &_canonElevation]; |
[decoder decodeValueOfObjCType: @encode(real_t) at: &_canonElevation]; |
197 |
} |
} |