Beispiel #1
0
 public void ToggleFullScreen()
 {
     m_bFullScreen = !m_bFullScreen;
     m_parent.SetFullScreen(m_bFullScreen);
     SetFullScreen(m_bFullScreen);
     SceneSceneEditor.SetFullScreen(m_bFullScreen ? 1 : 0);
 }
Beispiel #2
0
        private void buttonJmpToTree_Click(object sender, EventArgs e)
        {
            int entityCount = -1;

            SceneSceneEditor.GetSelectedEntityCount(ref entityCount);
            if (entityCount != 1)
            {
                MessageBox.Show("不能选择2个或以上的对象来使用此功能。");
                return;
            }

            int    iLogicObjPtr = 0;
            string objTypeName  = string.Empty;

            m_doc.DocLogical.GetSelectedLogicObjPtr(0, ref iLogicObjPtr, ref objTypeName);

            switch (objTypeName)
            {
            case "LogicalPoly":
                ToSelectPoly(iLogicObjPtr);
                break;

            default:
                break;
            }
        }
Beispiel #3
0
        /// <summary>
        /// 将摄像机移动到对象所在的位置
        /// </summary>
        /// <param name="objectInfo">对象信息</param>
        private void MoveCameraToObject(_AtlObjInfo objectInfo)
        {
            // 移动镜头
            Hashtable infoTable   = Helper.GetInfoTable(objectInfo);
            string    positionStr = infoTable["vPosition"] as string;

            if (positionStr != null) // 有效的坐标
            {
                string[] positionData = positionStr.Split(new char[] { ',' });
                float    positionX    = float.Parse(positionData[0]);
                float    positionY    = float.Parse(positionData[1]);
                float    positionZ    = float.Parse(positionData[2]);

                _AtlVector3 objPos = new _AtlVector3();
                objPos.x = positionX;
                objPos.y = positionY;
                objPos.z = positionZ;

                _AtlVector3 oldpos = new _AtlVector3(), oldlookat = new _AtlVector3();
                SceneSceneEditor.GetCameraPosLookat(ref oldpos, ref oldlookat);
                _AtlVector3 delta = new _AtlVector3();
                delta.x = oldlookat.x - oldpos.x; delta.y = oldlookat.y - oldpos.y; delta.z = oldlookat.z - oldpos.z;
                _AtlVector3 newpos = new _AtlVector3();
                newpos.x = objPos.x - delta.x; newpos.y = objPos.y - delta.y; newpos.z = objPos.z - delta.z;
                SceneSceneEditor.SetCameraLocation(newpos.x, newpos.y, newpos.z, objPos.x, objPos.y, objPos.z);
            }
        }
Beispiel #4
0
        private void buttonDel_Click(object sender, EventArgs e) // 删除
        {
            if (this.advTreePoly.SelectedNode == null)
            {
                MessageBox.Show("未选中任何结点");
                return;
            }

            _AtlObjInfo selectedinfo = (_AtlObjInfo)this.advTreePoly.SelectedNode.Tag;

            if (this.advTreePoly.SelectedNode.Parent.Text == "多边形")
            {
                //m_doc.DocLogical.DeleteSelectedPoly();
                m_doc.DocLogical.DeleteSelectedObject();
                //this.advTreePoly.SelectedNode.Remove();
            }
            else if (this.advTreePoly.SelectedNode.Parent.Text == "笔刷")
            {
                int iMask = Convert.ToInt32(selectedinfo.strValues[4]);
                if (iMask != 0)
                {
                    SceneSceneEditor.DeleteCurrentCellInfo();

                    int iID = Convert.ToInt32(selectedinfo.strValues[0]);
                    m_doc.DocLogical.DeleteOneLogicalBrush(iID);

                    this.advTreePoly.Nodes.Remove(this.advTreePoly.SelectedNode);
                    this.advTreePoly.SelectedNode.Remove();
                }
            }
        }
Beispiel #5
0
        /// <summary>
        /// 检查当前选中的对象是否能够旋转 ahpho suntao
        /// </summary>
        /// <returns>是否能够旋转</returns>
        private bool CheckObjectCanRotate()
        {
            bool canRotate = true;

            int entityCount = 0;

            SceneSceneEditor.GetSelectedEntityCount(ref entityCount);

            _AtlObjInfo[] objInfoArray = new _AtlObjInfo[entityCount];
            for (int i = 0; i < entityCount; i++)
            {
                string objectType = objInfoArray[i].strType;
                if (objectType == "NPC" || objectType == "Doodad")
                {
                    ;
                }
                else
                {
                    canRotate = false;
                    break;
                }
            }

            return(canRotate);
        }
