Ejemplo n.º 1
0
            public void updateLifeFieldsInfiniteLoop()
            {
                GuiCheckBoxCtrl PEE_infiniteLoop = this.FOT("PEE_infiniteLoop");
                GuiTextEditCtrl PEE_lifetimeVarianceMS_textEdit = this.FOT("PEE_lifetimeVarianceMS_textEdit");
                GuiTextEditCtrl PEE_lifetimeMS_textEdit         = this.FOT("PEE_lifetimeMS_textEdit");
                ParticleEditor  ParticleEditor = "ParticleEditor";

                SimObject emitter   = this.currEmitter;
                bool      isEnabled = PEE_infiniteLoop.isStateOn();

                // Submit undo.

                ParticleEditorUndo.ActionUpdateActiveEmitterLifeFields action = ParticleEditor.createUndo <ParticleEditorUndo.ActionUpdateActiveEmitterLifeFields>("Update Active Emitter");
                action["emitter"] = emitter;

                if (isEnabled)
                {
                    action["newValueLifetimeMS"]         = "0";
                    action["newvalueLifetimeVarianceMS"] = "0";
                    action["oldValueLifetimeMS"]         = PEE_lifetimeMS_textEdit.getText();
                    action["oldValueLifetimeVarianceMS"] = PEE_lifetimeVarianceMS_textEdit.getText();
                }
                else
                {
                    action["newValueLifetimeMS"]         = PEE_lifetimeMS_textEdit.getText();
                    action["newvalueLifetimeVarianceMS"] = PEE_lifetimeVarianceMS_textEdit.getText();
                    action["oldValueLifetimeMS"]         = "0";
                    action["oldValueLifetimeVarianceMS"] = "0";
                }

                ParticleEditor.submitUndo(action);

                // Execute action.

                action.redo();
            }
Ejemplo n.º 2
0
            public void updateLifeFields(bool isRandom, float value, bool isSlider, bool onMouseUp)
            {
                GuiCheckBoxCtrl PEE_infiniteLoop                = this.FOT("PEE_infiniteLoop");
                GuiSliderCtrl   PEE_lifetimeMS_slider           = this.FOT("PEE_lifetimeMS_slider");
                GuiSliderCtrl   PEE_lifetimeVarianceMS_slider   = this.FOT("PEE_lifetimeVarianceMS_slider");
                GuiTextEditCtrl PEE_lifetimeVarianceMS_textEdit = this.FOT("PEE_lifetimeVarianceMS_textEdit");
                GuiTextEditCtrl PEE_lifetimeMS_textEdit         = this.FOT("PEE_lifetimeMS_textEdit");
                editor          Editor         = "Editor";
                ParticleEditor  ParticleEditor = "ParticleEditor";

                this.setEmitterDirty();

                SimObject emitter = this.currEmitter;

                // Transfer values over to gui controls.

                if (isRandom)
                {
                    if (value > 0)
                    {
                        value++;
                    }

                    if (value > PEE_lifetimeMS_slider.getValue())
                    {
                        PEE_lifetimeMS_textEdit.setText(value.AsString());
                        PEE_lifetimeMS_slider.setValue(value.AsString());
                    }
                }
                else
                {
                    if (value > 0)
                    {
                        value--;
                    }

                    if (value < PEE_lifetimeVarianceMS_slider.getValue())
                    {
                        PEE_lifetimeVarianceMS_textEdit.setText(value.AsString());
                        PEE_lifetimeVarianceMS_slider.setValue(value.AsString());
                    }
                }

                // Submit undo.

                SimObject last = Editor.getUndoManager().getUndoAction((Editor.getUndoManager().getUndoCount() - 1));

                if ((isSlider) && (last["isSlider"].AsBool()) && (!last["onMouseUp"].AsBool()))
                {
                    last["isSlider"]                   = isSlider.AsString();
                    last["onMouseUp"]                  = onMouseUp.AsString();
                    last["newValueLifetimeMS"]         = PEE_lifetimeMS_textEdit.getText();
                    last["newValueLifetimeVarianceMS"] = PEE_lifetimeVarianceMS_textEdit.getText();
                }
                else
                {
                    ParticleEditorUndo.ActionUpdateActiveEmitterLifeFields action = ParticleEditor.createUndo <ParticleEditorUndo.ActionUpdateActiveEmitterLifeFields>("Update Active Emitter");
                    action["emitter"]   = emitter;
                    action["isSlider"]  = isSlider.AsString();
                    action["onMouseUp"] = onMouseUp.AsString();

                    action["newValueLifetimeMS"] = PEE_lifetimeMS_textEdit.getText();
                    action["oldValueLifetimeMS"] = emitter["lifetimeMS"];

                    action["newValueLifetimeVarianceMS"] = PEE_lifetimeVarianceMS_textEdit.getText();
                    action["oldValueLifetimeVarianceMS"] = emitter["lifetimeVarianceMS"];

                    ParticleEditor.submitUndo(action);
                }

                // Set the values on the current emitter.

                emitter["lifetimeMS"]         = PEE_lifetimeMS_textEdit.getText();
                emitter["lifetimeVarianceMS"] = PEE_lifetimeVarianceMS_textEdit.getText();
                emitter.call("reload");

                // Keep the infiniteLoop checkbox up to date.

                PEE_infiniteLoop.setStateOn(emitter["lifetimeMS"].AsInt() == 0);
            }