Oolite 1.91.0.7604-240417-a536cbe
Loading...
Searching...
No Matches
ShipEntityLoadRestore.h
Go to the documentation of this file.
1/*
2
3ShipEntityLoadRestore.h
4
5Support for saving and restoring individual non-player ships.
6
7
8Oolite
9Copyright (C) 2004-2013 Giles C Williams and contributors
10
11This program is free software; you can redistribute it and/or
12modify it under the terms of the GNU General Public License
13as published by the Free Software Foundation; either version 2
14of the License, or (at your option) any later version.
15
16This program is distributed in the hope that it will be useful,
17but WITHOUT ANY WARRANTY; without even the implied warranty of
18MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19GNU General Public License for more details.
20
21You should have received a copy of the GNU General Public License
22along with this program; if not, write to the Free Software
23Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
24MA 02110-1301, USA.
25
26*/
27
28#import "ShipEntity.h"
29
30
31@interface ShipEntity (LoadRestore)
32
33/* Produces a property list representation of a specific ship. Intended for
34 use with wormholes, but should probably generalize quite well.
35
36 The optional "context" is a mutable dictionary used to synchronise certain
37 state when saving multiple ships - currently, groups. It is not a property
38 list and does not need to be saved alongside the ships.
39*/
40- (NSDictionary *) savedShipDictionaryWithContext:(NSMutableDictionary *)context;
41
42/* Restore a ship from a property list representation generated with
43 -savedShipDictionary. If the ship can't be restored and fallback is YES,
44 an attempt will be made to generate a new ship with the same primary role.
45*/
46+ (id) shipRestoredFromDictionary:(NSDictionary *)dictionary useFallback:(BOOL)fallback context:(NSMutableDictionary *)context;
47
48@end