Esempio n. 1
0
 protected static void BindGrid(Grid grid, UISetting ui, object data)
 {
     grid.Columns.Clear();
     AddColumns(grid, ui);
     grid.DataSource = data;
     grid.DataBind();
 }
Esempio n. 2
0
        public string ReadAppSettings()
        {
            string    version = _config["Version"];
            UISetting setting = _uiSetting;

            return(version);
        }
Esempio n. 3
0
    void Awake()
    {
        m_Instance = this;
        DontDestroyOnLoad(gameObject);

        InitCom();
    }
Esempio n. 4
0
        protected override void renderJQuery(JQueryUI jquery)
        {
            //!+ We do not reset these properties in the UploaderSetting.Recombine, because we use the ClientID

            if (string.IsNullOrEmpty(this.Upload))
            {
                this.Upload = string.Format("'#{0} iframe'", this.ClientID);
            }
            else
            {
                this.Upload = UISetting.CreateJQuerySelector(this.Upload);
            }

            this.uiSetting.Timer = string.Format("'#{0}'", this.timer.ClientID);

            if (!string.IsNullOrEmpty(this.uploadKey))
            {
                WidgetSetting.AppendParameter(this.timer.TickAsync,
                                              new NParameter[]
                {
                    new NParameter("key", ParameterType.Expression, string.Format("'{0}'", this.uploadKey), ParameterDataType.String)
                });
            }

            base.renderJQuery(jquery);
        }
Esempio n. 5
0
        //-----------------------------------------------
        // 构建表单
        //-----------------------------------------------
        // 动态生成表单(返回“字段名-控件”字典)
        public static Dictionary <string, Field> BuildForm(FormBase form, UISetting ui, bool showIdField = false, bool readOnly = false)
        {
            var map = new Dictionary <string, Field>();

            foreach (var attr in ui.Settings)
            {
                if (attr.Field.Name == "ID" && !showIdField)
                {
                    continue;
                }
                if (attr.ShowInForm)
                {
                    // 根据 UIAttribute 创建控件
                    var editorType = GetDefaultEditorName(attr.Field.PropertyType, readOnly);
                    if (attr.Editor != EditorType.Auto)
                    {
                        editorType = attr.Editor;
                    }
                    string title  = string.IsNullOrEmpty(attr.Group) ? attr.Title : attr.Group + "-" + attr.Title;
                    var    editor = CreateEditor(attr.Field.Name, title, editorType, attr.EditRequired, attr.EditPrecision);

                    // 添加到表单并记录到字典
                    form.Items.Add(editor);
                    map.Add(attr.Field.Name, editor);
                }
            }
            return(map);
        }
Esempio n. 6
0
        public void ConfigureServices(IServiceCollection services)
        {
            #region 依赖注入生命周期
            //AddTransient 暂时生存期服务 每次从服务容器进行请求时创建(每次创建都是新的)
            //AddScoped 每次Http请求创建一次(一次Http请求下,都是同一个)
            //AddSingleton 整个服务生存周期都是同一个
            //services.AddTransient<IStartupFilter, RequestSetOptionsStartupFilter>();
            services.AddTransient <IOperationTransient, Operation>();
            services.AddScoped <IOperationScoped, Operation>();
            services.AddSingleton <IOperationSingleton, Operation>();

            //services.Add(new ServiceDescriptor(typeof(IOperationScoped), typeof(Operation), ServiceLifetime.Scoped));
            #endregion

            //Swagger
            services.AddSwaggerSetup();

            //强类型对象
            services.Configure <UISetting>(_configuration);

            //Bind方法
            UISetting uiSetting = new UISetting();
            _configuration.Bind(uiSetting);
            services.AddSingleton(uiSetting);

            //添加验证器
            services.AddSingleton <IValidator <UserDto>, UserValidator>();
            //
            services.AddAuthorization(options =>
            {
                options.AddPolicy("RequireAdministratorRole", policy => policy.RequireRole("Administrator"));
            });

            services.AddControllers(options =>
            {
                options.Filters.Add <ActionParameterValidationFilter>();
            })
            //模型验证
            .AddFluentValidation();

            services.Configure <ApiBehaviorOptions>(options =>
            {
                options.InvalidModelStateResponseFactory = (context) =>
                {
                    var errors = context.ModelState
                                 .Values
                                 .SelectMany(x => x.Errors
                                             .Select(p => p.ErrorMessage))
                                 .ToList();

                    var result = new
                    {
                        Success = false,
                        Message = "Validation errors",
                        Error   = errors
                    };
                    return(new BadRequestObjectResult(result));
                };
            });
        }
