public override cSprite copy( ) { cSpriteIcon s = new cSpriteIcon(); s.copy(this); return(s); }
//cSprite overloads public override void copy( cSprite psprite ) //Use this in copy constructor and operator= { base.copy( psprite ); if ( !psprite.IsKindOf( "cSpriteIcon" )) return ; //You're done if psprite isn't a cSpriteIcon*. cSpriteIcon picon = ( cSpriteIcon )( psprite ); /* I know it is a cSpriteIcon at this point, but I need to do a cast, so the compiler will let me call cSpriteIcon methods. */ _transparent = picon._transparent; Aspect = picon._aspect; //Sets _aspect, _sizex, _sizey, _visualradius _presetaspect = picon._presetaspect; _bitmapcolor = picon._bitmapcolor; _xtilecount = picon._xtilecount; _tiled = picon._tiled; }
//Need to handle non-_convex polygons differently in OpenGL public virtual void drawbitmap(cSpriteIcon picon, int drawflags) { }