コード例 #1
0
 public void TeammateRemoved(NodeRemoveEvent e, UserInSquadNode teammate, [JoinBySquad] SelfSquadLeaderNode selfSquadLeader, [JoinBySquad] ICollection <UserInSquadNode> allTeammates, [JoinAll] SingleNode <SelfUserLeaderIconComponent> selfLeaderIcon)
 {
     if (allTeammates.Count == 1)
     {
         selfLeaderIcon.component.icon.SetActive(false);
     }
 }
コード例 #2
0
        private void UpdateEnergyCell(UserInSquadNode user, [JoinByUser] UserEnergyCellNode userCell, [JoinByUser] EnergyItemNode energy, [JoinByLeague] LeagueNode league)
        {
            UserGiftEnergyEvent eventInstance = new UserGiftEnergyEvent();

            base.ScheduleEvent(eventInstance, user);
            userCell.userEnergyCellUi.Setup(user.userUid.Uid, energy.userItemCounter.Count + eventInstance.totalGift, league.leagueEnergyConfig.Cost);
            userCell.userEnergyCellUi.SetGiftValue(eventInstance.totalGift, eventInstance.uids);
        }
コード例 #3
0
        public void InitUser(NodeAddedEvent e, UserEnergyCellNode userEnergyCell, [JoinByUser] UserInSquadNode user, [JoinByLeague] LeagueNode league, UserEnergyCellNode userEnergyCell1, [JoinByUser] Optional <EnergyItemNode> energy)
        {
            UserGiftEnergyEvent eventInstance = new UserGiftEnergyEvent();

            base.ScheduleEvent(eventInstance, user);
            userEnergyCell.userEnergyCellUi.Setup(user.userUid.Uid, !energy.IsPresent() ? 0L : (energy.Get().userItemCounter.Count + eventInstance.totalGift), league.leagueEnergyConfig.Cost);
            userEnergyCell.userEnergyCellUi.SetGiftValue(eventInstance.totalGift, eventInstance.uids);
        }
コード例 #4
0
        public void GetSquadCurrentEnergy(SquadCurrentEnergy e, UserInSquadNode userInSquad, [JoinBySquad, Combine] UserInSquadNode user, [JoinByUser] EnergyItemNode userEnergy, [JoinByUser] UserInSquadNode user1, [JoinByLeague] LeagueNode league)
        {
            UserGiftEnergyEvent eventInstance = new UserGiftEnergyEvent();

            base.ScheduleEvent(eventInstance, user);
            long num = (long)Mathf.Min((float)league.leagueEnergyConfig.Cost, (float)(userEnergy.userItemCounter.Count + eventInstance.totalGift));

            e.CurrentEnergy += num;
        }
コード例 #5
0
        public void RequestToSquad(RequestToSquadInternalEvent e, UserInSquadNode friend, [JoinAll] SelfUserNode selfUser, [JoinAll] SingleNode <Dialogs60Component> dialogs)
        {
            RequestToSquadEvent eventInstance = new RequestToSquadEvent {
                ToUserId = friend.userGroup.Key,
                SquadId  = friend.squadGroup.Key
            };

            base.NewEvent(eventInstance).Attach(selfUser).Schedule();
        }
コード例 #6
0
        public long GetPayed(UserInSquadNode userInSquad)
        {
            long num = 0L;

            foreach (long num2 in userInSquad.battleEntrancePayer.EnergyPayments.Keys)
            {
                if (num2 != userInSquad.Entity.Id)
                {
                    num += userInSquad.battleEntrancePayer.EnergyPayments[num2];
                }
            }
            return(num);
        }
コード例 #7
0
 public void GetUserGiftEnergy(UserGiftEnergyEvent e, UserInSquadNode user, [JoinBySquad] ICollection <UserInSquadNode> users)
 {
     foreach (UserInSquadNode node in users)
     {
         if (!ReferenceEquals(node, user))
         {
             Dictionary <long, long> energyPayments = node.battleEntrancePayer.EnergyPayments;
             foreach (long num in energyPayments.Keys)
             {
                 if (num == user.Entity.Id)
                 {
                     e.uids.Add(node.userUid.Uid);
                     e.totalGift += energyPayments[num];
                 }
             }
         }
     }
 }
