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