Beispiel #6
0
 private void SetLogicSceneEditorBrushState(_AtlObjInfo atlobj)
 {
     SceneSceneEditor.SetEditState(SCENESTATE_CELLLOGICAL);
     SceneSceneEditor.ClearLogicModifyState();
     SceneSceneEditor.SetLogicModifyState(Convert.ToInt32(atlobj.strValues[4]), atlobj.strValues[3]);
     SceneSceneEditor.SetLogicCurrentColor(stringToColor(atlobj.strValues[1]));
     SceneSceneEditor.SetCurrentEditBrushIndex(Convert.ToInt32(atlobj.strValues[0]));
 }
Beispiel #7
0
        private void buttonOK_Click(object sender, EventArgs e)
        {
            if (this.advTreePoly.SelectedNode == null || this.advTreePoly.SelectedNode.Level != 1)
            {
                MessageBox.Show("未选中任何多边形/笔刷结点");
                return;
            }

            _AtlObjInfo selectedinfo = (_AtlObjInfo)this.advTreePoly.SelectedNode.Tag;

            if (this.advTreePoly.SelectedNode.Parent.Text == "多边形")
            {
                selectedinfo.strValues[0] = this.textBoxScript.Text;
                selectedinfo.strValues[5] = this.textBoxHeight.Text;
                int iNewMask = 0
                               + (this.checkBoxBlock.Checked ? LSTATE_BLOCKCHARACTER : 0)
                               + (this.checkBoxPut.Checked ? LSTATE_PUTOBJECT : 0)
                               + (this.checkBoxStall.Checked ? LSTATE_STALL : 0)
                               + (this.checkBoxIndoor.Checked ? LSTATE_INDOOR : 0)
                               + (this.checkBoxRest.Checked ? LSTATE_REST : 0)
                               + (this.checkBoxRideHorse.Checked ? LSTATE_RIDEHORSE : 0);
                selectedinfo.strValues[3] = iNewMask.ToString();
                selectedinfo.strValues[1] = this.textLogicName.Text;
                selectedinfo.strValues[4] = this.colorPicker.Style.BackColor1.Color.ToArgb().ToString();

                SaveLogicInfoUI((_AtlObjInfo)this.advTreePoly.SelectedNode.Tag);
            }
            else if (this.advTreePoly.SelectedNode.Parent.Text == "笔刷")
            {
                int    oldMask   = Convert.ToInt32(selectedinfo.strValues[4]);
                string oldScript = selectedinfo.strValues[3];

                selectedinfo.strValues[3] = this.textBoxScript.Text;
                //selectedinfo.strValues[5] = this.textBoxHeight.Text;
                int iNewMask = 0
                               + (this.checkBoxBlock.Checked ? LSTATE_BLOCKCHARACTER : 0)
                               + (this.checkBoxPut.Checked ? LSTATE_PUTOBJECT : 0)
                               + (this.checkBoxStall.Checked ? LSTATE_STALL : 0)
                               + (this.checkBoxIndoor.Checked ? LSTATE_INDOOR : 0)
                               + (this.checkBoxRest.Checked ? LSTATE_REST : 0)
                               + (this.checkBoxRideHorse.Checked ? LSTATE_RIDEHORSE : 0);
                selectedinfo.strValues[4] = iNewMask.ToString();
                selectedinfo.strValues[2] = this.textLogicName.Text;
                selectedinfo.strValues[1] = this.colorPicker.Style.BackColor1.Color.ToArgb().ToString();

                SaveLogicInfoUI((_AtlObjInfo)this.advTreePoly.SelectedNode.Tag);
                SceneSceneEditor.SetLogicCurrentColor(stringToColor(selectedinfo.strValues[1]));

                // 中途更新笔刷数据,要把原来刷的也改了,不然会有问题。
                SceneSceneEditor.ModifyCurrentCellInfo(SceneSceneEditor.TransToEngineFormat(oldMask), SceneSceneEditor.TransToEngineFormat(iNewMask), oldScript, selectedinfo.strValues[3]);

                SetLogicSceneEditorBrushState(selectedinfo);
            }

            this.advTreePoly.SelectedNode.Text = string.Format("{0}{1}", this.textLogicName.Text, this.textBoxScript.Text.Length > 0 ? " [√]" : string.Empty);
            this.buttonOK.Enabled = false;
        }
