Пример #1
0
    /// <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;
        }
    }
Пример #2
0
    /// <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);
    }