예제 #1
0
        void SelectButton(FoliageBladeButton but)
        {
            if (mSelectedButton != null)
            {
                mSelectedButton.Invalidate();
            }

            mSelectedButton = but;

            mSelectedButton.Invalidate();

            if (paintSet.Checked)
            {
                TerrainGlobals.getEditor().setMode(BTerrainEditor.eEditorMode.cModeFoliageSet);
            }
            else if (paintErase.Checked)
            {
                TerrainGlobals.getEditor().setMode(BTerrainEditor.eEditorMode.cModeFoliageErase);
            }

            int selectedSetIndex   = FoliageManager.giveIndexOfSet(mSelectedButton.mFullFileName);
            int selectedBladeIndex = mSelectedButton.mIndexInConatiningSet;

            FoliageManager.SelectedSetIndex   = selectedSetIndex;
            FoliageManager.SelectedBladeIndex = selectedBladeIndex;

            TerrainGlobals.getEditor().newFoliageBrush();

            CoreGlobals.getEditorMain().MainMode = BEditorMain.eMainMode.cTerrain;

            CoreGlobals.getEditorMain().mPhoenixScenarioEditor.HandleCommand("Foliage Paint");
        }
예제 #2
0
        private void ShowBBOnlyCheckBox_CheckedChanged(object sender, EventArgs e)
        {
            TerrainGlobals.getEditor().mbClipartBBOnly = ShowBBOnlyCheckBox.Checked;
            if (mbSuspendUIUpdate)
            {
                return;
            }
            ClipArtSetDirty();


            if (TerrainGlobals.getEditor().mbClipartBBOnly == false)
            {
                Cursor.Current = Cursors.WaitCursor;
                int x = TerrainGlobals.getEditor().mLastTerrainPasteLocationX;
                int z = TerrainGlobals.getEditor().mLastTerrainPasteLocationZ;

                TerrainGlobals.getEditor().TransformClipart(GetXScale(), GetYScale(), GetZScale(), GetRotation());
                TerrainGlobals.getEditor().applyPastedData(x, z, GetYOffset());
                CoreGlobals.getEditorMain().mOneFrame = true;
                Cursor.Current = Cursors.Default;
            }
            else
            {
                TerrainGlobals.getEditor().clearBrushDeformations();
            }
        }
예제 #3
0
 public void ObjectivesChanged()
 {
     if (CoreGlobals.getEditorMain().mPhoenixScenarioEditor.CheckTopicPermission("Sim") == false)
     {
         return;
     }
 }
예제 #4
0
        private void RefreshButton_Click(object sender, EventArgs e)
        {
            LoadClipArt();
            this.subfolderPicker1.RootFolder = CoreGlobals.getWorkPaths().mClipArt;

            CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
        }
예제 #5
0
 private void PlayerSettingsChanged()
 {
     if (CoreGlobals.getEditorMain().mPhoenixScenarioEditor.CheckTopicPermission("Sim") == false)
     {
         return;
     }
 }
예제 #6
0
        private void bakeFinalButton_Click(object sender, EventArgs e)
        {
            //check topic permission
            if (CoreGlobals.getEditorMain().mPhoenixScenarioEditor.CheckTopicPermission("Sim") == false)
            {
                return;
            }

            TriggerFinalBake.eBuildMode mode = TriggerFinalBake.eBuildMode.NoOptimizations;
            try
            {
                mode = (TriggerFinalBake.eBuildMode)Enum.Parse(typeof(TriggerFinalBake.eBuildMode), buildModeCombo.SelectedItem.ToString());
            }
            catch (System.Exception ex2)
            {
                CoreGlobals.getErrorManager().OnException(ex2);
            }

            //export
            string fileName = Path.Combine(CoreGlobals.ScenarioDirectory, CoreGlobals.ScenarioFile);

            if (TriggerFinalBake.eBuildMode.NoOptimizations == mode)
            {
                XMBProcessor.CreateXMB(fileName, false);
            }
            else
            {
                string tempFile = TriggerFinalBake.OptimizeScenarioScripts(fileName, mode);
                XMBProcessor.CreateXMB(tempFile, false);
                File.Copy(tempFile + ".xmb", fileName + ".xmb", true);
            }
        }
예제 #7
0
        private void DescContainscheckBox_CheckedChanged(object sender, EventArgs e)
        {
            //DescContainscheckBox.Checked;
            LoadControls();

            CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
        }
