Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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]);
        }