Line data Source code
1 0 : /* 2 : 3 : ProxyPlayerEntity.h 4 : 5 : Ship entity which, in some respects, emulates a PlayerShip. In particular, at 6 : this time it implements the extra shader bindable methods of PlayerShip. 7 : 8 : 9 : Oolite 10 : Copyright (C) 2004-2013 Giles C Williams and contributors 11 : 12 : This program is free software; you can redistribute it and/or 13 : modify it under the terms of the GNU General Public License 14 : as published by the Free Software Foundation; either version 2 15 : of the License, or (at your option) any later version. 16 : 17 : This program is distributed in the hope that it will be useful, 18 : but WITHOUT ANY WARRANTY; without even the implied warranty of 19 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 : GNU General Public License for more details. 21 : 22 : You should have received a copy of the GNU General Public License 23 : along with this program; if not, write to the Free Software 24 : Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 25 : MA 02110-1301, USA. 26 : 27 : */ 28 : 29 : #import "PlayerEntity.h" 30 : 31 : 32 0 : @interface ProxyPlayerEntity: ShipEntity 33 : { 34 : @private 35 0 : float _fuelLeakRate; 36 0 : GLfloat _dialForwardShield; 37 0 : GLfloat _dialAftShield; 38 0 : OOMissileStatus _missileStatus; 39 0 : OOFuelScoopStatus _fuelScoopStatus; 40 0 : OOCompassMode _compassMode; 41 0 : OOAlertCondition _alertCondition; 42 0 : NSUInteger _trumbleCount; 43 0 : int _tradeInFactor; 44 0 : unsigned _massLocked: 1, 45 0 : _atHyperspeed: 1, 46 0 : _dialIdentEngaged: 1; 47 : } 48 : 49 0 : - (void) copyValuesFromPlayer:(PlayerEntity *)player; 50 : 51 : 52 : // Default: 0 53 0 : - (float) fuelLeakRate; 54 0 : - (void) setFuelLeakRate:(float)value; 55 : 56 : // Default: NO 57 0 : - (BOOL) massLocked; 58 0 : - (void) setMassLocked:(BOOL)value; 59 : 60 : // Default: NO 61 0 : - (BOOL) atHyperspeed; 62 0 : - (void) setAtHyperspeed:(BOOL)value; 63 : 64 : // Default: 1 65 0 : - (GLfloat) dialForwardShield; 66 0 : - (void) setDialForwardShield:(GLfloat)value; 67 : 68 : // Default: 1 69 0 : - (GLfloat) dialAftShield; 70 0 : - (void) setDialAftShield:(GLfloat)value; 71 : 72 : // Default: MISSILE_STATUS_SAFE 73 0 : - (OOMissileStatus) dialMissileStatus; 74 0 : - (void) setDialMissileStatus:(OOMissileStatus)value; 75 : 76 : // Default: SCOOP_STATUS_NOT_INSTALLED or SCOOP_STATUS_OKAY depending on equipment. 77 0 : - (OOFuelScoopStatus) dialFuelScoopStatus; 78 0 : - (void) setDialFuelScoopStatus:(OOFuelScoopStatus)value; 79 : 80 : // Default: COMPASS_MODE_BASIC or COMPASS_MODE_PLANET depending on equipment. 81 0 : - (OOCompassMode) compassMode; 82 0 : - (void) setCompassMode:(OOCompassMode)value; 83 : 84 : // Default: NO 85 0 : - (BOOL) dialIdentEngaged; 86 0 : - (void) setDialIdentEngaged:(BOOL)value; 87 : 88 : // Default: ALERT_CONDITION_DOCKED 89 0 : - (OOAlertCondition) alertCondition; 90 0 : - (void) setAlertCondition:(OOAlertCondition)condition; 91 : 92 : // Default: 0 93 0 : - (NSUInteger) trumbleCount; 94 0 : - (void) setTrumbleCount:(NSUInteger)value; 95 : 96 0 : - (void) setTradeInFactor:(int)tif; 97 0 : - (int) tradeInFactor; 98 : 99 : @end 100 : 101 : 102 : @interface Entity (ProxyPlayer) 103 : 104 : // True for PlayerEntity or ProxyPlayerEntity. 105 0 : - (BOOL) isPlayerLikeShip; 106 : 107 : @end