public void Render() { if (zobject.atlas == null) { if (!this.IsOnScreen()) { this.StopRender(); } else { zobject.Render(); if (zobjectLabel != null) { CGPoint labePos = Utilities.CGPointMake(zobject.displayPosition.x + labelOffset.x, zobject.displayPosition.y + labelOffset.y); zobjectLabel.SetScreenPosition(labePos); zobjectLabel.Render(); } } } else { if (this.IsOnScreen()) { ////glEnableClientState (GL_COLOR_ARRAY); (DrawManager.Instance()).Begin(zobject.atlas); if (hangingButton != null) { zobject.SetRotation(hangingButton.UpdateRotation()); if (hangingButton != null) { hangingButton.Render(this, zobject.atlas); } if (hangingButton.hangingButtonScale != 1.0f) { zobject.SetShowScale(hangingButton.hangingButtonScale); } zobject.RenderToDrawArrays_Rotatable(); } else { zobject.RenderToDrawArrays(); } (DrawManager.Instance()).Flush(); if (zobjectLabel != null) { CGPoint labePos = Utilities.CGPointMake(zobject.displayPosition.x + labelOffset.x, zobject.displayPosition.y + labelOffset.y); zobjectLabel.SetScreenPosition(labePos); zobjectLabel.RenderFromAtlas(); } ////glDisableClientState (GL_COLOR_ARRAY); } else { this.StopRender(); } } }