Esempio n. 7
0
 private void Start()
 {
     mode      = FindObjects.GameLogic.GetComponent <SubMode>();
     header    = FindObjects.GameLogic.GetComponent <HeaderAction>();
     setting   = FindObjects.GameLogic.GetComponent <GameSetting>();
     ui        = FindObjects.GameLogic.GetComponent <UserInterface>();
     uiSetting = FindObjects.GameLogic.GetComponent <UISetting>();
 }
Esempio n. 8
0
 /// <summary>
 /// 拿到UISetting信息
 /// </summary>
 public void UISettingHandle()
 {
     if (uISetting == null)
     {
         uISetting    = FindObjectOfType <UISetting>();
         uiSettingObj = uISetting.gameObject;
     }
 }
Esempio n. 9
0
 private async Task <byte[]> GetSetting(string key) =>
 await Task.Run(async() =>
 {
     using (var context = ContextFactory.GetNewContext(_securityContext.CurrentUser, _localizationManager))
     {
         UISetting existingSetting = await context.UISettings.FirstOrDefaultAsync(setting => setting.Key == key);
         return(existingSetting?.Value);
     }
 });
Esempio n. 10
0
        public override void Init()
        {
            base.Init();
            //加载uiRootprefab , 加载依赖AssetManager,需要保证AssetManager已经完成了初始化
            var uiSetting_prefab = AssetManager.Instance.LoadAsset <UISetting>(GameConfigs.GetUIPath("UIRoot"));

            _uiSetting = GameObject.Instantiate <UISetting>(uiSetting_prefab, this.transform);
            Debug.Assert(_uiSetting != null, "初始化UI管理器失败!");
        }
Esempio n. 11
0
        //界面注册
        public void Regist(UISetting setting, IUIBehavior behavior)
        {
            if (datas.ContainsKey(setting.uiName))
            {
                CDebug.LogError("UIManager.RegistLayout -> UI重复注册 " + setting.uiName);
                return;
            }

            datas.Add(setting.uiName, behavior);
        }
Esempio n. 12
0
 public ConfigureController(
     IConfiguration config,
     ILogger <ConfigureController> logger,
     IOptionsSnapshot <UISetting> uiSettingOptions,
     UISetting uiSettingSingleton
     )
 {
     _config             = config;
     _logger             = logger;
     _uiSetting          = uiSettingOptions.Value;
     _uiSettingSingleton = uiSettingSingleton;
 }
