public static SquadMsg GenerateMessageFromChatMessage(string message) { return(new SquadMsg { Type = SquadMsgType.Chat, TimeSent = ChatTimeConversionUtils.GetUnixTimestamp(), OwnerData = new SqmOwnerData { PlayerId = Service.CurrentPlayer.PlayerId, PlayerName = Service.CurrentPlayer.PlayerName }, ChatData = new SqmChatData { Message = message } }); }
public void StartSession(ChatType chatType, string channelId) { if (this.sessionState == ChatSessionState.Disconnected) { this.sessionState = ChatSessionState.Connecting; uint unixTimestamp = ChatTimeConversionUtils.GetUnixTimestamp(); uint num = unixTimestamp + 86400u; CurrentPlayer currentPlayer = Service.Get <CurrentPlayer>(); string locale = Service.Get <Lang>().ExtractLanguageFromLocale(); string json = ChatSessionUtils.CreateSessionString(currentPlayer.PlayerId, currentPlayer.PlayerName, locale, num.ToString(), chatType, channelId); this.signedSession = ChatSessionUtils.GetSignedString(json); this.channelUrl = string.Format("https://startswin-prod-chat-manager.playdom.com/dsg/chat/v1/strtw/getChannel?session={0}", new object[] { this.signedSession }); Service.Get <Engine>().StartCoroutine(this.ConnectToChannel()); } }
private void HandleFilterSelection(ChatFilterType type, bool forceViewTimeUpdate) { SquadController squadController = Service.SquadController; squadController.StateManager.SetSquadScreenChatFilterType(type); this.SetSquadPlayerPref("ChatFilterType", (uint)type); this.RefreshView(); uint unixTimestamp = ChatTimeConversionUtils.GetUnixTimestamp(); if (type == ChatFilterType.ShowAll) { this.SetLastViewedTime(ChatFilterType.Messages, unixTimestamp, forceViewTimeUpdate); this.SetLastViewedTime(ChatFilterType.Requests, unixTimestamp, forceViewTimeUpdate); this.SetLastViewedTime(ChatFilterType.Replays, unixTimestamp, forceViewTimeUpdate); this.SetLastViewedTime(ChatFilterType.Updates, unixTimestamp, forceViewTimeUpdate); } this.SetLastViewedTime(type, unixTimestamp, forceViewTimeUpdate); this.UpdateBadges(); }
public override void RefreshView() { this.gridWarLog.Clear(); SquadController squadController = Service.SquadController; Squad currentSquad = squadController.StateManager.GetCurrentSquad(); if (currentSquad == null) { return; } uint serverTime = Service.ServerAPI.ServerTime; SquadMemberWarData currentMemberWarData = squadController.WarManager.GetCurrentMemberWarData(); int i = 0; int count = currentSquad.WarHistory.Count; while (i < count) { SquadWarHistoryEntry squadWarHistoryEntry = currentSquad.WarHistory[i]; UXElement uXElement = this.gridWarLog.CloneTemplateItem(squadWarHistoryEntry.WarId); this.gridWarLog.AddItem(uXElement, i); uXElement.Tag = squadWarHistoryEntry.WarId; SquadWarRewardData rewardForWar = SquadUtils.GetRewardForWar(squadWarHistoryEntry.WarId, currentMemberWarData); UXButton subElement = this.gridWarLog.GetSubElement <UXButton>(squadWarHistoryEntry.WarId, "BtnCollectWarReward"); UXLabel subElement2 = this.gridWarLog.GetSubElement <UXLabel>(squadWarHistoryEntry.WarId, "LabelBtnCollectWarReward"); subElement2.Text = this.lang.Get("SQUAD_WAR_LOG_COLLECT_REWARD", new object[0]); UXLabel subElement3 = this.gridWarLog.GetSubElement <UXLabel>(squadWarHistoryEntry.WarId, "LabelWarlogTimestamp"); subElement3.Text = this.lang.Get("TIME_AGO", new object[] { ChatTimeConversionUtils.GetFormattedAge(squadWarHistoryEntry.EndDate, this.lang) }); UXLabel subElement4 = this.gridWarLog.GetSubElement <UXLabel>(squadWarHistoryEntry.WarId, "LabelWarlogScore"); subElement4.Text = this.lang.Get("SQUAD_WAR_LOG_SCORE", new object[] { squadWarHistoryEntry.Score, squadWarHistoryEntry.OpponentScore }); UXLabel subElement5 = this.gridWarLog.GetSubElement <UXLabel>(squadWarHistoryEntry.WarId, "LabelWarlogOpponent"); string text = string.Empty; if (!string.IsNullOrEmpty(squadWarHistoryEntry.OpponentName)) { text = this.lang.Get("SQUAD_WAR_LOG_OPPONENT_VS", new object[] { squadWarHistoryEntry.OpponentName }); } subElement5.Text = text; UXLabel subElement6 = this.gridWarLog.GetSubElement <UXLabel>(squadWarHistoryEntry.WarId, "LabelWarlogExpires"); bool flag = rewardForWar != null && rewardForWar.ExpireDate > serverTime; if (flag) { int num = (int)(rewardForWar.ExpireDate - serverTime); string text2 = LangUtils.FormatTime((long)num); subElement6.Visible = true; text2 = this.lang.Get("expires_in", new object[] { text2 }); subElement6.Text = text2; subElement.Visible = true; subElement.OnClicked = new UXButtonClickedDelegate(this.OnCollectButtonClicked); subElement.Tag = rewardForWar.WarId; } else { subElement6.Visible = false; subElement.Visible = false; } UXSprite subElement7 = this.gridWarLog.GetSubElement <UXSprite>(squadWarHistoryEntry.WarId, "SpriteWarlogBgDraw"); subElement7.Visible = false; UXSprite subElement8 = this.gridWarLog.GetSubElement <UXSprite>(squadWarHistoryEntry.WarId, "SpriteWarlogBgLost"); subElement8.Visible = false; UXSprite subElement9 = this.gridWarLog.GetSubElement <UXSprite>(squadWarHistoryEntry.WarId, "SpriteWarlogBgWon"); subElement9.Visible = false; UXLabel subElement10 = this.gridWarLog.GetSubElement <UXLabel>(squadWarHistoryEntry.WarId, "LabelWarlogResult"); if (squadWarHistoryEntry.Score > squadWarHistoryEntry.OpponentScore) { subElement9.Visible = true; subElement10.Text = this.lang.Get("SQUAD_WAR_LOG_WIN", new object[0]); } else if (squadWarHistoryEntry.Score < squadWarHistoryEntry.OpponentScore) { subElement8.Visible = true; subElement10.Text = this.lang.Get("SQUAD_WAR_LOG_LOSS", new object[0]); } else { subElement7.Visible = true; subElement10.Text = this.lang.Get("SQUAD_WAR_LOG_DRAW", new object[0]); } i++; } this.gridWarLog.RepositionItemsFrameDelayed(); if (currentSquad.WarHistory.Count == 0) { this.labelEmptyWarlog.Visible = true; if (SquadUtils.SquadMeetsMatchmakingRequirements(squadController)) { this.labelEmptyWarlog.Text = this.lang.Get("SQUAD_WAR_LOG_EMPTY_HAS_REQUIREMENTS", new object[0]); } else { this.labelEmptyWarlog.Text = this.lang.Get("SQUAD_WAR_LOG_EMPTY_LACKS_REQUIREMENTS", new object[0]); } } else { this.labelEmptyWarlog.Visible = false; } this.RefreshBadge(); }
private void UpdateSquadMember(SquadMember squadMember) { UXElement squadMemberElement = this.GetSquadMemberElement(squadMember); string id = "member_" + squadMember.MemberID; SquadMemberElements squadMemberElements = new SquadMemberElements(); SquadScreenMembersView.SquadMemberElementsSetup(this.squadMemberGrid, squadMemberElements, id); this.SetPromoteDemoteOnButton(squadMember, squadMemberElements.ButtonOne, squadMemberElements.ButtonOneLabel); squadMemberElements.ButtonOne.Tag = squadMember; if (squadMember.Role == SquadRole.Owner) { squadMemberElements.ButtonOne.Enabled = false; } else { this.SetupButtonBasedOnRole(squadMemberElements.ButtonOne, squadMember, true); } CurrentPlayer currentPlayer = Service.CurrentPlayer; SquadController squadController = Service.SquadController; SquadWarManager warManager = squadController.WarManager; bool flag = squadMember.MemberID == currentPlayer.PlayerId; int num = 0; int num2 = 0; squadMemberElements.ButtonTwoLabel.Text = this.lang.Get("s_View", new object[0]); if (flag) { squadMemberElements.ButtonTwo.Enabled = false; num = squadController.StateManager.NumTroopDonationsInSession; num2 = squadController.StateManager.NumRepDonatedInSession; } else { squadMemberElements.ButtonTwo.OnClicked = new UXButtonClickedDelegate(this.OnViewClicked); squadMemberElements.ButtonTwo.Tag = squadMember; } squadMemberElements.ButtonThreeLabel.Text = this.lang.Get("s_Remove", new object[0]); squadMemberElements.ButtonThree.OnClicked = new UXButtonClickedDelegate(this.OnRemoveClicked); squadMemberElements.ButtonThree.Tag = squadMember; this.SetupButtonBasedOnRole(squadMemberElements.ButtonThree, squadMember, false); squadMemberElements.MemberInfoGroup.Visible = true; squadMemberElements.MemberNameLabel.Text = this.lang.Get("WAR_MEMBER_NAME", new object[] { squadMember.MemberName, squadMember.HQLevel }); if (squadMemberElement != null) { squadMemberElements.MemberRankLabel.Text = (this.squadMemberGrid.GetSortedIndex(squadMemberElement) + 1).ToString(); } squadMemberElements.MemberRoleLabel.Text = LangUtils.GetSquadRoleDisplayName(squadMember.Role); if (warManager.IsMemberInWarParty(squadMember.MemberID) || warManager.IsSquadMemberInWarOrMatchmaking(squadMember)) { if (warManager.IsCurrentSquadMatchmaking()) { UXLabel expr_228 = squadMemberElements.MemberRoleLabel; expr_228.Text += this.lang.Get("WAR_IN_MATCHMAKING", new object[0]); } else if (warManager.WarExists()) { UXLabel expr_265 = squadMemberElements.MemberRoleLabel; expr_265.Text += this.lang.Get("WAR_IN_WAR", new object[0]); } } squadMemberElements.MemberScoreLabel.Text = ((!(squadMember.MemberID == Service.CurrentPlayer.PlayerId)) ? this.lang.ThousandsSeparated(squadMember.Score) : this.lang.ThousandsSeparated(Service.CurrentPlayer.PlayerMedals)); squadMemberElements.TroopsDonatedLabel.Text = this.lang.Get("TROOPS_DONATED", new object[] { this.lang.ThousandsSeparated(squadMember.TroopsDonated + num) }); squadMemberElements.TroopsReceivedLabel.Text = this.lang.Get("TROOPS_RECEIVED", new object[] { this.lang.ThousandsSeparated(squadMember.TroopsReceived) }); squadMemberElements.RepInvestedLabel.Text = this.lang.Get("REPUTATION_INVESTED", new object[] { this.lang.ThousandsSeparated(squadMember.ReputationInvested + num2) }); squadMemberElements.VictoriesLabel.Text = this.lang.Get("s_Victories", new object[0]); squadMemberElements.TroopsLabel.Text = this.lang.Get("s_Troops", new object[0]); squadMemberElements.AttacksWonLabel.Text = this.lang.Get("ATTACKS_WON", new object[] { this.lang.ThousandsSeparated(squadMember.AttacksWon) }); squadMemberElements.DefensesWonLabel.Text = this.lang.Get("DEFENSES_WON", new object[] { this.lang.ThousandsSeparated(squadMember.DefensesWon) }); if (squadMember.MemberID != currentPlayer.PlayerId) { squadMemberElements.LastLoginTimeLabel.Text = ChatTimeConversionUtils.GetFormattedAgeSinceLogin(squadMember.LastLoginTime, this.lang); } else { squadMemberElements.LastLoginTimeLabel.Visible = false; } if (squadMember.TournamentScore != null && squadMember.TournamentScore.Count > 0) { squadMemberElements.ConflictMedalsGroup.Visible = true; squadMemberElements.TournamentScoreLabel1.Visible = false; squadMemberElements.TournamentScoreSprite1.Visible = false; squadMemberElements.TournamentScoreLabel2.Visible = false; squadMemberElements.TournamentScoreSprite2.Visible = false; squadMemberElements.TournamentScoreLabel3.Visible = false; squadMemberElements.TournamentScoreSprite3.Visible = false; int num3 = 0; foreach (KeyValuePair <string, int> current in squadMember.TournamentScore) { if (num3 == 0) { this.UpdateTournamentScore(current, squadMemberElements.TournamentScoreLabel1, squadMemberElements.TournamentScoreSprite1); } else if (num3 == 1) { this.UpdateTournamentScore(current, squadMemberElements.TournamentScoreLabel2, squadMemberElements.TournamentScoreSprite2); } else if (num3 == 2) { this.UpdateTournamentScore(current, squadMemberElements.TournamentScoreLabel3, squadMemberElements.TournamentScoreSprite3); } num3++; } } else { squadMemberElements.ConflictMedalsGroup.Visible = false; } PlanetVO planetVO = null; if (!string.IsNullOrEmpty(squadMember.Planet)) { planetVO = Service.StaticDataController.GetOptional <PlanetVO>(squadMember.Planet); } if (planetVO == null) { planetVO = Service.StaticDataController.GetOptional <PlanetVO>("planet1"); } if (planetVO != null && squadMemberElements.PlanetBackgroundTexture != null) { squadMemberElements.PlanetBackgroundTexture.LoadTexture(planetVO.LeaderboardTileTexture, null); } if (Service.SquadController.WarManager.MatchMakingPrepMode) { bool flag2 = squadMember.HQLevel >= GameConstants.WAR_PARTICIPANT_MIN_LEVEL; if (flag2) { squadMemberElements.SpriteMemberSelect.Tag = true; squadMemberElements.SpriteMemberSelect.Visible = warManager.IsMemberInWarParty(squadMember.MemberID); } else { squadMemberElements.SpriteMemberSelect.Tag = false; squadMemberElements.SpriteMemberSelect.Visible = false; } squadMemberElements.GroupMemberSelect.Visible = true; squadMemberElements.SpriteMoreOptions.Visible = false; } else { squadMemberElements.GroupMemberSelect.Visible = false; squadMemberElements.SpriteMemberSelect.Visible = false; squadMemberElements.SpriteMoreOptions.Visible = true; } squadMemberElements.SpriteWarIcon.Visible = (squadMember.WarParty != 0); squadMemberElements.ButtonContainer.ResetPlayTweenTarget(); }