private void RequestUserName() { float step; if (this.rows > this.columns) { step = 2.0f / this.rows; } else { step = 2.0f / this.columns; } this.popUp = new CLLabel(GetString(Resource.String.Name), this.textSize, -1.0f + step * 2, 1.0f - step * 4, step * 5, step, Paint.Align.Left, Color.Argb(255, 0, 170, 0)); this.popUp.Action = this.popUp.OutAction = delegate() { if (GLView.et.Text != "") { SaveUserScore(); this.results.Action(); this.popUp.Action = this.popUp.OutAction = delegate() { //TODO: add fancy adding new score animation ClearField(); this.popUp = null; }; ((ViewGroup)GLView.et.Parent).RemoveView(GLView.et); } }; this.popUp.ExtraDraw = delegate() { int textureId = (int)CLColour.CLMax + (int)CLLabelSize.CLMiddle; this.popUp.Draw(this.fieldTextures[textureId], 0.0f, 0.0f); }; CLReDraw.EditText(-1.0f + step * 3.45f, 1.0f - step * 4.2f, this.textSize / 1.6f, Color.Argb(255, 0, 170, 0), this.popUp.Action); }