示例#1
0
        public async Task <SummonerActiveBoostsDTO> GetSumonerActiveBoosts()
        {
            int Id = Invoke("inventoryService", "getSumonerActiveBoosts", new object[] { });

            while (!results.ContainsKey(Id))
            {
                await Task.Delay(10);
            }
            TypedObject             messageBody = results[Id].GetTO("data").GetTO("body");
            SummonerActiveBoostsDTO result      = new SummonerActiveBoostsDTO(messageBody);

            results.Remove(Id);
            return(result);
        }
示例#2
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            SummonerActiveBoostsDTO activeBoosts = new SummonerActiveBoostsDTO
            {
                IPBoostEndDate     = 0.0,
                XPBoostEndDate     = 0.0,
                IPBoostPerWinCount = 0,
                IPLoyaltyBoost     = 0,
                SummonerID         = 1,
                XPBoostPerWinCount = 0,
                XPLoyaltyBoost     = 0
            };

            e.ReturnRequired = true;
            e.Data           = activeBoosts;

            return(e);
        }
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            SummonerClient summonerSender = sender as SummonerClient;

            SummonerActiveBoostsDTO activeBoosts = new SummonerActiveBoostsDTO
            {
                SummonerID         = Convert.ToInt32(summonerSender._sumId),
                IPBoostEndDate     = 0.0,
                XPBoostEndDate     = 0.0,
                IPBoostPerWinCount = 5,
                XPBoostPerWinCount = 5,
            };

            e.ReturnRequired = true;
            e.Data           = activeBoosts;

            return(e);
        }
示例#4
0
        /// 3.)
        public void GetSumonerActiveBoosts(SummonerActiveBoostsDTO.Callback callback)
        {
            SummonerActiveBoostsDTO cb = new SummonerActiveBoostsDTO(callback);

            InvokeWithCallback("inventoryService", "getSumonerActiveBoosts", new object[] { }, cb);
        }
示例#5
0
        internal async void UpdateSummonerInformation()
        {
            if (Client.IsLoggedIn)
            {
                AllSummonerData playerData =
                    await RiotCalls.GetAllSummonerDataByAccount(Client.LoginPacket.AllSummonerData.Summoner.AcctId);

                SummonerNameLabel.Content = playerData.Summoner.Name;


                SummonerActiveBoostsDTO activeBoost = await RiotCalls.GetSummonerActiveBoosts();

                string xpBoostTime = ConvertBoostTime(activeBoost.XpBoostEndDate);
                if (xpBoostTime != string.Empty && activeBoost.XpBoostEndDate > 0)
                {
                    XPBoost.Content = "XP Boost " + ConvertBoostTime(activeBoost.XpBoostEndDate) + ". " + activeBoost.XpBoostPerWinCount + " Win.";
                }
                else if (xpBoostTime != string.Empty)
                {
                    XPBoost.Content = "XP Boost " + ConvertBoostTime(activeBoost.XpBoostEndDate) + ".";
                }
                else if (activeBoost.XpBoostPerWinCount > 0)
                {
                    XPBoost.Content = "XP Boost " + activeBoost.XpBoostPerWinCount + ".";
                }
                else
                {
                    XPBoost.Visibility = Visibility.Hidden;
                }

                string ipBoostTime = ConvertBoostTime(activeBoost.IpBoostEndDate);
                if (ipBoostTime != string.Empty && activeBoost.IpBoostEndDate > 0)
                {
                    IPBoost.Content = "IP Boost " + ipBoostTime + ". " + activeBoost.IpBoostPerWinCount + " Win.";
                }
                else if (ipBoostTime != string.Empty)
                {
                    IPBoost.Content = "IP Boost " + ipBoostTime + ".";
                }
                else if (activeBoost.IpBoostPerWinCount > 0)
                {
                    IPBoost.Content = "IP Boost " + activeBoost.IpBoostPerWinCount + ".";
                }
                else
                {
                    IPBoost.Visibility = Visibility.Hidden;
                }

                Sha1 sha1 = new Sha1();
                if (!CheckedDev)
                {
                    if (DevUsers.getDevelopers().Contains(sha1.Hash(playerData.Summoner.Name + " " + Client.Region.RegionName)))
                    {
                        Client.Dev = true;
                    }
                    CheckedDev = true;
                }

                if (Client.Dev)
                {
                    Client.UserTitleBarLabel.Content = "Dev ∙ " + playerData.Summoner.Name;
                }
                else
                {
                    Client.UserTitleBarLabel.Content = playerData.Summoner.Name;
                }

                if (Client.LoginPacket.AllSummonerData.SummonerLevel.Level < 30)
                {
                    PlayerProgressBar.Value = (playerData.SummonerLevelAndPoints.ExpPoints /
                                               playerData.SummonerLevel.ExpToNextLevel) * 100;
                    PlayerProgressLabel.Content        = string.Format("Level {0}", playerData.SummonerLevel.Level);
                    PlayerCurrentProgressLabel.Content = string.Format("{0}XP", playerData.SummonerLevelAndPoints.ExpPoints);
                    PlayerAimProgressLabel.Content     = string.Format("{0}XP", playerData.SummonerLevel.ExpToNextLevel);
                    Client.UserTitleBarLabel.Content   = Client.UserTitleBarLabel.Content + string.Format(" ∙ Level: {0}", playerData.SummonerLevel.Level);
                }
                else
                {
                    GotLeaguesForPlayer(await RiotCalls.GetAllLeaguesForPlayer(playerData.Summoner.SumId));
                }

                if (Client.LoginPacket.BroadcastNotification.broadcastMessages != null)
                {
                    var message = Client.LoginPacket.BroadcastNotification.broadcastMessages[0];
                    if (message != null)
                    {
                        //BroadcastMessage.Text = message.Content;
                    }
                }

                foreach (PlayerStatSummary x in Client.LoginPacket.PlayerStatSummaries.PlayerStatSummarySet)
                {
                    if (x.PlayerStatSummaryTypeString == "Unranked")
                    {
                        Client.IsRanked     = false;
                        Client.AmountOfWins = x.Wins;
                    }
                    if (x.PlayerStatSummaryTypeString != "RankedSolo5x5")
                    {
                        continue;
                    }

                    if (x.Rating != 0)
                    {
                        Client.IsRanked     = true;
                        Client.AmountOfWins = x.Wins;
                    }
                    break;
                }

                Client.InfoLabel.Content = "IP: " + Client.LoginPacket.IpBalance + " ∙ RP: " + Client.LoginPacket.RpBalance;
                int profileIconId = Client.LoginPacket.AllSummonerData.Summoner.ProfileIconId;
                var UriSource     =
                    new System.Uri(Path.Combine(Client.ExecutingDirectory, "Assets", "profileicon", profileIconId + ".png"),
                                   UriKind.RelativeOrAbsolute);
                try
                {
                    ProfileImage.Source             = new BitmapImage(UriSource);
                    Client.UserTitleBarImage.Source = new BitmapImage(UriSource);
                }
                catch
                {
                    Client.Log("Can't load profile image.", "ERROR");
                }
                Client.MainPageProfileImage = ProfileImage;
            }
        }
示例#6
0
        void OnBoost(SummonerActiveBoostsDTO bo)
        {
            inventory.activeBoosts = bo;

            //Console.WriteLine("Received Summoner's active boosts details from server.");
        }