/[hegemonie]/hegemonie/GameEngine/HgPlayer.m
ViewVC logotype

Diff of /hegemonie/GameEngine/HgPlayer.m

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by thunder, Wed Jul 2 15:49:43 2003 UTC revision 1.9 by thunder, Wed Jul 16 13:17:15 2003 UTC
# Line 25  Line 25 
25  #include <Foundation/NSArray.h>  #include <Foundation/NSArray.h>
26  #include <Foundation/NSException.h>  #include <Foundation/NSException.h>
27  #include <Foundation/NSCoder.h>  #include <Foundation/NSCoder.h>
28    #include <Foundation/NSValue.h>
29    
30  #include "GameEngine/HgPlayer.h"  #include "GameEngine/HgPlayer.h"
31    #include "GameEngine/HgGame.h"
32  #include "GameEngine/HgShip.h"  #include "GameEngine/HgShip.h"
33  #include "GameEngine/HgTeam.h"  #include "GameEngine/HgTeam.h"
34    
# Line 155  Line 157 
157    _score += point;    _score += point;
158  }  }
159    
160  @end  /**
161     * Test the equivalence of the two players
162     */
163    - (BOOL) isEqualToPlayer: (HgPlayer *)player
164    {
165      NSParameterAssert(player);
166    
167      return ([_name isEqualToString: [player name]]);
168    }
169    
170    
171    //@end
172    
173    
174  @implementation HgPlayer (Coding)  //@implementation HgPlayer (Coding)
175    
176  - (void)encodeWithCoder: (NSCoder *)encoder  - (void)encodeWithCoder: (NSCoder *)encoder
177  {  {
# Line 174  Line 187 
187  {  {
188    self = [super init];    self = [super init];
189    [decoder decodeValueOfObjCType: "I" at: &_identifier];    [decoder decodeValueOfObjCType: "I" at: &_identifier];
190    _name = [[decoder decodeObject] retain];    _name = RETAIN([decoder decodeObject]);
191    _userAtHost = [[decoder decodeObject] retain];    _userAtHost = RETAIN([decoder decodeObject]);
192    _team = [[decoder decodeObject] retain];    _team = RETAIN([decoder decodeObject]);
193    _ship = [[decoder decodeObject] retain];    _ship = RETAIN([decoder decodeObject]);
194    [decoder decodeValueOfObjCType: "i" at: &_score];      [decoder decodeValueOfObjCType: "i" at: &_score];  
195        
196    return self;    return self;
197  }  }
198    
199    - (id)replacementObjectForCoder:(NSCoder *)coder
200    {
201      int ident;
202      NSNumber *numIdent;
203      HgGame *current;
204      HgPlayer *playerObject;
205    
206      [coder decodeValueOfObjCType: "I" at: &ident];
207      numIdent = [NSNumber numberWithInt: ident];
208    
209      current = [HgGame currentGame];
210      playerObject = [[current players] objectForKey: numIdent];
211    
212      if (playerObject != nil)
213        {
214          return playerObject;
215        }
216      else
217        {
218          return self;
219        }
220    }
221    
222    
223  @end  @end

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26