Exemple #1
0
        protected override async Task OnInitializedAsync()
        {
            int.TryParse(QuestId, out var questId);
            int.TryParse(ViewId, out var viewId);

            View = await ViewDataService.GetViewById(questId, viewId, true);
        }
 internal static ViewDto Init(this ViewDto dto, IView view, List <BlockConfiguration> blocks, List <ModuleWithContent> modules)
 {
     dto.Id     = view.Entity.EntityId;
     dto.Guid   = view.Entity.EntityGuid;
     dto.Name   = view.Name;
     dto.Path   = view.Path;
     dto.Blocks = blocks
                  .Where(b => b.View.Guid == view.Guid)
                  .Select(blWMod => new ContentBlockDto().Init(blWMod,
                                                               modules.Where(m => m.ContentGroup == blWMod.Guid)));
     return(dto);
 }
        public EquipmentViewDto Handle(PagingDto cartDto)
        {
            var page = Math.Max(cartDto.Page, 0);
            var availableEquipmentCount = _equipments.Total(o => o.CartEquipments, _equipmentAvailabilitySpecification);
            var availableEquipment      = _equipments.Filter(o => o.CartEquipments, _equipmentAvailabilitySpecification, page);
            var availableEquipmentDtos  = availableEquipment.Select(_mapEquipmentDto.Create).ToList();
            var viewDto = new ViewDto
            {
                ViewStateTime = _dateTimeProvider.Now,
                Page          = page,
                PageSize      = PageSize,
                Total         = availableEquipmentCount
            };
            var equipmentViewDto = new EquipmentViewDto
            {
                EquipmentDtos = availableEquipmentDtos,
                ViewDto       = viewDto
            };

            return(equipmentViewDto);
        }
        private static void LoadItem(ref List <ViewDto> viewList)
        {
            string[] panels = Directory.GetFiles(Path.Combine(Application.dataPath, FrameworkEditorUtils.FRAMEWORK_CONFIG.ItemPath), "*.prefab");
            foreach (var item in panels)
            {
                ViewDto viewDto = new ViewDto();
                viewDto.BaseName = "UIItem";
                viewDto.Name     = Path.GetFileNameWithoutExtension(item);
                viewDto.ViewName = viewDto.Name + "View";
                string viewTemp = FrameworkEditorUtils.FRAMEWORK_CONFIG.ViewTemplate.text;
                viewTemp             = viewTemp.Replace("{ClassName}", viewDto.ViewName);
                viewTemp             = viewTemp.Replace("{Base}", viewDto.BaseName);
                viewDto.ViewCode     = viewTemp;
                viewDto.ViewFilePath = FrameworkEditorUtils.FRAMEWORK_CONFIG.ItemScriptPath + "/" + viewDto.ViewName + ".lua.txt";
                int num = FrameworkEditorUtils.FRAMEWORK_CONFIG.ItemScriptPath.LastIndexOf(SCRIPT_ROOT);
                num = num + SCRIPT_ROOT.Length + 1;
                viewDto.ViewIncludePath = FrameworkEditorUtils.FRAMEWORK_CONFIG.ItemScriptPath.Substring(num, FrameworkEditorUtils.FRAMEWORK_CONFIG.ItemScriptPath.Length - num);
                viewDto.ViewIncludePath = viewDto.ViewIncludePath.Replace("/", ".");
                viewDto.ViewIncludePath = viewDto.ViewIncludePath.Replace("\\", ".");
                viewDto.ViewIncludePath = viewDto.ViewIncludePath + "." + viewDto.ViewName;

                viewDto.ModelName     = viewDto.Name + "ViewModel";
                viewTemp              = FrameworkEditorUtils.FRAMEWORK_CONFIG.ModelTemplate.text;
                viewTemp              = viewTemp.Replace("{ClassName}", viewDto.ModelName);
                viewDto.ModelCode     = viewTemp;
                viewDto.ModelFilePath = FrameworkEditorUtils.FRAMEWORK_CONFIG.ItemViewModelPath + "/" + viewDto.ModelName + ".lua.txt";
                num = FrameworkEditorUtils.FRAMEWORK_CONFIG.ItemViewModelPath.LastIndexOf(SCRIPT_ROOT);
                num = num + SCRIPT_ROOT.Length + 1;
                viewDto.ModelIncludePath = FrameworkEditorUtils.FRAMEWORK_CONFIG.ItemViewModelPath.Substring(num, FrameworkEditorUtils.FRAMEWORK_CONFIG.ItemViewModelPath.Length - num);
                viewDto.ModelIncludePath = viewDto.ModelIncludePath.Replace("/", ".");
                viewDto.ModelIncludePath = viewDto.ModelIncludePath.Replace("\\", ".");
                viewDto.ModelIncludePath = viewDto.ModelIncludePath + "." + viewDto.ModelName;
                num = item.LastIndexOf(ASSETS_ROOT);
                string path = item.Substring(num, item.Length - num);
                //path = Path.GetDirectoryName(path);
                //viewDto.PrefabPath = path + "\\" + Path.GetFileNameWithoutExtension(item);
                viewDto.PrefabPath = path;
                viewList.Add(viewDto);
            }
        }
        private static string GenComponent(ViewDto item)
        {
            string[] strs     = item.ViewCode.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
            int      startNum = item.ViewCode.IndexOf("---界面组件定义开始");

            startNum += "---界面组件定义开始".Length;
            int endNum = item.ViewCode.IndexOf("---界面组件定义结束");

            endNum--;
            StringBuilder sb = new StringBuilder();

            if (startNum > 0 && endNum > 0)
            {
                if (startNum > endNum)
                {
                    int temp = startNum;
                    startNum = endNum;
                    endNum   = temp;
                }
                for (int i = 0; i < item.ViewCode.Length; i++)
                {
                    if (i != startNum)
                    {
                        sb.Append(item.ViewCode[i]);
                    }
                    else
                    {
                        sb.Append(item.ViewCode[startNum]);
                        foreach (var com in item.Components)
                        {
                            sb.AppendLine("---self." + com);
                        }
                        i = endNum;
                    }
                }
            }
            return(sb.ToString());
        }
 private static void CreateComponent(List <TranDto> trans, StringBuilder uiCreateorSb, ViewDto viewDto)
 {
     trans.Reverse();
     uiCreateorSb.AppendLine();
     foreach (var item in trans)
     {
         string comName  = item.Tran.name;
         string typeName = FrameworkEditorUtils.GetExportType(comName);
         string mvvmName = FrameworkEditorUtils.GetMVVMExportType(typeName);
         if (viewDto.Components.Contains(comName))
         {
             throw new Exception($"界面:{viewDto.Name},存在重复命名组件:{comName}");
         }
         viewDto.Components.Add(comName);
         if (typeName == typeof(Transform).Name)
         {
             uiCreateorSb.AppendLine($"    self.{comName} = self.transform:Find('{comName}')");
         }
         else if (typeName == typeof(GameObject).Name)
         {
             uiCreateorSb.AppendLine($"    self.{comName} = self.transform:Find('{comName}').gameObject");
         }
         else
         {
             if (string.IsNullOrWhiteSpace(mvvmName))
             {
                 uiCreateorSb.AppendLine($"    self.{comName} = self.transform:Find('{comName}'):GetComponent(typeof({typeName}))");
             }
             else
             {
                 uiCreateorSb.AppendLine($"    self.raw_{comName} = self.transform:Find('{comName}'):GetComponent(typeof({typeName}))");
                 uiCreateorSb.AppendLine($"    self.{comName} = self:BindingElement(self.raw_{comName})");
             }
         }
     }
     uiCreateorSb.AppendLine();
 }