private void addActorTypeMenu_Click(object sender, EventArgs e) { ToolStripMenuItem item = sender as ToolStripMenuItem; ObjectCreator creator = item.Tag as ObjectCreator; if (creator != null) { try { NCheckResult hit; NEMainViewport activeViewport = this.ActiveViewport; if (activeViewport != null) { activeViewport.MouseRayCheck(out hit, activeViewport.RightMouseButtenDownPosition, 512 * 1024, LineCheckType.All); Point pt = activeViewport.Viewport.Camera.WorldToScreen(hit.location); ActorFactory factory = creator.CreateInstance() as ActorFactory; factory.CreateActor(NLevelEditorEngine.Instance.MainLevel, hit.location, Vector3.Zero); } } catch (System.Exception ex) { Program.ShowException(ex, "ActorFactory Create Error!"); } } }
/// <summary> /// play from here /// </summary> private void playFromHereToolStripMenuItem_Click(object sender, EventArgs e) { // 检测鼠标射线 NCheckResult hit; hit.location = Vector3.Zero; NEMainViewport activeViewport = this.ActiveViewport; if (activeViewport != null) { activeViewport.MouseRayCheck(out hit, activeViewport.RightMouseButtenDownPosition, 1024 * 1024, LineCheckType.All); } PlayInEditor(hit.location); }