Line data Source code
1 0 : /* 2 : 3 : EntityOOJavaScriptExtensions.h 4 : 5 : JavaScript support methods for entities. 6 : 7 : Oolite 8 : Copyright (C) 2004-2013 Giles C Williams and contributors 9 : 10 : This program is free software; you can redistribute it and/or 11 : modify it under the terms of the GNU General Public License 12 : as published by the Free Software Foundation; either version 2 13 : of the License, or (at your option) any later version. 14 : 15 : This program is distributed in the hope that it will be useful, 16 : but WITHOUT ANY WARRANTY; without even the implied warranty of 17 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 : GNU General Public License for more details. 19 : 20 : You should have received a copy of the GNU General Public License 21 : along with this program; if not, write to the Free Software 22 : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 23 : MA 02110-1301, USA. 24 : 25 : */ 26 : 27 : 28 : #import "Entity.h" 29 : #import "OOJavaScriptEngine.h" 30 : 31 : 32 : @interface Entity (OOJavaScriptExtensions) 33 : 34 0 : - (BOOL) isVisibleToScripts; 35 : 36 0 : - (NSString *) oo_jsClassName; 37 : 38 : // Internal: 39 0 : - (void) getJSClass:(JSClass **)outClass andPrototype:(JSObject **)outPrototype; 40 0 : - (void) deleteJSSelf; 41 : 42 : @end 43 : 44 : 45 : @interface ShipEntity (OOJavaScriptExtensions) 46 : 47 : // "Normal" subentities, excluding flashers and exhaust plumes. 48 0 : - (NSArray *) subEntitiesForScript; 49 : 50 0 : - (void) setTargetForScript:(ShipEntity *)target; 51 : 52 : @end 53 : 54 : 55 : @interface PlayerEntity (OOJavaScriptExtensions) 56 : 57 0 : - (void) setJSSelf:(JSObject *)val context:(JSContext *)context; 58 : 59 : @end