Esempio n. 1
0
        /// <summary>
        /// 加载功法数据
        /// </summary>
        /// <param name="gongfaIndex"></param>
        public void ShowGongFaData(int gongfaIndex)
        {
            var gongfa = gongFaManager.GongFaList.FirstOrDefault(t => t.GongFaId == gongfaIndex);
            var list   = new List <GTextBox>();

            Parallel.ForEach(gongfa.GetType().GetProperties(), (prop) =>
            {
                var attr = GongFaManager.GetGongFaAttribute(prop);
                if (attr != null)
                {
                    if (attr.Skip)
                    {
                        return;
                    }
                    var gtb = new GTextBox(prop, prop.GetValue(gongfa));
                    gtb.Init();
                    gtb.ValueChanged += (sender, e) =>
                    {
                        prop.SetValue(gongfa, e.ChangedValue);
                        gongfa.Original[attr.Index] = e.ChangedValue.ToString();
                    };
                    list.Add(gtb);
                }
            });
            flowLayoutPanel1.Controls.AddRange(list.ToArray());
        }
Esempio n. 2
0
        public static void createConsole()
        {
            Entity e = UIFactory.ecs_instance.create();

            GForm form = new GForm();

            GCanvas canvas = new GCanvas();

            GTextBox textBox = new GTextBox();
        }
Esempio n. 3
0
        /// <summary>
        /// creates a timed dialog
        /// </summary>
        /// <param name="caller"></param>
        /// <param name="dialog"></param>
        /// <param name="origin"></param>
        /// <param name="name"></param>
        /// <param name="duration"></param>
        public static void createTimedDialogWindow(Entity caller, String dialog, Vector2 origin, String name, int duration)
        {
            Entity e = ecs_instance.create();

            DialogTimer timer = new DialogTimer(duration, ecs_instance);

            GForm form = new GForm();

            form.caller       = caller;
            form.owner        = e;
            form.ecs_instance = ecs_instance;
            form.bounds       = new Rectangle((int)origin.X, (int)origin.Y, 100, 50);

            GCanvas canvas = new GCanvas();

            canvas.caller       = caller;
            canvas.owner        = e;
            canvas.ecs_instance = ecs_instance;
            canvas.bounds       = new Rectangle((int)origin.X, (int)origin.Y, 200, 200);

            GTextBox textBox = new GTextBox();

            textBox.caller           = caller;
            textBox.owner            = e;
            textBox.ecs_instance     = ecs_instance;
            textBox.bounds           = new Rectangle((int)origin.X, (int)origin.Y, 100, 10);
            textBox.font_name        = "StartScreen";
            textBox.background_name  = "frame";
            textBox.border           = 10;
            textBox.text             = dialog;
            textBox.text_color       = Color.White;
            textBox.autosize         = true;
            textBox.center_text      = true;
            textBox.background_color = Color.Black;
            textBox.transparency     = 0.75f;

            textBox.updating += timer.updateHandler;

            canvas.controls.Add(textBox);

            form.canvas_controls.Add(canvas);

            UserInterface ui = new UserInterface(form);

            //assign component and issue refresh
            ecs_instance.add_component(e, ui);
            ecs_instance.resolve(e);
        }