예제 #8
0
        void subfolderPicker1_FolderSelected(object sender, EventArgs e)
        {
            LoadControls();


            CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
        }
예제 #9
0
        private void Device_InputMaskFromListDlg_Load(object sender, EventArgs e)
        {
            List <string> maskNames = CoreGlobals.getEditorMain().mIMaskPickerUI.GetMaskNames();

            if (maskNames.Count == 0)
            {
                MessageBox.Show("This device requires you to have masks listed in the masks tab.");
                this.Close();
                return;
            }
            maskListComboBox.Items.AddRange(maskNames.ToArray());
            maskNames.Clear();
            maskNames = null;

            maskListComboBox.SelectedIndex = 0;

            if (!(mOwningDevice.SelectedMaskName == "" || mOwningDevice.SelectedMaskName == null))
            {
                int idx = maskListComboBox.Items.IndexOf(mOwningDevice.SelectedMaskName);
                if (idx != -1)
                {
                    maskListComboBox.SelectedIndex = idx;
                }
            }
        }
예제 #10
0
        void mUpdateTimer_Tick(object sender, EventArgs e)
        {
            mbSuspendUIUpdate = true;
            int x = TerrainGlobals.getEditor().mLastTerrainPasteLocationX;
            int z = TerrainGlobals.getEditor().mLastTerrainPasteLocationZ;

            XPosUpDown.Value = x;
            ZPosUpDown.Value = z;



            if (mbDirty == true)
            {
                if (((System.TimeSpan)(System.DateTime.Now - mLastDirtyTime)).TotalMilliseconds > 400)
                {
                    if (Control.MouseButtons == MouseButtons.Left)
                    {
                        return;
                    }
                    if (ShowBBOnlyCheckBox.Checked == true)
                    {
                        return;
                    }

                    mbDirty = false;
                    TerrainGlobals.getEditor().TransformClipart(GetXScale(), GetYScale(), GetZScale(), GetRotation());
                    TerrainGlobals.getEditor().applyPastedData(x, z, GetYOffset());
                    CoreGlobals.getEditorMain().mOneFrame = true;

                    ChangeLabel.Text      = "Done";
                    ChangeLabel.ForeColor = System.Drawing.Color.Green;
                }
            }
            mbSuspendUIUpdate = false;
        }
예제 #11
0
        static public void clearSelectionMask()
        {
            if (mCurrSelectionMask.HasData())
            {
                if (CoreGlobals.getEditorMain().mIMaskPickerUI == null)
                {
                    CoreGlobals.getEditorMain().mIGUI.ShowDialog("MaskLayers");
                }
                CoreGlobals.getEditorMain().mIMaskPickerUI.SetLastMask(mCurrSelectionMask);
            }

            mCurrSelectionMask.Clear();

            if (TerrainGlobals.getTerrain().getQuadNodeRoot() != null)
            {
                List <BTerrainQuadNode> nodes = new List <BTerrainQuadNode>();
                TerrainGlobals.getTerrain().getQuadNodeRoot().getTileBoundsIntersection(nodes, mCurrSelectionMaskExtends.minX, mCurrSelectionMaskExtends.maxX,
                                                                                        mCurrSelectionMaskExtends.minZ, mCurrSelectionMaskExtends.maxZ);

                for (int i = 0; i < nodes.Count; i++)
                {
                    nodes[i].mDirty = true;
                }
                TerrainGlobals.getTerrain().rebuildDirtyPostDeform(BRenderDevice.getDevice());
            }

            // Reset extends
            mCurrSelectionMaskExtends.empty();
        }
예제 #12
0
            protected override void OnClick(EventArgs e)
            {
                mParent.SelectButton(this);

                //base.OnClick(e);
                CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
            }
예제 #13
0
        private void SnapToVisButton_Click(object sender, EventArgs e)
        {
            float amount      = ((float)AlignmentSlider.NumericValue / 100f);
            bool  setRotation = SetRotationCheckBox.Checked;

            SimGlobals.getSimMain().updateHeightsFromTerrain(SimGlobals.getSimMain().mSelectedEditorObjects, setRotation, amount);
            CoreGlobals.getEditorMain().mOneFrame = true;
        }
예제 #14
0
        private void sizeFiltertrackBar_Scroll(object sender, EventArgs e)
        {
            if (SearchSizeFilterCheckBox.Checked)
            {
                LoadControls();
            }

            CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
        }
