Exemplo n.º 1
0
        /// <summary>
        /// 更新分层列表
        /// </summary>
        /// <param name="lv">需要显示的Level</param>
        public void ShowLevel(NLevel lv)
        {
            m_Level = lv;
            m_VisibleLayerList.Clear();
            layerFitter.BeginUpdate();
            layerFitter.Items.Clear();
            for (int i = 0; i < lv.GetLayerCount(); ++i)
            {
                string text = lv.GetLayerName(i);
                int    item = layerFitter.Items.Add(text);
                bool   vis  = lv.IsLayerVisible(text);
                layerFitter.SetItemChecked(item, vis);
            }
            layerFitter.EndUpdate();

            UpdateActorList(lv);
        }
Exemplo n.º 2
0
        private void layerFitter_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (m_Level == null || m_VisibleLayerList == null)
            {
                return;
            }
            string name = m_Level.GetLayerName(e.Index);

            if (e.NewValue == CheckState.Checked)
            {
                if (m_VisibleLayerList.IndexOf(name) == -1)
                {
                    m_VisibleLayerList.Add(name);
                }
            }
            else
            {
                m_VisibleLayerList.Remove(name);
            }
            UpdateActorList(m_Level);
        }