コード例 #8
0
        public void GetEnergyPriceEvent(EnergyPriceEvent e, UserInSquadNode userInSquad, [JoinByUser] EnergyItemNode energy, [JoinByMarketItem] SingleNode <XPriceItemComponent> priceNode)
        {
            long num = (long)Math.Ceiling((double)((priceNode.component.Price * e.count) / ((double)priceNode.component.Pieces)));

            e.price = num;
        }
コード例 #9
0
 public void EnergyAdded(NodeAddedEvent e, EnergyItemNode energy, [JoinByUser] UserInSquadNode user, [JoinByUser] UserEnergyCellNode userCell, [JoinByUser] UserInSquadNode userInSquad, [JoinByLeague] LeagueNode league)
 {
     this.UpdateEnergyCell(user, userCell, energy, league);
     this.UpdateSquadTeleportInfo(user);
 }
コード例 #10
0
        public void CreateUser(NodeAddedEvent e, SingleNode <UsersEnergyCellsListUIComponent> list, [Combine] UserInSquadNode userInSquad, [JoinBySquad] SelfUserInSquadNode selfUser)
        {
            UserEnergyCellUIComponent component = list.component.AddUserCell();

            userInSquad.userGroup.Attach(component.GetComponent <EntityBehaviour>().Entity);
            this.UpdateSquadTeleportInfo(userInSquad);
        }
コード例 #11
0
 public void UpdateEnergyCells(SquadEnergyChangedEvent e, SquadNode squad, [JoinBySquad] SelfUserInSquadNode selfUserInSquad, [JoinBySquad, Combine] UserInSquadNode user, [JoinByUser] UserEnergyCellNode userCell, [JoinByUser] EnergyItemNode energy, [JoinByUser] UserInSquadNode userInSquad, [JoinByLeague] LeagueNode league)
 {
     this.UpdateEnergyCell(user, userCell, energy, league);
 }
コード例 #12
0
        public void TeammateRemoved(NodeRemoveEvent e, UserInSquadNode teammate, [JoinBySquad] SquadNode squad, [JoinBySquad] ICollection <UserInSquadNode> allTeammates, [JoinAll] SquadInfoUINode squadInfo, [JoinAll] SingleNode <InviteFriendsPopupComponent> inviteFriendsPopup)
        {
            bool showAddButton = new HashSet <UserInSquadNode>(allTeammates).Count <= (squad.squadConfig.MaxSquadSize - 1);

            this.SwitchAddButton(showAddButton, squadInfo, inviteFriendsPopup.component);
        }
コード例 #13
0
 public void ShareEnergy(ButtonClickEvent e, SingleNode <ShareEnergyButtonComponent> button, [JoinByUser] UserInSquadNode userInSquad, [JoinByUser] UserEnergyCellNode userCell, [JoinAll] SelfUserInSquadNode selfUserInSquad, [JoinAll] SingleNode <Dialogs60Component> dialogs)
 {
     userCell.userEnergyCellUi.HideShareButton();
     if (!userCell.userEnergyCellUi.Buy)
     {
         ShareEnergyEvent eventInstance = new ShareEnergyEvent {
             ReceiverId = userInSquad.Entity.Id
         };
         base.ScheduleEvent(eventInstance, selfUserInSquad);
     }
     else
     {
         EnergyPriceEvent eventInstance = new EnergyPriceEvent {
             count = userCell.userEnergyCellUi.ShareEnergyValue
         };
         base.ScheduleEvent(eventInstance, userInSquad);
         dialogs.component.Get <BuyEnergyDialogComponent>().Show(eventInstance.count, eventInstance.price);
     }
 }
