Line data Source code
1 0 : /* 2 : 3 : ShipEntityLoadRestore.h 4 : 5 : Support for saving and restoring individual non-player ships. 6 : 7 : 8 : Oolite 9 : Copyright (C) 2004-2013 Giles C Williams and contributors 10 : 11 : This program is free software; you can redistribute it and/or 12 : modify it under the terms of the GNU General Public License 13 : as published by the Free Software Foundation; either version 2 14 : of the License, or (at your option) any later version. 15 : 16 : This program is distributed in the hope that it will be useful, 17 : but WITHOUT ANY WARRANTY; without even the implied warranty of 18 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 : GNU General Public License for more details. 20 : 21 : You should have received a copy of the GNU General Public License 22 : along with this program; if not, write to the Free Software 23 : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 24 : MA 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 0 : - (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 0 : + (id) shipRestoredFromDictionary:(NSDictionary *)dictionary useFallback:(BOOL)fallback context:(NSMutableDictionary *)context; 47 : 48 : @end