public void AddIndex(int X) { int prevIndex = selectedWidgetIndex; selectedWidgetIndex += X; while (selectedWidgetIndex < 0) { selectedWidgetIndex += childrenCount; } while (selectedWidgetIndex >= childrenCount) { selectedWidgetIndex -= childrenCount; } MWidget was = Children[prevIndex]; MWidget now = Children[selectedWidgetIndex]; was.Controller.SendEvent(MEvent.LockEvent(this)); now.Controller.SendEvent(MEvent.UnlockEvent(this)); if (was as MLayout != null || now as MLayout != null) { Redraw(); } else { RedrawChild(now); RedrawChild(was); } Logs.Trace(String.Format("{0}: selected {1}->{2}", name, prevIndex, selectedWidgetIndex)); }
public static MEvent RedrawEvent(MPoint where, MWidget sender) { return(new MEvent(MEventType.Redraw, new List <int>() { where.x, where.y }, sender)); }
static void Main(string[] args) { Console.BackgroundColor = ConsoleColor.DarkBlue; Console.Clear(); Logs.Write = true; MDrawHandler.MaximiseWindow(); MWidget testV = TestForm(); testV.Controller.SendEvent(MEvent.RedrawEvent(new MPoint(4, 10), testV)); testV.Controller.SendEvent(MEvent.UnlockEvent(testV)); testV.Redraw(); while (true) { testV.Controller.SendEvent(MEvent.ButtonPressEvent(Console.ReadKey(true), testV)); } //Player p1 = new Player("Lev"); //Player p2 = new Player("Kotenka"); //p1.Opponents.Add(p2); //p2.Opponents.Add(p1); //PlayerHandler.DrawPlayer(new MPoint(2, 2), p1, 40); Console.ReadLine(); }
public static MEvent ButtonPressEvent(ConsoleKeyInfo keyInfo, MWidget sender) { MEventType t = MEventType.ButtonPress; List <int> p = new List <int>(); p.Add(IO.KeyAvailable.IndexOf(keyInfo.Key)); p.Add((int)keyInfo.Modifiers); return(new MEvent(t, p, sender)); }
public static MEvent ButtonPressEvent(ConsoleKey key, MWidget sender) { MEventType t = MEventType.ButtonPress; List <int> p = new List <int>(); // -1 wrong, // 0 = ESC, 1 = SPACE, 2 = <- 3 = ^ 4 = -> 5 = v p.Add(IO.KeyAvailable.IndexOf(key)); return(new MEvent(t, p, sender)); }
public MEvent(MEventType Type, List <int> Params, MWidget sender) { this.Type = Type; this.Params = Params; this.Sender = sender; listedParamsOnCreate = ""; for (int i = 0; i < Params.Count; ++i) { listedParamsOnCreate += Params[i] + ";"; } }
public void RedrawChild(MWidget who) { foreach (MWidget w in Children) { if (w == who) { w.Redraw(); return; } w.RedrawChild(who); } }
public static MEvent PingEvent(MWidget sender) { return(new MEvent(MEventType.Ping, new List <int>(), sender)); }
public static MEvent RedrawEvent(MWidget sender) { return(new MEvent(MEventType.Redraw, new List <int>(), sender)); }
public static MEvent UnlockEvent(MWidget sender) { return(new MEvent(MEventType.Unlock, new List <int>(), sender)); }
public MWidgetController(MWidget connectedTo) { Widget = connectedTo; SetStandartActions(); }
public void AddWidget(MWidget w) { w.SetParent(this); selectedWidgetIndex = Children.Count - 1; }
public void SetParent(MWidget what) { this.Parent = what; what.Children.Add(this); }