public void Handle(SideSelectedMessage message)
        {
            // 初始化BP过程
            BpStatus = new BpStatus()
            {
                Map       = message.ItemInfo.Id,
                FirstSide = message.Side,
            };

            int side = (int)BpStatus.FirstSide;

            InvokeScript("init", message.ItemInfo.Id, side.ToString(), App.Language);
            InvokeScript("update", new List <Tuple <string, string> >
            {
                Tuple.Create("chose", ""),
                Tuple.Create("map", BpStatus.Map),
                Tuple.Create("lang", App.Language)
            });

            CloseHeroSelectorWindows();
            // Position下标位置示意
            //   0 1   7 8
            // 2          9
            // 3          10
            // 4          11
            // 5          12
            // 6          13

            if (message.Side == BpStatus.Side.Left)
            {
                _listBpSteps = new List <IList <int> > // BP总共10手
                {
                    new List <int> {
                        0
                    },
                    new List <int> {
                        7
                    },
                    new List <int> {
                        2
                    },
                    new List <int> {
                        9
                    },                 // 倒序是为了让9获得输入焦点
                    new List <int> {
                        10
                    },
                    new List <int> {
                        3
                    },
                    new List <int> {
                        4
                    },
                    new List <int> {
                        8
                    },
                    new List <int> {
                        1
                    },
                    new List <int> {
                        11
                    },
                    new List <int> {
                        12
                    },
                    new List <int> {
                        5
                    },
                    new List <int> {
                        6
                    },
                    new List <int> {
                        13
                    },
                };
            }
            else
            {
                _listBpSteps = new List <IList <int> > // BP总共10手
                {
                    new List <int> {
                        7
                    },
                    new List <int> {
                        0
                    },
                    new List <int> {
                        9
                    },
                    new List <int> {
                        2
                    },
                    new List <int> {
                        3
                    },
                    new List <int> {
                        10
                    },
                    new List <int> {
                        11
                    },
                    new List <int> {
                        1
                    },
                    new List <int> {
                        8
                    },
                    new List <int> {
                        4
                    },
                    new List <int> {
                        5
                    },
                    new List <int> {
                        12
                    },
                    new List <int> {
                        13
                    },
                    new List <int> {
                        6
                    },
                };
            }
            BpStatus.CurrentStep = 0;
            ProcessStep();
        }
Exemple #2
0
        public void Handle(SideSelectedMessage message)
        {
            //收到重置命令,重置
            if (message.ItemInfo == null)
            {
                Init();
                InitializeAllHeroSelector();
                Show();
                return;
            }
            BpStarted = true;
            // 初始化BP过程
            BpStatus = new BpStatus
            {
                Map       = message.ItemInfo.Id,
                FirstSide = message.Side
            };

            var side = (int)BpStatus.FirstSide;

            InvokeScript("init", side.ToString(), App.CustomConfigurationSettings.LanguageForBphots, App.CustomConfigurationSettings.LanguageForMessage, App.CustomConfigurationSettings.LanguageForGameClient);
            InvokeScript("update", new List <Tuple <string, string> >
            {
                Tuple.Create("chose", ""),
                Tuple.Create("map", BpStatus.Map),
                Tuple.Create("lang", App.Language)
            });

            // Position下标位置示意
            //   0 1   7 8
            // 2          9
            // 3          10
            // 4          11
            // 5          12
            // 6          13

            if (message.Side == BpStatus.Side.Left)
            {
                _listBpSteps = new List <IList <int> > // BP总共10手
                {
                    new List <int> {
                        0
                    },
                    new List <int> {
                        7
                    },
                    new List <int> {
                        2
                    },
                    new List <int> {
                        9, 10
                    },                     // 倒序是为了让9获得输入焦点
                    new List <int> {
                        3, 4
                    },
                    new List <int> {
                        8
                    },
                    new List <int> {
                        1
                    },
                    new List <int> {
                        11, 12
                    },
                    new List <int> {
                        5, 6
                    },
                    new List <int> {
                        13
                    }
                };
            }
            else
            {
                _listBpSteps = new List <IList <int> > // BP总共10手
                {
                    new List <int> {
                        7
                    },
                    new List <int> {
                        0
                    },
                    new List <int> {
                        9
                    },
                    new List <int> {
                        2, 3
                    },
                    new List <int> {
                        10, 11
                    },
                    new List <int> {
                        1
                    },
                    new List <int> {
                        8
                    },
                    new List <int> {
                        4, 5
                    },
                    new List <int> {
                        12, 13
                    },
                    new List <int> {
                        6
                    }
                };
            }

            BpStatus.CurrentStep = 0;
            ProcessStep();
        }