Esempio n. 1
0
        public CProfileUserControl(CProfile profile, EMove move, int priority)
        {
            InitializeComponent();

            textBoxName.Text    = profile.Name;
            textBoxFaculty.Text = profile.Faculty.ToString();
            _profile            = profile;
            Move     = move;
            Priority = priority;
        }
Esempio n. 2
0
        public CDirectoryUserControl(CDirectionWithProfile directionWithProfile, int priority, EMove move, bool added)
        {
            InitializeComponent();

            Priority             = priority;
            DirectionWithProfile = directionWithProfile;
            textBoxName.Text     = DirectionWithProfile.Direction.Code + " «" + DirectionWithProfile.Direction.Name + "»";
            Added = added;
            Load(DirectionWithProfile.PriorityProfile, Added);
            Move = move;
        }
Esempio n. 3
0
        private void MoveRule(EMove eMove)
        {
            int index = GetLvSelectedIndex();

            if (index < 0)
            {
                UI.Show(ResUI.PleaseSelectRules);
                return;
            }
            if (ConfigHandler.MoveRoutingRule(ref routingItem, index, eMove) == 0)
            {
                RefreshRoutingsView();
            }
        }
Esempio n. 4
0
        private void MoveRule(EMove eMove)
        {
            int index = GetLvSelectedIndex();

            if (index < 0)
            {
                UI.Show(UIRes.I18N("PleaseSelectRules"));
                return;
            }
            if (ConfigHandler.MoveRoutingRule(ref config, index, eMove) == 0)
            {
                RefreshRoutingsView();
            }
        }
Esempio n. 5
0
        private void MoveServer(EMove eMove)
        {
            int index = GetLvSelectedIndex();

            if (index < 0)
            {
                return;
            }
            if (ConfigHandler.MoveServer(ref config, ref lstVmess, index, eMove) == 0)
            {
                //TODO: reload is not good.
                RefreshServers();
                //LoadV2ray();
            }
        }
Esempio n. 6
0
 private void MoveServer(EMove eMove)
 {
     int index = GetLvSelectedIndex();
     if (index < 0)
     {
         UI.Show(UIRes.I18N("PleaseSelectServer"));
         return;
     }
     if (ConfigHandler.MoveServer(ref config, index, eMove) == 0)
     {
         //刷新
         RefreshServers();
         LoadV2ray();
     }
 }
Esempio n. 7
0
        /// <summary>
        /// 移动服务器
        /// </summary>
        /// <param name="config"></param>
        /// <param name="index"></param>
        /// <param name="eMove"></param>
        /// <returns></returns>
        public static int MoveServer(ref Config config, int index, EMove eMove)
        {
            int count = config.vmess.Count;

            if (index < 0 || index > config.vmess.Count - 1)
            {
                return(-1);
            }
            switch (eMove)
            {
            case EMove.Top:
            {
                if (index == 0)
                {
                    return(0);
                }
                VmessItem vmess = Utils.DeepCopy <VmessItem>(config.vmess[index]);
                config.vmess.RemoveAt(index);
                config.vmess.Insert(0, vmess);
                if (index < config.index)
                {
                    //
                }
                else if (config.index == index)
                {
                    config.index = 0;
                }
                else
                {
                    config.index++;
                }
                break;
            }

            case EMove.Up:
            {
                if (index == 0)
                {
                    return(0);
                }
                VmessItem vmess = Utils.DeepCopy <VmessItem>(config.vmess[index]);
                config.vmess.RemoveAt(index);
                config.vmess.Insert(index - 1, vmess);
                if (index == config.index + 1)
                {
                    config.index++;
                }
                else if (config.index == index)
                {
                    config.index--;
                }
                break;
            }

            case EMove.Down:
            {
                if (index == count - 1)
                {
                    return(0);
                }
                VmessItem vmess = Utils.DeepCopy <VmessItem>(config.vmess[index]);
                config.vmess.RemoveAt(index);
                config.vmess.Insert(index + 1, vmess);
                if (index == config.index - 1)
                {
                    config.index--;
                }
                else if (config.index == index)
                {
                    config.index++;
                }
                break;
            }

            case EMove.Bottom:
            {
                if (index == count - 1)
                {
                    return(0);
                }
                VmessItem vmess = Utils.DeepCopy <VmessItem>(config.vmess[index]);
                config.vmess.RemoveAt(index);
                config.vmess.Add(vmess);
                if (index < config.index)
                {
                    config.index--;
                }
                else if (config.index == index)
                {
                    config.index = count - 1;
                }
                else
                {
                    //
                }
                break;
            }
            }
            Global.reloadV2ray = true;

            ToJsonFile(config);

            return(0);
        }
Esempio n. 8
0
        /// <summary>
        /// 移动服务器
        /// </summary>
        /// <param name="config"></param>
        /// <param name="lstVmess"></param>
        /// <param name="index"></param>
        /// <param name="eMove"></param>
        /// <returns></returns>
        public static int MoveServer(ref Config config, ref List <VmessItem> lstVmess, int index, EMove eMove)
        {
            int count = lstVmess.Count;

            if (index < 0 || index > lstVmess.Count - 1)
            {
                return(-1);
            }

            for (int i = 0; i < lstVmess.Count; i++)
            {
                lstVmess[i].sort = (i + 1) * 10;
            }

            switch (eMove)
            {
            case EMove.Top:
            {
                if (index == 0)
                {
                    return(0);
                }
                lstVmess[index].sort = lstVmess[0].sort - 1;

                break;
            }

            case EMove.Up:
            {
                if (index == 0)
                {
                    return(0);
                }
                lstVmess[index].sort = lstVmess[index - 1].sort - 1;

                break;
            }

            case EMove.Down:
            {
                if (index == count - 1)
                {
                    return(0);
                }
                lstVmess[index].sort = lstVmess[index + 1].sort + 1;

                break;
            }

            case EMove.Bottom:
            {
                if (index == count - 1)
                {
                    return(0);
                }
                lstVmess[index].sort = lstVmess[lstVmess.Count - 1].sort + 1;

                break;
            }
            }

            ToJsonFile(config);

            return(0);
        }
