//定义裁剪面,开始分析 private void btn_start_Click(object sender, EventArgs e) { m_oldAction = m_sceneControl.Action; m_sceneControl.Action = Action3D.CreatePolygon; this.RegisterEvents(false); this.RegisterEvents(true); this.btn_start.Enabled = false; this.btn_clear.Enabled = true; }
public override async Task <bool> Show(InteractiveObject interactiveObject, bool lockTree) { if (!await base.Show(interactiveObject, lockTree)) { return(false); } if (interactiveObject is Action3D action) { currentAction = action; actionParameters = await Parameter.InitActionParameters(currentAction.ActionProvider.GetProviderId(), currentAction.Parameters.Values.ToList(), Content, OnChangeParameterHandler, DynamicContentLayout, CanvasRoot, false, CanvasGroup); ActionName.text = $"Name: {action.GetName()}"; ActionType.text = $"Type: {action.ActionProvider.GetProviderName()}/{action.Metadata.Name}"; ActionPointName.text = $"AP: {action.ActionPoint.GetName()}"; EditorHelper.EnableCanvasGroup(CanvasGroup, true); action.ActionPoint.HighlightAP(true); return(true); } else { return(false); } }
//绘制区域并开始分析 private void btn_StartAnalysis_Click(object sender, EventArgs e) { if (m_shadowType == ShadowType.SELECTION) { //目前只允许一次选择一个图层中的对象 Layer3Ds layers = m_sceneControl.Scene.Layers; for (int i = 0; i < layers.Count; i++) { Layer3D layer = layers[i]; Selection3D seletion3D = layer.Selection; if (seletion3D != null) { m_selection = seletion3D; break; } } if (m_selection == null) { MessageBox.Show("请先选择要产生阴影的对象!"); return; } } this.RegisterEvents(false); this.RegisterEvents(true); m_oldAction = m_sceneControl.Action; m_sceneControl.Action = Action3D.CreatePolygon; if (m_shadowQuery == null) { m_shadowQuery = this.CreateShadowVisibilityQuery(); } this.btn_StartAnalysis.Enabled = false; this.btn_ClearResult.Enabled = true; }
public override async Task Hide() { await base.Hide(); RectTransform[] transforms = Content.GetComponentsInChildren <RectTransform>(); if (transforms != null) { foreach (RectTransform o in transforms) { if (o.gameObject.tag != "Persistent") { Destroy(o.gameObject); } } } if (!IsVisible) { return; } EditorHelper.EnableCanvasGroup(CanvasGroup, false); currentAction.ActionPoint.HighlightAP(false); currentAction = null; }