Esempio n. 13
0
    private void DrawUiProperties(string filter, UISetting uiSetting, System.Action <string> addToPaths, System.Action <string, bool> action)
    {
        if (GUILayout.Button("扫描", GUILayout.Width(50)))
        {
            _uiSetting = uiSetting;
            _uiSettingPaths.Clear();
            string   uiRootPath = "Assets/_GameAssets/Res/Prefabs/UIPrefabs";
            string[] guids      = AssetDatabase.FindAssets(filter, new [] { uiRootPath });
            int      len        = guids.Length;

            for (var i = 0; i < len; i++)
            {
                var path = AssetDatabase.GUIDToAssetPath(guids[i]);

                if (!InFilterList(path) && InContainList(path) && addToPaths != null)
                {
                    addToPaths(path);
                }

                EditorUtility.DisplayProgressBar("处理中...", path, (float)(i + 1) / len);
            }

            EditorUtility.ClearProgressBar();

            if (_uiSettingPaths.Count < 1)
            {
                _window.ShowNotification(new GUIContent("无需处理"));
            }
        }

        if (_uiSetting == uiSetting && _uiSettingPaths.Count > 0)
        {
            GUILayout.Label(_uiSettingPaths.Count.ToString(), EditorStyles.textField, GUILayout.Width(50));

            int len = _uiSettingPaths.Count;

            if (GUILayout.Button("全改成Start", GUILayout.Width(100)))
            {
                OnUiWidgetAnchorSetting(len, action, true);
            }

            if (GUILayout.Button("全改成Enable", GUILayout.Width(100)))
            {
                OnUiWidgetAnchorSetting(len, action, false);
            }

            if (GUILayout.Button("X", GUILayout.Width(20)))
            {
                _uiSettingPaths.Clear();
                _uiSetting = UISetting.None;
            }
        }
    }
Esempio n. 14
0
    private void DrawUiScrollList(UISetting uiSetting, System.Action <string, bool> act)
    {
        if (_uiSetting == uiSetting && _uiSettingPaths.Count > 0)
        {
            _uiSettingScrollPos = GUILayout.BeginScrollView(_uiSettingScrollPos, EditorStyles.helpBox);

            for (var i = 0; i < _uiSettingPaths.Count; i++)
            {
                var path = _uiSettingPaths[i];
                GUILayout.BeginHorizontal(EditorStyles.textField, GUILayout.MinHeight(20f));

                if (GUILayout.Button(path, EditorStyles.label))
                {
                    EditorGUIUtility.PingObject(AssetDatabase.LoadAssetAtPath <Object>(path));
                }

                if (GUILayout.Button("改Start", GUILayout.Width(80)))
                {
                    act?.Invoke(path, true);
                    _uiSettingPaths.RemoveAt(i);

                    AssetDatabase.SaveAssets();
                    AssetDatabase.Refresh();
                }

                if (GUILayout.Button("改Enable", GUILayout.Width(80)))
                {
                    act?.Invoke(path, false);
                    _uiSettingPaths.RemoveAt(i);

                    AssetDatabase.SaveAssets();
                    AssetDatabase.Refresh();
                }

                if (GUILayout.Button("X", GUILayout.Width(20)))
                {
                    _uiSettingPaths.RemoveAt(i);

                    if (_uiSettingPaths.Count < 1)
                    {
                        _uiSetting = UISetting.None;
                    }
                }

                GUILayout.EndHorizontal();
            }

            GUILayout.EndScrollView();
        }
    }
Esempio n. 15
0
        public void NavTo(string layoutName, Callback onNavComplete = null)
        {
            CDebug.Log("UIManager.NavTo " + layoutName);
            if (!UISettings.instance.Contains(layoutName))
            {
                CDebug.LogError("UI.tsv not contains layout " + layoutName);
                return;
            }

            UISetting setting = UISettings.instance.Get(layoutName);
            UILayer   layer   = GetLayer(setting.uiLayer);

            layer.NavTo(layoutName, onNavComplete);
        }
