public void Activate(OnDialogDone callback, string initalText, TextLineEditor.ValidateText validateTextCallback = null) { _onDialogDoneCallback = callback; Activate(); TextLineEditor.OnEditDone editorCallback = delegate(bool canceled, string newText) { if (_onDialogDoneCallback != null) { _onDialogDoneCallback(canceled, newText); } Deactivate(); }; textLineEditor.Activate(editorCallback, initalText, validateTextCallback); }
} // end of NoActorOnSelect() public void ActorOnSelect(MouseMenu menu) { if (menu.CurString == Strings.Localize("mouseEdit.rename")) { if (menuActor != null) { TextLineDialog.OnDialogDone callback = delegate(bool canceled, string newText) { if (!canceled && newText.Length > 0) { newText = TextHelper.FilterURLs(newText); newText = TextHelper.FilterEmail(newText); menuActor.DisplayName = newText; Programming.NamedFilter.RegisterInCardSpace(menuActor); Boku.InGame.IsLevelDirty = true; } }; TextLineEditor.ValidateText validateCallback = delegate(TextBlob textBlob) { // Deterimine if name is valid. string name = textBlob.ScrubbedText; name = name.Trim(); bool valid = !String.IsNullOrWhiteSpace(name); return(valid); }; inGame.shared.textLineDialog.Activate(callback, menuActor.DisplayName, validateCallback); } } else if (menu.CurString == Strings.Localize("mouseEdit.program")) { inGame.ShowEditor(menuActor); } else if (menu.CurString == Strings.Localize("mouseEdit.objectTweak")) { if (menuActor != null) { inGame.shared.editObjectParameters.Actor = menuActor; inGame.CurrentUpdateMode = Boku.InGame.UpdateMode.EditObjectParameters; // Set return mode so we come back to ObjectEdit when done. inGame.mouseEditUpdateObj.ReturnMode = Boku.InGame.BaseEditUpdateObj.ToolMode.EditObject; inGame.touchEditUpdateObj.ReturnMode = Boku.InGame.BaseEditUpdateObj.ToolMode.EditObject; } } else if (menu.CurString == Strings.Localize("mouseEdit.cut")) { inGame.editObjectUpdateObj.CutAction(menuActor); } else if (menu.CurString == Strings.Localize("mouseEdit.copy")) { inGame.editObjectUpdateObj.CopyAction(menuActor); } else if (menu.CurString == Strings.Localize("mouseEdit.size")) { slider.Label = Strings.Localize("mouseEdit.sizeValue"); slider.MinValue = 0.2f; slider.MaxValue = 4.0f; slider.NumberOfDecimalPlaces = 1; slider.IncrementByAmount = 0.1f; slider.CurrentValueImmediate = menuActor.ReScale; slider.Selected = true; slider.RefreshTexture(); sliderActive = true; } else if (menu.CurString == Strings.Localize("mouseEdit.rotate")) { slider.Label = Strings.Localize("mouseEdit.rotationValue"); slider.MinValue = 0.0f; slider.MaxValue = 360.0f; slider.NumberOfDecimalPlaces = 0; slider.IncrementByAmount = 1.0f; slider.CurrentValueImmediate = MathHelper.ToDegrees(menuActor.Movement.RotationZ); slider.Selected = true; slider.RefreshTexture(); sliderActive = true; } else if (menu.CurString == Strings.Localize("mouseEdit.height")) { slider.Label = Strings.Localize("mouseEdit.heightValue"); slider.MinValue = menuActor.MinHeight; slider.MaxValue = 30.0f; slider.NumberOfDecimalPlaces = 2; slider.IncrementByAmount = 0.01f; slider.CurrentValueImmediate = menuActor.HeightOffset + menuActor.DefaultEditHeight; slider.Selected = true; slider.RefreshTexture(); sliderActive = true; } else { Debug.Assert(false, "Should never get here."); } } // end of ActorOnSelect()