예제 #15
0
        private void SetToOriginButton_Click(object sender, EventArgs e)
        {
            Matrix m = Matrix.Identity;

            foreach (EditorObject obj in SimGlobals.getSimMain().mSelectedEditorObjects)
            {
                obj.setMatrix(m);
            }
            CoreGlobals.getEditorMain().mOneFrame = true;
        }
예제 #16
0
        private void PlayerIDComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            IUnitPicker pickerInterface = CoreGlobals.getEditorMain().mIGUI.getActiveClientPage() as IUnitPicker;

            if (pickerInterface != null)
            {
                pickerInterface.PlayerIdSelectedChanged(System.Convert.ToInt32(PlayerIDComboBox.Text));
            }
            CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
        }
예제 #17
0
        private void paintErase_CheckedChanged(object sender, EventArgs e)
        {
            TerrainGlobals.getEditor().setMode(BTerrainEditor.eEditorMode.cModeFoliageErase);

            TerrainGlobals.getEditor().newFoliageBrush();

            CoreGlobals.getEditorMain().MainMode = BEditorMain.eMainMode.cTerrain;

            CoreGlobals.getEditorMain().mPhoenixScenarioEditor.HandleCommand("Foliage Paint");
        }
예제 #18
0
        ////////////////////////////////
        private void SaveCurrentButton_Click(object sender, EventArgs e)
        {
            if (CoreGlobals.getEditorMain().mPhoenixScenarioEditor.CheckTopicPermission("Masks") == false)
            {
                return;
            }

            string saveName = CurrentMaskNameTextBox.Text;

            AddMaskToList(Masking.getCurrSelectionMaskWeights().Clone(), saveName);
        }
예제 #19
0
        private void SearchSubfoldersCheckBox_CheckedChanged(object sender, EventArgs e)
        {
            if (SearchSubfoldersCheckBox.Checked == true)
            {
            }
            else
            {
            }
            LoadControls();

            CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
        }
예제 #20
0
        private void UpdateMetaDatabutton_Click(object sender, EventArgs e)
        {
            bool overwriteReadOnly = this.UpdateReadOnlycheckBox.Checked;

            foreach (ClipArtButton d in flowLayoutPanel1.Controls)
            {
                d.mData.Update(overwriteReadOnly);
            }
            LoadClipArt();

            CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
        }
예제 #21
0
        override public bool computeOutput(ConnectionPoint connPoint, OutputGenerationParams parms)
        {
            if (!verifyInputConnections())
            {
                return(false);
            }

            gatherInputAndParameters(parms);


            MaskParam mp = ((MaskParam)(connPoint.ParamType));

            mp.Value = new DAGMask(parms.Width, parms.Height);

            float mx    = CoreGlobals.getEditorMain().mITerrainShared.getBBMax().Y;
            float mn    = CoreGlobals.getEditorMain().mITerrainShared.getBBMin().Y;
            float delta = mx - mn;

            int numXVerts = CoreGlobals.getEditorMain().mITerrainShared.getNumXVerts();
            int numZVerts = CoreGlobals.getEditorMain().mITerrainShared.getNumXVerts();

            float[] fk = new float[numXVerts * numZVerts];
            for (int x = 0; x < numXVerts; x++)
            {
                for (int y = 0; y < numZVerts; y++)
                {
                    fk[x + numXVerts * y] = CoreGlobals.getEditorMain().mITerrainShared.getTerrainHeight(x, y);
                }
            }


            if (numXVerts != parms.Width || numZVerts != parms.Height)
            {
                float[] resizedHeights = ImageManipulation.resizeF32Img(fk, numXVerts, numZVerts, parms.Width, parms.Height, ImageManipulation.eFilterType.cFilter_Linear);
                fk = (float[])resizedHeights.Clone();
            }


            for (int x = 0; x < parms.Width; x++)
            {
                for (int y = 0; y < parms.Height; y++)
                {
                    float k = fk[x + parms.Width * y];
                    k -= mn;
                    k /= delta;

                    mp.Value[x, y] = k;
                }
            }

            return(true);
        }
예제 #22
0
        private void MaskListView_Click(object sender, EventArgs e)
        {
            //if(MaskListView.SelectedItems.Count > 0)
            //{
            //   MaskItem mask = MaskListView.SelectedItems[0] as MaskItem;

            //   if(mask != null)
            //   {
            //      TerrainGlobals.getEditor().setCurrSelectionMaskWeights(CopyMask(mask.mMask));
            //   }
            //}
            CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
        }
