Line data Source code
1 0 : /* 2 : 3 : OOJSPlayer.h 4 : 5 : JavaScript proxy for the player. 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 : #import <Foundation/Foundation.h> 28 : #include <jsapi.h> 29 : 30 : @class PlayerEntity; 31 : 32 : 33 0 : void InitOOJSPlayer(JSContext *context, JSObject *global); 34 : 35 0 : JSClass *JSPlayerClass(void); 36 0 : JSObject *JSPlayerPrototype(void); 37 0 : JSObject *JSPlayerObject(void); 38 : 39 : 40 : /* All JS functions which talk to the player entity should call 41 : OOOPlayerForScripting() to ensure that the script target (for the legacy 42 : system) is set correctly. Additionally, all such functions should _always_ 43 : call OOPlayerForScripting(), even if they end up not using it, to ensure 44 : consistent state. 45 : */ 46 0 : PlayerEntity *OOPlayerForScripting(void);