Esempio n. 9
0
        /// <summary>
        /// MoveRoutingRule
        /// </summary>
        /// <param name="routingItem"></param>
        /// <param name="index"></param>
        /// <param name="eMove"></param>
        /// <returns></returns>
        public static int MoveRoutingRule(ref RoutingItem routingItem, int index, EMove eMove)
        {
            int count = routingItem.rules.Count;

            if (index < 0 || index > routingItem.rules.Count - 1)
            {
                return(-1);
            }
            switch (eMove)
            {
            case EMove.Top:
            {
                if (index == 0)
                {
                    return(0);
                }
                var item = Utils.DeepCopy(routingItem.rules[index]);
                routingItem.rules.RemoveAt(index);
                routingItem.rules.Insert(0, item);

                break;
            }

            case EMove.Up:
            {
                if (index == 0)
                {
                    return(0);
                }
                var item = Utils.DeepCopy(routingItem.rules[index]);
                routingItem.rules.RemoveAt(index);
                routingItem.rules.Insert(index - 1, item);

                break;
            }

            case EMove.Down:
            {
                if (index == count - 1)
                {
                    return(0);
                }
                var item = Utils.DeepCopy(routingItem.rules[index]);
                routingItem.rules.RemoveAt(index);
                routingItem.rules.Insert(index + 1, item);

                break;
            }

            case EMove.Bottom:
            {
                if (index == count - 1)
                {
                    return(0);
                }
                var item = Utils.DeepCopy(routingItem.rules[index]);
                routingItem.rules.RemoveAt(index);
                routingItem.rules.Add(item);

                break;
            }
            }
            return(0);
        }
Esempio n. 10
0
        /// <summary>
        /// MoveRoutingRule
        /// </summary>
        /// <param name="config"></param>
        /// <param name="index"></param>
        /// <param name="eMove"></param>
        /// <returns></returns>
        public static int MoveRoutingRule(ref Config config, int index, EMove eMove)
        {
            int count = config.rules.Count;

            if (index < 0 || index > config.rules.Count - 1)
            {
                return(-1);
            }
            switch (eMove)
            {
            case EMove.Top:
            {
                if (index == 0)
                {
                    return(0);
                }
                var item = Utils.DeepCopy(config.rules[index]);
                config.rules.RemoveAt(index);
                config.rules.Insert(0, item);

                break;
            }

            case EMove.Up:
            {
                if (index == 0)
                {
                    return(0);
                }
                var item = Utils.DeepCopy(config.rules[index]);
                config.rules.RemoveAt(index);
                config.rules.Insert(index - 1, item);

                break;
            }

            case EMove.Down:
            {
                if (index == count - 1)
                {
                    return(0);
                }
                var item = Utils.DeepCopy(config.rules[index]);
                config.rules.RemoveAt(index);
                config.rules.Insert(index + 1, item);

                break;
            }

            case EMove.Bottom:
            {
                if (index == count - 1)
                {
                    return(0);
                }
                var item = Utils.DeepCopy(config.rules[index]);
                config.rules.RemoveAt(index);
                config.rules.Add(item);

                break;
            }
            }
            Global.reloadV2ray = true;

            ToJsonFile(config);

            return(0);
        }
Esempio n. 11
0
        private void StartGame()
        {
            Console.Clear();
            this.ShowHelloMessage();
            Console.Clear();
            this.gameState = EGameState.Start;
            Array.Clear((Array)this.gameField, 0, this.gameField.Length);
            this.DrawBorders();
            this.SetSnakePosition();
            this.moveDirection = EMove.RIGHT;
            while (this.gameState != EGameState.Exit)
            {
                switch (Console.ReadKey(true).Key)
                {
                case ConsoleKey.P:
                    this.GamePause();
                    break;

                case ConsoleKey.S:
                    if (this.moveDirection != EMove.DOWN)
                    {
                        this.moveDirection = EMove.UP;
                        break;
                    }
                    break;

                case ConsoleKey.W:
                    if (this.moveDirection != EMove.UP)
                    {
                        this.moveDirection = EMove.DOWN;
                        break;
                    }
                    break;

                case ConsoleKey.Escape:
                    this.gameState = EGameState.Exit;
                    break;

                case ConsoleKey.A:
                    if (this.moveDirection != EMove.RIGHT)
                    {
                        this.moveDirection = EMove.LEFT;
                        break;
                    }
                    break;

                case ConsoleKey.D:
                    if (this.moveDirection != EMove.LEFT)
                    {
                        this.moveDirection = EMove.RIGHT;
                        break;
                    }
                    break;
                }
                while (this.gameState != EGameState.Exit && !Console.KeyAvailable)
                {
                    Thread.Sleep(this.gameSpeed);
                    if (!this.CheckMoveAvailable())
                    {
                        this.Move();
                        this.ShowScore();
                    }
                    else
                    {
                        this.gameState = EGameState.Exit;
                        this.ShowGameOver();
                    }
                }
            }
        }