Line data Source code
1 0 : /* 2 : 3 : OOEntityWithDrawable.h 4 : 5 : Abstract intermediate class for entities which use an OODrawable to render. 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 "Entity.h" 28 : 29 : @class OODrawable; 30 : 31 : // Methods that must be supported by subentities, regardless of type. 32 : @protocol OOSubEntity 33 : 34 0 : - (void) rescaleBy:(GLfloat)factor; 35 0 : - (void) rescaleBy:(GLfloat)factor writeToCache:(BOOL)writeToCache; 36 : 37 : // Separate drawing path for subentities of ships. 38 0 : - (void) drawSubEntityImmediate:(bool)immediate translucent:(bool)translucent; 39 : 40 : @end 41 : 42 : 43 : 44 0 : @interface OOEntityWithDrawable: Entity 45 : { 46 : @private 47 0 : OODrawable *drawable; 48 : } 49 : 50 0 : - (OODrawable *)drawable; 51 0 : - (void)setDrawable:(OODrawable *)drawable; 52 : 53 : @end