/// <summary> /// 自动加载初始化调用 /// </summary> /// <param name="_info">_info.</param> /// <param name="_PFAMagage">_ PFA magage.</param> /// <param name="_DeviceListPanel">_ device list panel.</param> /// <param name="_WarnLevelPanel">_ warn level panel.</param> public void SetValue(PassengerFlowAreaInfo _info, PassengerFlowAreaManage _PFAMagage, GameObject _DeviceListPanel, GameObject _WarnLevelPanel, GameObject _PassengerFlowAreaUI) { Logger.Instance.WriteLog("初始化客流统计区域列表项目"); info = _info; InputName.value = info.Name; PFAMagage = _PFAMagage; DeviceListPanel = _DeviceListPanel; WarnLevelPanel = _WarnLevelPanel; if (info.Name == "主客流") { AreaBt.SetActive(false); GotoBt.SetActive(false); DeleteBt.SetActive(false); area = null; } else { Logger.Instance.WriteLog("创建客流区域显示对象"); string[] point = info.Points.Split('|'); Vector3[] pts = new Vector3[point.Length / 3]; for (int i = 0; i < pts.Length; i++) { pts[i] = new Vector3(float.Parse(point[i * 3]), float.Parse(point[i * 3 + 1]), float.Parse(point[i * 3 + 2])); centerPos += pts[i]; } centerPos /= pts.Length; int[] triangles = new int[pts.Length]; for (int i = 0; i < triangles.Length; i++) { triangles[i] = i; } area = new GameObject(); area.layer = LayerMask.NameToLayer("PassengerFlowArea"); area.AddComponent <MeshCollider> (); MeshRenderer meshrend = area.AddComponent <MeshRenderer>(); meshrend.material.shader = Shader.Find("Particles/Alpha Blended"); meshrend.material.SetColor("_TintColor", new Color(0, 1, 0, 0.2f)); MeshFilter meshFilter = area.AddComponent <MeshFilter>(); meshFilter.mesh.vertices = pts; meshFilter.mesh.triangles = triangles; meshFilter.mesh.RecalculateNormals(); area.transform.position = new Vector3(0, 0.2f, 0); area.layer = LayerMask.NameToLayer("PassengerFlowArea"); Logger.Instance.WriteLog("绑定客流统计信息显示面板"); PassengerFlowAreaUI = _PassengerFlowAreaUI; PassengerFlowAreaUI.GetComponent <PassengerAreaUI>().Bind(centerPos, info.Name); PassengerFlowAreaUI.transform.parent = PassengerFlowAreaUIRoot.transform; PassengerFlowAreaUI.transform.localScale = new Vector3(1, 1, 1); PassengerFlowAreaUI.AddComponent <EditedPassengerFlowInfoShow>().pAreaUI = PassengerFlowAreaUI.GetComponent <PassengerAreaUI>(); PassengerFlowAreaUI.GetComponent <EditedPassengerFlowInfoShow>().Init(info); EditedPassengerFlowInfoReceiver.PFArea += PassengerFlowAreaUI.GetComponent <EditedPassengerFlowInfoShow>().UpdateData; } }
/// <summary> /// 手动添加初始化调用 /// </summary> /// <param name="_info">_info.</param> /// <param name="_PFAMagage">_ PFA magage.</param> /// <param name="_area">_area.</param> /// <param name="_DeviceListPanel">_ device list panel.</param> /// <param name="_WarnLevelPanel">_ warn level panel.</param> public void SetValue(PassengerFlowAreaInfo _info, PassengerFlowAreaManage _PFAMagage, GameObject _area, GameObject _DeviceListPanel, GameObject _WarnLevelPanel, GameObject _PassengerFlowAreaUI) { Logger.Instance.WriteLog("初始化客流统计区域列表项目"); info = _info; InputName.value = info.Name; PFAMagage = _PFAMagage; DeviceListPanel = _DeviceListPanel; WarnLevelPanel = _WarnLevelPanel; area = _area; Logger.Instance.WriteLog("绑定客流统计信息显示面板"); PassengerFlowAreaUI = _PassengerFlowAreaUI; PassengerFlowAreaUI.AddComponent <EditedPassengerFlowInfoShow>().pAreaUI = PassengerFlowAreaUI.GetComponent <PassengerAreaUI>(); PassengerFlowAreaUI.GetComponent <EditedPassengerFlowInfoShow>().Init(info); EditedPassengerFlowInfoReceiver.PFArea += PassengerFlowAreaUI.GetComponent <EditedPassengerFlowInfoShow>().UpdateData; PassengerFlowAreaUI.SetActive(false); }