コード例 #14
0
 public void UserInSquadRemoved(NodeRemoveEvent e, UserInSquadNode teammate, [JoinByUser] UserLabelStateNode userLabelState)
 {
     userLabelState.userLabelState.UserInSquad = false;
 }
コード例 #15
0
 public void TeammateAdded(NodeAddedEvent e, [Combine] UserInSquadNode teammate, [Combine] MatchMakingModeNode gameModeItemNode)
 {
     this.DelayUpdate(gameModeItemNode);
 }
コード例 #16
0
 public void GetSquadTeleportPrice(SquadTeleportPriceEvent e, UserInSquadNode userInSquad, [JoinBySquad, Combine] UserInSquadNode user, [JoinByLeague] LeagueNode league)
 {
     e.TeleportPrice += league.leagueEnergyConfig.Cost;
 }
コード例 #17
0
 public void UserLeaveSquad(NodeRemoveEvent e, UserInSquadNode squadUser, [JoinByUser] InviteToSquadUserLabelNode label)
 {
     label.waitingForInviteToSquadAnswerUi.AlreadyInSquad = false;
 }
コード例 #18
0
 public void UserInSquad(NodeAddedEvent e, InviteToSquadUserLabelNode label, [JoinByUser, Context] UserInSquadNode squadUser)
 {
     label.waitingForInviteToSquadAnswerUi.AlreadyInSquad = true;
 }
コード例 #19
0
        public void AddTeammateIcon(NodeAddedEvent e, SquadInfoUINode squadInfo, [Combine] UserInSquadNode teammate, [JoinBySquad, Context] SquadNode squad)
        {
            LeagueConfigComponent leagueConfig = base.Select <LeagueNode>(teammate.Entity, typeof(LeagueGroupComponent)).First <LeagueNode>().leagueConfig;

            squadInfo.squadInfoUI.AddTeammate(teammate.Entity.Id, teammate.userAvatar.Id, leagueConfig.LeagueIndex);
        }
コード例 #20
0
 public void RemoveUser(NodeRemoveEvent e, UserInSquadNode userInSquad, [JoinByUser] SingleNode <UserEnergyCellUIComponent> userCell, [JoinAll] SingleNode <UsersEnergyCellsListUIComponent> list)
 {
     list.component.RemoveUserCell(userCell.component);
     this.UpdateSquadTeleportInfo(userInSquad);
 }
コード例 #21
0
 public void UserInSquadAdded(NodeAddedEvent e, UserInSquadNode user, [JoinByUser, Context] UserLabelStateNode userLabelState)
 {
     userLabelState.userLabelState.UserInSquad = true;
 }
コード例 #22
0
ファイル: SquadSystem.cs プロジェクト: radiomonter/Tanki_X
 public void UserInSquadAdded(NodeAddedEvent e, [Combine] UserInSquadNode user, [JoinBySquad] SquadNode squad)
 {
     object[] objArray1 = new object[] { "SquadSystem.UserInSquadAdded ", user.Entity, " ", squad.Entity };
     Debug.Log(string.Concat(objArray1));
 }
コード例 #23
0
 public void SetEnergy(UpdateClientEnergyEvent e, EnergyItemNode energy, [JoinByUser] UserInSquadNode user, [JoinAll] SelfUserInSquadNode selfUser)
 {
     base.ScheduleEvent <UpdateSelfUserEnergyEvent>(selfUser);
 }
コード例 #24
0
 public void TeammateRemoved(NodeRemoveEvent e, UserInSquadNode teammate, [JoinAll, Combine] MatchMakingModeNode gameModeItemNode)
 {
     this.DelayUpdate(gameModeItemNode);
 }
コード例 #25
0
 public void RemoveTeammateIcon(NodeRemoveEvent e, UserInSquadNode teammate, [JoinAll] SquadInfoUINode squadInfo)
 {
     squadInfo.squadInfoUI.RemoveTeammate(teammate.Entity.Id);
 }