public void CreateUserRankRewardNotification(NodeAddedEvent e, RanksNamesNode ranksNames, [Combine] InstantiatedNotificationNode notification, [Context, JoinBy(typeof(NotificationsGroupComponent))] UserNode user) { UserRankRewardNotificationTextComponent userRankRewardNotificationText = notification.userRankRewardNotificationText; UserRankRewardNotificationInfoComponent userRankRewardNotificationInfo = notification.userRankRewardNotificationInfo; UserRankRewardNotificationUnityComponent userRankRewardNotificationUnity = notification.userRankRewardNotificationUnity; string format = "{0} {1}"; string rankHeaderText = userRankRewardNotificationText.RankHeaderText; string rewardLabelText = userRankRewardNotificationText.RewardLabelText; long redCrystals = userRankRewardNotificationInfo.RedCrystals; long blueCrystals = userRankRewardNotificationInfo.BlueCrystals; userRankRewardNotificationUnity.RankHeaderElement.text = rankHeaderText; userRankRewardNotificationUnity.RankNameElement.text = ranksNames.ranksNames.Names[(int)((IntPtr)userRankRewardNotificationInfo.Rank)]; userRankRewardNotificationUnity.RankImageSkin.SelectSprite(userRankRewardNotificationInfo.Rank.ToString()); if (redCrystals > 0L) { userRankRewardNotificationUnity.XCrystalsBlock.MoneyRewardField.text = string.Format(format, rewardLabelText, redCrystals); userRankRewardNotificationUnity.XCrystalsBlock.gameObject.SetActive(true); } if (blueCrystals > 0L) { userRankRewardNotificationUnity.CrystalsBlock.MoneyRewardField.text = string.Format(format, rewardLabelText, blueCrystals); userRankRewardNotificationUnity.CrystalsBlock.gameObject.SetActive(true); } }
public void UpdateGameModeItem(UpdateMatchMakingModeEvent e, MatchMakingModeNode matchMakingModeNode, [JoinAll] SelfUserNode user, [JoinAll] RanksNamesNode ranksNames, [JoinAll] Optional <SelfUserSquadNode> selfUserSquadNode, [JoinBySquad] ICollection <UserInSquadNode> allTeammates, [JoinAll] Optional <SelfUserLeaderSquadNode> selfUserLeaderNode) { bool userInSquadNow = selfUserSquadNode.IsPresent() && (allTeammates.Count > 0); bool userIsSquadLeader = selfUserLeaderNode.IsPresent(); bool modeIsDefault = matchMakingModeNode.Entity.HasComponent <MatchMakingTrainingModeComponent>(); if (matchMakingModeNode.Entity.HasComponent <RankRestrictionGUIComponent>() && (user.userRank.Rank < matchMakingModeNode.matchMakingModeRestrictions.MinimalRank)) { RankRestrictionGUIComponent component = matchMakingModeNode.Entity.GetComponent <RankRestrictionGUIComponent>(); matchMakingModeNode.gameModeSelectButton.SetRestricted(true); component.SetRank(matchMakingModeNode.matchMakingModeRestrictions.MinimalRank); component.RankName = ranksNames.ranksNames.Names[matchMakingModeNode.matchMakingModeRestrictions.MinimalRank]; } matchMakingModeNode.gameModeSelectButton.SetAvailableForSquadMode(userInSquadNow, userIsSquadLeader, modeIsDefault); }
public void SetLevelInfo(NodeAddedEvent e, ProfileSummarySectionUINode sectionUI, ProfileScreenWithUserGroupNode profileScreen, [JoinByUser] UserStatisticsNode statistics, [JoinAll] RanksNamesNode rankNames) { GetUserLevelInfoEvent eventInstance = new GetUserLevelInfoEvent(); base.ScheduleEvent(eventInstance, statistics); sectionUI.profileSummarySectionUI.SetLevelInfo(eventInstance.Info, rankNames.ranksNames.Names[eventInstance.Info.Level + 1]); }