Beispiel #8
0
        /// <summary>
        /// 获取摄像机坐标 ahpho suntao
        /// </summary>
        /// <returns>摄像机坐标字符串</returns>
        private string GetCameraLookAt()
        {
            _AtlVector3 cameraLocation = new _AtlVector3();
            _AtlVector3 cameraLookAt   = new _AtlVector3();

            SceneSceneEditor.GetCameraPosLookat(ref cameraLocation, ref cameraLookAt);
            string cameraLookAtString = string.Format("{0},{1},{2}", (int)cameraLookAt.x, (int)cameraLookAt.y, (int)cameraLookAt.z);

            return(cameraLookAtString);
        }
Beispiel #9
0
        private void buttonBuildPoly_Click(object sender, EventArgs e) // build 多边形
        {
            BuildPolyForm bpf = new BuildPolyForm();
            DialogResult  dr  = bpf.ShowDialog();

            if (dr == DialogResult.OK)
            {
                SceneSceneEditor.BuildPolyAndSetInHand(bpf.m_nVergeNum, bpf.m_fRadius, bpf.m_fHeight, bpf.m_fDegree);
            }
        }
Beispiel #10
0
        private void MoveCameraToPosition(_AtlVector3 newPos)
        {
            _AtlVector3 oldpos = new _AtlVector3(), oldlookat = new _AtlVector3();

            SceneSceneEditor.GetCameraPosLookat(ref oldpos, ref oldlookat);
            _AtlVector3 delta = new _AtlVector3();

            delta.x = oldlookat.x - oldpos.x; delta.y = oldlookat.y - oldpos.y; delta.z = oldlookat.z - oldpos.z;
            _AtlVector3 newpos = new _AtlVector3();

            newpos.x = newPos.x - delta.x; newpos.y = newPos.y - delta.y; newpos.z = newPos.z - delta.z;
            SceneSceneEditor.SetCameraPosLookat(ref newpos, ref newPos);
        }
Beispiel #11
0
        private void LogicBrushParamsChanged(object sender, EventArgs e) // 笔刷参数改变
        {
            this.sliderBrushRadius.Text  = this.sliderBrushRadius.Value.ToString();
            this.sliderDisplayWidth.Text = this.sliderDisplayWidth.Value.ToString();
            this.sliderBrushHeight.Text  = this.sliderBrushHeight.Value.ToString();

            int brushradius  = this.sliderBrushRadius.Value;
            int brushtype    = this.radioRect.Checked ? 1 : 0;
            int displaywidth = this.sliderDisplayWidth.Value;
            int brushheight  = this.sliderBrushHeight.Value;

            SceneSceneEditor.SetLogicBrushParams(brushradius, brushtype, displaywidth, brushheight);
        }
Beispiel #12
0
        private void LogicDisplayParamsChanged(object sender, EventArgs e) // 逻辑显示参数
        {
            if ((sender as DevComponents.DotNetBar.Controls.CheckBoxX) == this.checkShowLogicCell)
            {
                this.checkShowTerrainCell.Enabled = this.checkShowItemCell.Enabled = checkShowSelectedCell.Enabled = this.checkShowLogicCell.Checked;
            }

            int showcell     = this.checkShowLogicCell.Checked ? 1 : 0;
            int showterrain  = this.checkShowTerrainCell.Checked ? 1 : 0;
            int showitem     = this.checkShowItemCell.Checked ? 1 : 0;
            int showselected = this.checkShowSelectedCell.Checked ? 1 : 0;

            SceneSceneEditor.GetSetLogicDisplayParams(0, ref showcell, ref showterrain, ref showitem, ref showselected);
        }