예제 #23
0
        void ClipArtSetDirty()
        {
            mLastDirtyTime = System.DateTime.Now;
            if (!mbDirty)
            {
                ChangeLabel.Text      = "Settings Changed...";
                ChangeLabel.ForeColor = System.Drawing.Color.Red;
            }
            mbDirty = true;

            DrawClipArtBB();
            CoreGlobals.getEditorMain().mOneFrame = true;
        }
예제 #24
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (CoreGlobals.getEditorMain().mPhoenixScenarioEditor.CheckTopicPermission("Sim") == false)
            {
                return;
            }

            string res = SimGlobals.getSimMain().placeItemsToMask(mObjectPlacementSettings);

            if (res != "")
            {
                MessageBox.Show(res);
            }
        }
예제 #25
0
        private void RandomMapGenerationForm_Load(object sender, EventArgs e)
        {
            List <string> maskNames = CoreGlobals.getEditorMain().mIMaskPickerUI.GetMaskNames();

            maskListComboBox.Items.AddRange(maskNames.ToArray());
            maskNames.Clear();
            maskNames = null;

            if (maskListComboBox.Items.Count != 0)
            {
                maskListComboBox.SelectedIndex = 0;
            }

            newScript();
        }
예제 #26
0
        private void JoinButton_Click(object sender, EventArgs e)
        {
            if (SimGlobals.getSimMain().mSelectedEditorObjects.Count < 2)
            {
                return;
            }

            Matrix m = SimGlobals.getSimMain().mSelectedEditorObjects[0].getMatrix();

            foreach (EditorObject obj in SimGlobals.getSimMain().mSelectedEditorObjects)
            {
                obj.setMatrix(m);
            }
            CoreGlobals.getEditorMain().mOneFrame = true;
        }
예제 #27
0
        //private void ContainstextBox_TextChanged(object sender, EventArgs e)
        //{
        //   if (DescContainscheckBox.Checked)
        //      LoadControls();
        //}

        //private void fileNameContainstextBox_TextChanged(object sender, EventArgs e)
        //{
        //   if (FileNameContainscheckBox.Checked)
        //      LoadControls();
        //}

        private void SizeFilterCheckBox_CheckedChanged(object sender, EventArgs e)
        {
            LoadControls();

            if (SearchSizeFilterCheckBox.Checked == true)
            {
                this.sizeFiltertrackBar.Enabled = true;
            }
            else
            {
                this.sizeFiltertrackBar.Enabled = false;
            }

            CoreGlobals.getEditorMain().mIGUI.SetClientFocus();
        }
예제 #28
0
        private void SimObjAdvNumericMove_Load(object sender, EventArgs e)
        {
            Vector3 minBounds = CoreGlobals.getEditorMain().mITerrainShared.getBBMin();
            Vector3 maxBounds = CoreGlobals.getEditorMain().mITerrainShared.getBBMax();

            Vector3 size = maxBounds - minBounds;

            xValue.Setup(-360, 360, true);
            yValue.Setup(-360, 360, true);
            zValue.Setup(-360, 360, true);

            xValue.NumericValue = 0;
            yValue.NumericValue = 0;
            zValue.NumericValue = 0;
        }
예제 #29
0
        private void ApplyButton_Click(object sender, EventArgs e)
        {
            if (mbDirty == true)
            {
                Cursor.Current = Cursors.WaitCursor;
                int x = TerrainGlobals.getEditor().mLastTerrainPasteLocationX;
                int z = TerrainGlobals.getEditor().mLastTerrainPasteLocationZ;

                TerrainGlobals.getEditor().TransformClipart(GetXScale(), GetYScale(), GetZScale(), GetRotation());
                TerrainGlobals.getEditor().applyPastedData(x, z, GetYOffset());
                CoreGlobals.getEditorMain().mOneFrame = true;
                Cursor.Current = Cursors.Default;
            }

            TerrainGlobals.getEditor().OKPaste();
        }
예제 #30
0
        private void MatchRotationButton_Click(object sender, EventArgs e)
        {
            if (SimGlobals.getSimMain().mSelectedEditorObjects.Count < 2)
            {
                return;
            }

            Matrix m = SimGlobals.getSimMain().mSelectedEditorObjects[0].getRotationOnly();

            foreach (EditorObject obj in SimGlobals.getSimMain().mSelectedEditorObjects)
            {
                Matrix trans = m * Matrix.Translation(obj.getPosition());
                obj.setMatrix(trans);
            }
            CoreGlobals.getEditorMain().mOneFrame = true;
        }