Esempio n. 16
0
        /// <summary>根据UISetting,自动添加网格列</summary>
        protected static void AddColumns(Grid grid, UISetting ui)
        {
            FineUI.GroupField group = null;
            foreach (var attr in ui.Settings)
            {
                // 跳过字段;跳过复杂字段(未实现);构建绑定列
                if (attr.Field.Name == "ID")
                {
                    continue;                           // 跳过ID字段
                }
                if (attr.ShowInGrid)
                {
                    // 根据 UIAttribute 创建绑定列
                    string formatString = GetDefaultFormatString(attr.Field.PropertyType);
                    if (!string.IsNullOrEmpty(attr.FormatString))
                    {
                        formatString = attr.FormatString;
                    }
                    var field = CreateBoundField(attr.Field.Name, attr.Title, formatString, attr.Width);

                    // 分组
                    if (string.IsNullOrEmpty(attr.Group))
                    {
                        grid.Columns.Add(field);
                    }
                    else
                    {
                        if (group != null && group.HeaderText == attr.Group)
                        {
                            group.Columns.Add(field);
                        }
                        else
                        {
                            group = new FineUI.GroupField()
                            {
                                HeaderText = attr.Group
                            };
                            group.Columns.Add(field);
                            grid.Columns.Add(group);
                        }
                    }
                }
            }
        }
    private void OnEnable()
    {
        m_Target          = (View)target;
        m_HelperTypeNames = GetTypeNames(typeof(IAutoBindRuleHelper), s_AssemblyNames);

        try
        {
            TextAsset UISettingDataJson = AssetDatabase.LoadAssetAtPath <TextAsset>(string.Format("Assets/Editor/UIAutoBindTool/UISetting/{0}.json", target.name));
            m_UISetting = JsonMapper.ToObject <UISetting>(UISettingDataJson.text);
        }
        catch
        {
            m_UISetting = new UISetting();
        }

        m_ClassName = m_UISetting.ClassName;
        m_CodePath  = m_UISetting.CodePath;
        m_Namespace = m_UISetting.NameSpace;
    }
Esempio n. 18
0
        /// <summary>获取实体类配置信息</summary>
        public static UISetting GetSetting(XUIType type, Type entityType)
        {
            if (entityType == null)
            {
                return(null);
            }
            UISetting setting;
            var       settings = XUI.Search(type, entityType.FullName).ToList();

            if (settings.Count > 0)
            {
                setting = settings[0].Setting;
            }
            else
            {
                setting = new UISetting(entityType);
            }
            return(setting);
        }
Esempio n. 19
0
        private async Task SaveSetting(string key, byte[] value) =>
        await Task.Run(async() =>
        {
            using (var context = ContextFactory.GetNewContext(_securityContext.CurrentUser, _localizationManager))
            {
                var existingSetting = await context.UISettings.FirstOrDefaultAsync(setting => setting.Key == key);
                if (existingSetting != null)
                {
                    existingSetting.Value = value;
                    existingSetting.MarkAsModified();
                }
                else
                {
                    existingSetting = new UISetting
                    {
                        Key   = key,
                        Value = value
                    };
                }

                context.UISettings.ApplyChanges(existingSetting);
                await context.SaveChangesAsync();
            }
        });
Esempio n. 20
0
        protected override void RenderContents(HtmlTextWriter writer)
        {
            base.RenderContents(writer);

            if (this.isFaceless( ))
            {
                writer.Write("<span style=\"font-family: Verdana; background-color: #FFFFFF\"><strong>{0}:</strong> {1}{3}{2}</span>",
                             this.facelessPrefix( ), this.selector == string.Empty ? this.ID : "<span style=\"color: #0066FF\">" + this.selector + "</span>",
                             this.isShowMore ? this.facelessPostfix( ) : string.Empty,
                             this.scriptPackageID == string.Empty ? string.Empty : " <span style=\"color: #666633\">" + this.scriptPackageID + "</span>"
                             );
            }
            else if (null == this.contentTemplate)
            {
                // If the ContentTemplate is null, then make the Html or Text as the display contents
                if (this.html != string.Empty)
                {
                    writer.Write(this.html);
                }
                else if (this.text != string.Empty)
                {
                    writer.WriteEncodedText(this.text);
                }
            }

            // Does not generate jQuery scripts in design mode
            if (this.DesignMode)
            {
                return;
            }

            JQueryUI jquery = new JQueryUI(string.IsNullOrEmpty(this.selector) ? string.Format("'#{0}'", this.ClientID) : string.Format("jQuery.panzer.createJQuery({0})", UISetting.CreateJQuerySelector(this.selector)), false);

            // Classes that inherit from JQueryElement can generate jQuery script into variable jquery
            this.renderJQuery(jquery);

            jquery.Code = "$(function(){" + (this.isVariable ? ("window['" + this.ClientID + "'] = ") : string.Empty) + JQueryCoder.Encode(this, jquery.Code) + "});";

            if (this.scriptPackageID != string.Empty)
            {
                ScriptPackage package = this.NamingContainer.FindControl(this.scriptPackageID) as ScriptPackage;

                if (null != package)
                {
                    // To write the script in the ScriptPackage, so that you do not need to separately generated

                    package.Code += jquery.Code;
                    return;
                }
            }

            jquery.Build(new ASPXScriptHolder(this), this.ClientID, ScriptBuildOption.Startup);
        }