Beispiel #13
0
        /// <summary>
        /// 编辑分组 ahpho suntao
        /// </summary>
        private void EditGroup()
        {
            int entityCount = -1;

            SceneSceneEditor.GetSelectedEntityCount(ref entityCount);

            List <_AtlObjInfo> objectInfoList = new List <_AtlObjInfo>();
            string             objectType     = "";

            for (int i = 0; i < entityCount; i++)
            {
                int    iLogicObjPtr = 0;
                string objTypeName  = string.Empty;
                m_doc.DocLogical.GetSelectedLogicObjPtr(i, ref iLogicObjPtr, ref objTypeName);
                _AtlObjInfo atlinfo = new _AtlObjInfo();
                atlinfo.bChanged     = 1;
                atlinfo.iLogicObjPtr = iLogicObjPtr;
                //_AtlObjInfo中要储存iLogicObjPtr entityPtr,方便C#对话框保存时 直接exchange去docLogical,
                //再用iLogicObjPtr之逻辑更新entityPtr指向的表现。
                m_doc.DocLogical.GetSetObjInfo(objTypeName, ref atlinfo, iLogicObjPtr, 1);

                if (objectType == "")
                {
                    objectType = atlinfo.strType;
                    objectInfoList.Add(atlinfo);
                }
                else
                {
                    if (atlinfo.strType == objectType)
                    {
                        objectInfoList.Add(atlinfo);
                    }
                }
            }

            if (entityCount > 0)
            {
                GroupForm gForm = new GroupForm();
                gForm.CurrentBaseDoc = m_doc;
                gForm.ObjectType     = objectType;
                gForm.ObjectInfoList = objectInfoList;
                gForm.Init();
                gForm.ShowDialog();
            }
            else
            {
                MessageBox.Show("请先选择要设置分组的对象!", "设置分组", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Beispiel #14
0
        /// <summary>
        /// 旋转选中的部件
        /// </summary>
        private void RotateSelectedObject()
        {
            string newRotation = null;

            SceneSceneEditor.RotateSelectedObject(ref newRotation);
            if (newRotation != null) // 已经改变朝向
            {
                string[] rotations = newRotation.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

                int entityCount = -1;
                SceneSceneEditor.GetSelectedEntityCount(ref entityCount);

                _AtlObjInfo[] objinfos = new _AtlObjInfo[entityCount];
                for (int i = 0; i < entityCount; i++)
                {
                    int    iLogicObjPtr = 0;
                    string objTypeName  = string.Empty;
                    m_doc.DocLogical.GetSelectedLogicObjPtr(i, ref iLogicObjPtr, ref objTypeName);
                    _AtlObjInfo atlinfo = new _AtlObjInfo();
                    atlinfo.bChanged     = 1;
                    atlinfo.iLogicObjPtr = iLogicObjPtr;
                    //_AtlObjInfo中要储存iLogicObjPtr entityPtr,方便C#对话框保存时 直接exchange去docLogical,
                    //再用iLogicObjPtr之逻辑更新entityPtr指向的表现。
                    m_doc.DocLogical.GetSetObjInfo(objTypeName, ref atlinfo, iLogicObjPtr, 1);
                    objinfos[i] = atlinfo;

                    // 写入新的旋转角度信息
                    for (int j = 0; j < atlinfo.iFieldsCount; j++)
                    {
                        if (atlinfo.strFields[j] == "vRotation")
                        {
                            atlinfo.strValues[j] = newRotation;
                        }
                        else if (atlinfo.strFields[j] == "nFaceDirection")
                        {
                            atlinfo.strValues[j] = ConvertRotationToDirection(rotations[i]);
                        }
                    }

                    // 更新对象数据
                    m_doc.DocLogical.GetSetObjInfo(atlinfo.strType, ref atlinfo, atlinfo.iLogicObjPtr, 0);
                    m_doc.DocLogical.UpdateObjRepresentByLogicObj(ref atlinfo, atlinfo.iLogicObjPtr);
                }
            }
        }
Beispiel #15
0
        /// <summary>
        /// 删除选中的对象
        /// </summary>
        private void DeleteSelectedObject()
        {
            int entityCount = -1;

            SceneSceneEditor.GetSelectedEntityCount(ref entityCount);
            if (entityCount > 0)
            {
                DialogResult dialogResult = MessageBox.Show("确定要删除选中的对象吗?", "删除对象",
                                                            MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                if (dialogResult == DialogResult.OK)
                {
                    //m_doc.DocLogical.DeleteSelectedObject();
                    SceneSceneEditor.DeleteSelectedEntity();
                    RefreshPatrol();
                    RefreshTraffic();
                }
            }
        }
Beispiel #16
0
        private void MoveCameraToRepresentObj(int representObjPtr)
        {
            _AtlVector3 objPos = new _AtlVector3();

            EngineLayer.ATLBase.GetRepresentObjTranslation(representObjPtr, ref objPos);

            MoveCameraToPosition(objPos);

            //_AtlVector3 oldpos = new _AtlVector3(), oldlookat = new _AtlVector3();
            //SceneSceneEditor.GetCameraPosLookat(ref oldpos, ref oldlookat);
            //_AtlVector3 delta = new _AtlVector3();
            //delta.x = oldlookat.x - oldpos.x; delta.y = oldlookat.y - oldpos.y; delta.z = oldlookat.z - oldpos.z;
            //_AtlVector3 newpos = new _AtlVector3();
            //newpos.x = objPos.x - delta.x; newpos.y = objPos.y - delta.y; newpos.z = objPos.z - delta.z;
            //SceneSceneEditor.SetCameraPosLookat(ref newpos, ref objPos);

            SceneSceneEditor.UpdateSelectableEntityList(5);
        }
Beispiel #17
0
        private void PanelView_GotFocus(object sender, System.EventArgs e)
        {
            SceneSceneEditor.SetFocus();
            SceneSceneEditor.SetCurrentOutputWindow(VIEW.MAINWINDOWID);

//             if (m_Scene != null && m_nOutputWindowID != -1)
//             {
//                 EngineLayer.EngineMgr.SetFocusScene(m_Scene);
//                 m_Scene.SetCurrentOutputWindow(m_nOutputWindowID);
//
//                 if (EngineLayer.EngineMgr.GetAutoReloadTexture() != 0)
//                 {
//                     AtlIEKG3DTextureTable textureTable = null;
//                     EngineLayer.EngineMgr.GetIEKG3DTextureTable(ref textureTable);
//                     textureTable.AutoReload();
//                 }
//             }
        }
Beispiel #18
0
        private void ShowProperties()
        {
            int entityCount = -1;

            SceneSceneEditor.GetSelectedEntityCount(ref entityCount);

            _AtlObjInfo[] objinfos = new _AtlObjInfo[entityCount];
            for (int i = 0; i < entityCount; i++)
            {
                int    iLogicObjPtr = 0;
                string objTypeName  = string.Empty;
                m_doc.DocLogical.GetSelectedLogicObjPtr(i, ref iLogicObjPtr, ref objTypeName);

                if (iLogicObjPtr != 0)
                {
                    _AtlObjInfo atlinfo = new _AtlObjInfo();
                    atlinfo.bChanged     = 1;
                    atlinfo.iLogicObjPtr = iLogicObjPtr;
                    //_AtlObjInfo中要储存iLogicObjPtr entityPtr,方便C#对话框保存时 直接exchange去docLogical,
                    //再用iLogicObjPtr之逻辑更新entityPtr指向的表现。
                    m_doc.DocLogical.GetSetObjInfo(objTypeName, ref atlinfo, iLogicObjPtr, 1);
                    objinfos[i] = atlinfo;
                }
                else
                {
                    //objinfos[i] = _AtlObjInfo; 自定义valueType如何定义empty
                }
            }

            if (EditSelectedObjectsProperty(objinfos))
            {
                for (int i = 0; i < objinfos.Length; i++)
                {
                    _AtlObjInfo objinfo = objinfos[i];
                    //if (objinfo.bChanged != 0)
                    //{
                    m_doc.DocLogical.GetSetObjInfo(objinfo.strType, ref objinfo, objinfo.iLogicObjPtr, 0);
                    m_doc.DocLogical.UpdateObjRepresentByLogicObj(ref objinfo, objinfo.iLogicObjPtr);
                    //}
                }
            }
        }
Beispiel #19
0
        /// <summary>
        /// 设置相机坐标 ahpho suntao
        /// </summary>
        /// <param name="x">x坐标</param>
        /// <param name="y">y坐标</param>
        /// <param name="z">z坐标</param>
        public void SetCameraFocus(int x, int y, int z)
        {
            _AtlVector3 cameraLocation = new _AtlVector3();
            _AtlVector3 cameraLookAt   = new _AtlVector3();
            _AtlVector3 delta          = new _AtlVector3();

            SceneSceneEditor.GetCameraPosLookat(ref cameraLocation, ref cameraLookAt);

            delta.x = cameraLookAt.x - cameraLocation.x;
            delta.y = cameraLookAt.y - cameraLocation.y;
            delta.z = cameraLookAt.z - cameraLocation.z;

            cameraLookAt.x = x;
            cameraLookAt.y = y;
            cameraLookAt.z = z;

            cameraLocation.x = x - delta.x;
            cameraLocation.y = y - delta.y;
            cameraLocation.z = z - delta.z;

            SceneSceneEditor.SetCameraPosLookat(ref cameraLocation, ref cameraLookAt);
        }
Beispiel #20
0
 private void checkBoxX1_CheckedChanged(object sender, EventArgs e) // 显示多边形
 {
     SceneSceneEditor.EnableRenderPoly((sender as DevComponents.DotNetBar.Controls.CheckBoxX).Checked ? 1 : 0);
 }
Beispiel #21
0
        private void BaseForm_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Shift)
            {
                m_shiftPress = true;
            }
            if (e.Control)
            {
                m_ctrlPress = true;
            }

            if (!(this.ActiveControl is PanelDockContainer) && this.ActiveControl != this.PanelView)
            {
                return;
            }
            if (!e.Alt && !e.Shift && e.Control && e.KeyCode == Keys.Enter)
            {
                ToggleFullScreen();
                return;
            }
            if (!e.Alt && !e.Shift && !e.Control && e.KeyCode == Keys.P)
            {
                TogglePMode();
                return;
            }
            if (!e.Alt && !e.Shift && !e.Control && e.KeyCode == Keys.T)
            {
                ToggleTopView();
                return;
            }
            if (!e.Alt && !e.Shift && !e.Control && e.KeyCode == Keys.X)
            {
                SceneSceneEditor.DropSelectedEntity();
            }
            if (!e.Alt && !e.Shift && !e.Control && e.KeyCode == Keys.Z)
            {
                SceneSceneEditor.ZoomToObj();
            }
            if (e.Shift && e.KeyCode >= Keys.F1 && e.KeyCode <= Keys.F1 + CAMERA_STORAGE - 1)
            {
                int saveindex = e.KeyCode - Keys.F1;
                m_bPosSaved[saveindex] = true;
                SceneSceneEditor.GetCameraPosLookat(ref m_SavedCameraPos[saveindex], ref m_SavedCameraLookat[saveindex]);
                return;
            }
            if (!e.Shift && e.KeyCode >= Keys.F1 && e.KeyCode <= Keys.F1 + CAMERA_STORAGE - 1)
            {
                int saveindex = e.KeyCode - Keys.F1;
                if (m_bPosSaved[saveindex])
                {
                    SceneSceneEditor.SetCameraPosLookat(ref m_SavedCameraPos[saveindex], ref m_SavedCameraLookat[saveindex]);
                }
                return;
            }
            if (!e.Shift && !e.Control && e.KeyCode == Keys.Enter)
            {
                ShowProperties();
            }

            switch (e.KeyCode)
            {
            case Keys.Oemcomma:
            {
                NpcPlayNextAction();
                return;
            }

            case Keys.OemPeriod:
            {
                NpcPlayPreviousAction();
                return;
            }

            case Keys.G:
            {
                EditGroup();
                return;
            }

            case Keys.Oem1:
            {
                editMode = EditMode.None;
                break;
            }

            case Keys.W:
            {
                cameraLookAtBox.Text = GetCameraLookAt();
                break;
            }

            case Keys.S:
            {
                cameraLookAtBox.Text = GetCameraLookAt();
                break;
            }

            case Keys.A:
            {
                cameraLookAtBox.Text = GetCameraLookAt();
                break;
            }

            case Keys.D:
            {
                cameraLookAtBox.Text = GetCameraLookAt();
                break;
            }

            case Keys.Delete:
            {
                DeleteSelectedObject();
                break;
            }

            case Keys.Add:
                goto case Keys.Oemplus;

            case Keys.Oemplus:
            {
                m_parent.m_sliderCameraSpeed.Value++;
                m_parent.UpdateCameraSpeedToUI();
                break;
            }

            case Keys.Subtract:
                goto case Keys.OemMinus;

            case Keys.OemMinus:
            {
                m_parent.m_sliderCameraSpeed.Value--;
                m_parent.UpdateCameraSpeedToUI();
                break;
            }
            }

            EngineLayer.ATLBase.ProcessMessage((uint)WM_KEYDOWN, e.KeyValue, e.KeyValue);
        }
Beispiel #22
0
        private void advTreePoly_AfterNodeSelect(object sender, AdvTreeNodeEventArgs e)
        {
            Node selectedNode = this.advTreePoly.SelectedNode;

            if (selectedNode == null)
            {
                return;
            }

            if (selectedNode.Level == 0)
            {
                if (selectedNode.Text == "笔刷")
                {
                    SceneSceneEditor.SetEditState(SCENESTATE_CELLLOGICAL);
                }
                else if (selectedNode.Text == "多边形")
                {
                    SceneSceneEditor.SetEditState(SCENESTATE_SELECT);
                }
            }
            else if (selectedNode.Level == 1)
            {
                if (selectedNode.Parent.Text == "多边形")
                {
                    //SceneSceneEditor.SetEditState(SCENESTATE_SELECT);

                    _AtlObjInfo atlobj = (_AtlObjInfo)selectedNode.Tag;
                    ShowPolyInfoUI(atlobj);
                    this.buttonOK.Enabled = false;

                    if (atlobj.iRepresentObjPtr != 0)
                    {
                        if (SceneSceneEditor.GetEditState() != SCENESTATE_PLACEOBJ)
                        {
                            MoveCameraToRepresentObj(atlobj.iRepresentObjPtr);
                        }
                        SelectOnlyRepresentObj(atlobj.iRepresentObjPtr);
                    }
                }
                else if (selectedNode.Parent.Text == "笔刷")
                {
                    _AtlObjInfo atlobj = (_AtlObjInfo)selectedNode.Tag;
                    ShowBrushInfoUI(atlobj);
                    this.buttonOK.Enabled = false;
                    //set camera
                    string strPos = atlobj.strValues[5];
                    if (strPos != "0.000000,0.000000,0.000000")
                    {
                        string[] strPoses = strPos.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                        float    x = 0.0f, y = 0.0f, z = 0.0f;
                        if (Single.TryParse(strPoses[0], out x) && Single.TryParse(strPoses[1], out y) && Single.TryParse(strPoses[2], out z))
                        {
                            _AtlVector3 brushPos = new _AtlVector3();
                            brushPos.x = x; brushPos.y = y; brushPos.z = z;
                            MoveCameraToPosition(brushPos);
                        }
                    }

                    SetLogicSceneEditorBrushState(atlobj);
                }
            }
        }
Beispiel #23
0
 private void SelectOnlyRepresentObj(int representObjPtr)
 {
     SceneSceneEditor.ClearSelectedEntityList();
     SceneSceneEditor.AddSelectedRepresentObject(representObjPtr, 1);
     SceneSceneEditor.SetFirstSelectedKing();
 }
Beispiel #24
0
 public void SetCameraDis(float fDis)
 {
     SceneSceneEditor.SetCameraDis(fDis);
 }
Beispiel #25
0
 /// <summary>
 /// 选中的Npc播放下一个动作 ahpho suntao
 /// </summary>
 private void NpcPlayNextAction()
 {
     SceneSceneEditor.NpcPlayNextAction();
 }
Beispiel #26
0
 public void SetRenderRegionEdge(bool bRenderEdge)
 {
     SceneSceneEditor.SetRenderBlockEdge(bRenderEdge?1:0);
 }
Beispiel #27
0
 /// <summary>
 /// 选中的Npc播放上一个动作 ahpho suntao
 /// </summary>
 private void NpcPlayPreviousAction()
 {
     SceneSceneEditor.NpcPlayPreviousAction();
 }
Beispiel #28
0
 /// <summary>
 /// 设置对象选择掩码
 /// </summary>
 /// <param name="mask">掩码</param>
 public void SetObjectSelectMask(int nMask)
 {
     SceneSceneEditor.SetObjectSelectMask((uint)nMask);
 }
Beispiel #29
0
 private void PanelView_Resize(object sender, EventArgs e)
 {
     SceneSceneEditor.OnResizeWindow();
 }
Beispiel #30
0
 public void TogglePMode()
 {
     SceneSceneEditor.TogglePMode();
 }