Ejemplo n.º 1
0
 public void SetPropertys(ResourceDic propertyDic, ILayerDefine layerDic)
 {
     this.layerDefine = layerDic;
     this.propertyDic = propertyDic;
     CopyDictionary(propertyDic, propertyCatchedDic);
     this.dicHash = propertyDic.GetHashCode();
     UpdateView();
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 初始化CtrlItem
        /// </summary>
        /// <param name="ctrlItem"></param>
        /// <param name="layerDefine"></param>
        /// <param name="dic"></param>
        /// <param name="name"></param>
        private void InitCtrlItem(int index, Control_Item ctrlItem, ILayerDefine layerDefine, ResourceDic dic, string name)
        {
            var mainLayerDefine = controlDic[layerInfo.type];
            var controlName     = name;

            if (index != 0)
            {
                controlName = mainLayerDefine.GetSubControlName(name);
            }
            ctrlItem.onDelete             = OnDeleteCtrlItem;
            ctrlItem.onMainControl        = OnMainCtrlItem;
            ctrlItem.onGenInstenceControl = OnGenInstenceControl;
            ctrlItem.SetIndex(index);
            ctrlItem.SetTitle(controlName);
            UpdateCtrlItemState(index, ctrlItem);
            ctrlItem.SetPropertys(dic, layerDefine);
        }
Ejemplo n.º 3
0
 public void SetLayerDefine(ILayerDefine layerDic)
 {
     this.layerDic = layerDic;
 }
Ejemplo n.º 4
0
        private void CreateListFliter(ILayerDefine mainLayerDefine)
        {
            List <ResourceDic>             createdList = new List <ResourceDic>();
            List <string>                  names       = new List <string>();
            Dictionary <int, ILayerDefine> typeDic     = new Dictionary <int, ILayerDefine>();

            if (mainLayerDefine.integrantSubControls != null)
            {//自动补全缺少的字典
                for (int i = 0; i < mainLayerDefine.integrantSubControls.Count; i++)
                {
                    var integrantSubControl = mainLayerDefine.integrantSubControls[i];
                    if (!layerInfo.subResourceDic.ContainsKey(integrantSubControl))
                    {
                        layerInfo.subResourceDic.Add(integrantSubControl, new ResourceDic());
                    }
                }
            }

            if (listFliter.main)
            {
                names.Add(keyMainCtrlName);
                createdList.Add(layerInfo.resourceDic);
                typeDic.Add(layerInfo.resourceDic.GetHashCode(), mainLayerDefine);
            }

            if (listFliter.sub)
            {
                foreach (var item in layerInfo.subResourceDic)
                {
                    var subType = mainLayerDefine.GetSubControlType(item.Key);
                    if (!string.IsNullOrEmpty(subType) && controlDic.ContainsKey(subType))
                    {
                        names.Add(item.Key);
                        createdList.Add(item.Value);
                        typeDic.Add(item.Value.GetHashCode(), controlDic[subType]);
                    }
                }
            }

            if (listFliter.text)
            {
                foreach (var item in layerInfo.sub_texts)
                {
                    names.Add(key_Text_Name);
                    createdList.Add(item);
                    typeDic.Add(item.GetHashCode(), controlDic[ParamAnalysisTool.text_art_key]);
                }
            }

            if (listFliter.sprite)
            {
                foreach (var item in layerInfo.sub_images)
                {
                    names.Add(key_Image_Name);
                    createdList.Add(item);
                    typeDic.Add(item.GetHashCode(), controlDic[ParamAnalysisTool.image_art_key]);
                }
            }


            if (listFliter.sprite)
            {
                foreach (var item in layerInfo.sub_rawImages)
                {
                    names.Add(key_RawImage_Name);
                    createdList.Add(item);
                    typeDic.Add(item.GetHashCode(), controlDic[ParamAnalysisTool.rawImage_art_key]);
                }
            }

            var created = controlItemCreater.CreateItems(createdList.Count);

            for (int i = 0; i < created.Length; i++)
            {
                var ctrlItem    = created[i];
                var dic         = createdList[i];
                var name        = names[i];
                var layerDefine = typeDic[dic.GetHashCode()];
                InitCtrlItem(i, ctrlItem, layerDefine, dic, name);
            }
        }