Example #1
0
        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));
        }
Example #2
0
 public static MEvent RedrawEvent(MPoint where, MWidget sender)
 {
     return(new MEvent(MEventType.Redraw, new List <int>()
     {
         where.x, where.y
     }, sender));
 }
Example #3
0
        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();
        }
Example #4
0
        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));
        }
Example #5
0
        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));
        }
Example #6
0
 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] + ";";
     }
 }
Example #7
0
 public void RedrawChild(MWidget who)
 {
     foreach (MWidget w in Children)
     {
         if (w == who)
         {
             w.Redraw();
             return;
         }
         w.RedrawChild(who);
     }
 }
Example #8
0
 public static MEvent PingEvent(MWidget sender)
 {
     return(new MEvent(MEventType.Ping, new List <int>(), sender));
 }
Example #9
0
 public static MEvent RedrawEvent(MWidget sender)
 {
     return(new MEvent(MEventType.Redraw, new List <int>(), sender));
 }
Example #10
0
 public static MEvent UnlockEvent(MWidget sender)
 {
     return(new MEvent(MEventType.Unlock, new List <int>(), sender));
 }
Example #11
0
 public MWidgetController(MWidget connectedTo)
 {
     Widget = connectedTo;
     SetStandartActions();
 }
Example #12
0
 public void AddWidget(MWidget w)
 {
     w.SetParent(this);
     selectedWidgetIndex = Children.Count - 1;
 }
Example #13
0
 public void SetParent(MWidget what)
 {
     this.Parent = what;
     what.Children.Add(this);
 }