/// <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()); }
public static void createConsole() { Entity e = UIFactory.ecs_instance.create(); GForm form = new GForm(); GCanvas canvas = new GCanvas(); GTextBox textBox = new GTextBox(); }
/// <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); }