Esempio n. 21
0
 void OnDestory()
 {
     m_Instance = null;
 }
Esempio n. 22
0
    public IEnumerator Init()
    {
        DontDestroyOnLoad(gameObject);

        canvas      = UIUtil.FindChild <Canvas>(transform, "UI");
        camera_fade = UIUtil.FindChild <Image>(canvas.transform, "CameraFade");

        ui_setting = UIUtil.FindChild <UISetting>(canvas.transform, "UISetting");
        ui_textbox = UIUtil.FindChild <UITextBox>(canvas.transform, "UITextBox");
        ui_npc     = UIUtil.FindChild <UINpc>(canvas.transform, "UINpc");
        ui_ticker  = UIUtil.FindChild <UITicker>(canvas.transform, "UITicker");
        camera_fade.gameObject.SetActive(true);
        camera_fade.color = Color.black;

        advertisement = GetComponent <Advertisement>();
        if (null == advertisement)
        {
            throw new MissingComponentException("Advertisement");
        }

        ui_textbox.Init();

        if (Application.platform != RuntimePlatform.Android)
        {
            Database.Connect(Database.Type.MetaData, Application.streamingAssetsPath + "/meta_data.db");
        }
        else
        {
            string dbName       = "meta_data.db";
            string sourceDBPath = Path.Combine(Application.streamingAssetsPath, dbName);
            string targetDBPath = Path.Combine(Application.persistentDataPath, dbName);

            Debug.Log("src:" + sourceDBPath + "(modify:" + File.GetLastWriteTime(sourceDBPath) + "), target:" + targetDBPath + ")" + "(modify:" + File.GetLastWriteTime(targetDBPath) + ")");
            if (false == File.Exists(targetDBPath) || File.GetLastWriteTime(sourceDBPath) != File.GetLastWriteTime(targetDBPath))
            {
                UnityWebRequest request = new UnityWebRequest(Application.streamingAssetsPath + "/" + dbName);
                request.downloadHandler = new DownloadHandlerBuffer();
                yield return(request.SendWebRequest());

                File.WriteAllBytes(targetDBPath, request.downloadHandler.data);
                Debug.Log("new version meta file(target path:" + targetDBPath + ")");
            }

            Database.Connect(Database.Type.MetaData, targetDBPath);
        }
        Database.Connect(Database.Type.UserData, Application.persistentDataPath + "/user_data.db");
        Stat.Manager.Instance.Init();
        ResourceManager.Instance.Init();
        AchieveManager.Instance.Init();
        SkillManager.Instance.Init();
        ItemManager.Instance.Init();
        MonsterManager.Instance.Init();
        AudioManager.Instance.Init();

        player = new Player();
        player.meta.Init();

        ui_setting.gameObject.SetActive(true);
        ui_setting.Init();
        ui_setting.gameObject.SetActive(false);
        ui_npc.Init();
    }
Esempio n. 23
0
 public UIBehavior(UISetting setting)
 {
     this.setting = setting;
     loader       = new UILoader(this);
     uiLayer      = UIManager.instance.GetLayer(setting.uiLayer);
 }
Esempio n. 24
0
 public void From(UISetting anima)
 {
     rectTransform = anima.transform as RectTransform;
     animation     = anima.GetComponent <DOTweenAnimation>();
 }
Esempio n. 25
0
 public void UISettingTest()
 {
     var setting = new UISetting(typeof(Person));
 }