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);
        }
Esempio n. 2
0
        }   // 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()