public void SendSyncPlayerStatus(Self self, int toClientId = -1)
    {
        CoopClient coopClient = coopRoom.clients.Find((CoopClient x) => x.stageId != MonoBehaviourSingleton <CoopManager> .I.coopMyClient.stageId);

        if (!(coopClient == null))
        {
            Coop_Model_RoomSyncPlayerStatus coop_Model_RoomSyncPlayerStatus = new Coop_Model_RoomSyncPlayerStatus();
            coop_Model_RoomSyncPlayerStatus.id   = 1001;
            coop_Model_RoomSyncPlayerStatus.hp   = self.hp;
            coop_Model_RoomSyncPlayerStatus.buff = self.buffParam.CreateSyncParamIfNeeded();
            coop_Model_RoomSyncPlayerStatus.wid  = self.weaponData.eId;
            if (QuestManager.IsValidInGameExplore())
            {
                ExplorePlayerStatus myExplorePlayerStatus = MonoBehaviourSingleton <QuestManager> .I.GetMyExplorePlayerStatus();

                if (myExplorePlayerStatus != null)
                {
                    coop_Model_RoomSyncPlayerStatus.SetExtraStatus(self, myExplorePlayerStatus.extraStatus);
                }
                else
                {
                    coop_Model_RoomSyncPlayerStatus.SetExtraStatus(self, null);
                }
            }
            if (toClientId > 0)
            {
                MonoBehaviourSingleton <CoopNetworkManager> .I.SendTo(toClientId, coop_Model_RoomSyncPlayerStatus, false, null, null);
            }
            else
            {
                MonoBehaviourSingleton <CoopNetworkManager> .I.SendBroadcast(coop_Model_RoomSyncPlayerStatus, false, null, null);
            }
        }
    }
Пример #2
0
    private void OnChangeExploreMemberList()
    {
        //IL_000f: Unknown result type (might be due to invalid IL or missing references)
        for (int i = 0; i < statuses.Length; i++)
        {
            statuses[i].get_gameObject().SetActive(false);
        }
        List <ExplorePlayerStatus> enabledPlayerStatusList = exploreStatus.GetEnabledPlayerStatusList();
        bool flag = false;

        for (int j = 0; j < enabledPlayerStatusList.Count; j++)
        {
            ExplorePlayerStatus explorePlayerStatus = enabledPlayerStatusList[j];
            if (explorePlayerStatus.isSelf)
            {
                flag = true;
            }
            else
            {
                int num = explorePlayerStatus.coopClient.slotIndex;
                if (num >= 0)
                {
                    if (flag)
                    {
                        num--;
                    }
                    statuses[num].Initialize(explorePlayerStatus);
                }
            }
        }
    }
Пример #3
0
    public void OnRecvChatStamp(int fromClientId, Coop_Model_RoomChatStamp model)
    {
        CoopClient coopClient = clients.FindByClientId(fromClientId);

        if (!(coopClient == null))
        {
            Player player = coopClient.GetPlayer();
            if (Object.op_Implicit(player))
            {
                player.ChatSayStamp(model.stampId);
            }
            else if (QuestManager.IsValidInGameExplore())
            {
                ExplorePlayerStatus explorePlayerStatus = MonoBehaviourSingleton <QuestManager> .I.GetExplorePlayerStatus(model.userId);

                if (MonoBehaviourSingleton <UIInGameMessageBar> .IsValid() && MonoBehaviourSingleton <UIInGameMessageBar> .I.get_isActiveAndEnabled() && explorePlayerStatus != null)
                {
                    MonoBehaviourSingleton <UIInGameMessageBar> .I.Announce(explorePlayerStatus.userName, model.stampId);
                }
            }
            if (chatConnection != null)
            {
                if (Object.op_Implicit(player))
                {
                    chatConnection.OnReceiveStamp(coopClient.userId, player.charaName, model.stampId);
                }
                else if (coopClient != null)
                {
                    chatConnection.OnReceiveStamp(coopClient.userId, coopClient.GetPlayerName(), model.stampId);
                }
            }
        }
    }
    public void AddTotalDamageFromExplorePlayerStatus(ExplorePlayerStatus status)
    {
        TotalDamage totalDamage = new TotalDamage();

        totalDamage.uid = status.userId;
        totalDamage.dmg = status.givenTotalDamage;
        dmgs.Add(totalDamage);
    }
Пример #5
0
    public void UpdatePlayerStatus(CoopClient coopClient)
    {
        ExplorePlayerStatus playerStatus = GetPlayerStatus(coopClient);
        Player player = coopClient.GetPlayer();

        if (playerStatus != null && Object.op_Implicit(player))
        {
            playerStatus.SyncFromPlayer(player);
        }
    }
Пример #6
0
 public ExplorePlayerStatus GetPlayerStatus(int userId)
 {
     for (int i = 0; i < 8; i++)
     {
         ExplorePlayerStatus explorePlayerStatus = playerStatuses[i];
         if (explorePlayerStatus != null && explorePlayerStatus.userId == userId)
         {
             return(explorePlayerStatus);
         }
     }
     return(null);
 }
 private void Clear()
 {
     if (playerStatus != null)
     {
         playerStatus.onInitialize   -= OnInitializeStatus;
         playerStatus.onUpdateHp     -= UpdateHp;
         playerStatus.onUpdateWeapon -= UpdateWeapon;
         playerStatus.onUpdateBuff   -= UpdateStatusIcon;
         playerStatus = null;
         if (rotateUpdate != null)
         {
             this.StopCoroutine(rotateUpdate);
             rotateUpdate = null;
         }
     }
 }
Пример #8
0
    public void OnRecvSyncPlayerStatus(int fromClientId, Coop_Model_RoomSyncPlayerStatus model)
    {
        if (QuestManager.IsValidExplore())
        {
            CoopClient coopClient = clients.FindByClientId(fromClientId);
            if (model.hp <= 0 && Object.op_Implicit(coopClient))
            {
                ExplorePlayerStatus explorePlayerStatus = MonoBehaviourSingleton <QuestManager> .I.GetExplorePlayerStatus(coopClient.userId);

                if (explorePlayerStatus != null && explorePlayerStatus.hp > 0 && MonoBehaviourSingleton <UIDeadAnnounce> .IsValid())
                {
                    MonoBehaviourSingleton <UIDeadAnnounce> .I.Announce(UIDeadAnnounce.ANNOUNCE_TYPE.DEAD, coopClient.GetPlayerName());
                }
            }
            MonoBehaviourSingleton <QuestManager> .I.UpdateExplorePlayerStatus(coopClient, model);
        }
    }
Пример #9
0
    public void ActivatePlayerStatus(CoopClient coopClient)
    {
        ExplorePlayerStatus explorePlayerStatus = GetPlayerStatus(coopClient);

        if (explorePlayerStatus == null)
        {
            bool flag = coopClient is CoopMyClient;
            explorePlayerStatus = new ExplorePlayerStatus(coopClient.userInfo, flag);
            playerStatuses[coopClient.slotIndex] = explorePlayerStatus;
            if (flag)
            {
                selfPlayerStatus = explorePlayerStatus;
            }
        }
        explorePlayerStatus.Activate(coopClient);
        if (this.onChangeExploreMemberList != null)
        {
            this.onChangeExploreMemberList();
        }
    }
 public void Initialize(ExplorePlayerStatus playerStatus)
 {
     //IL_0078: Unknown result type (might be due to invalid IL or missing references)
     if (this.playerStatus != playerStatus)
     {
         Clear();
         this.playerStatus            = playerStatus;
         playerStatus.onUpdateHp     += UpdateHp;
         playerStatus.onUpdateWeapon += UpdateWeapon;
         playerStatus.onUpdateBuff   += UpdateStatusIcon;
     }
     if (playerStatus.isInitialized)
     {
         OnInitializeStatus();
     }
     else
     {
         playerStatus.onInitialize += OnInitializeStatus;
         this.get_gameObject().SetActive(false);
     }
 }
Пример #11
0
    public void RemovePlayerStatus(CoopClient coopClient)
    {
        int num = 0;

        while (true)
        {
            if (num >= 8)
            {
                return;
            }
            ExplorePlayerStatus explorePlayerStatus = playerStatuses[num];
            if (explorePlayerStatus != null && explorePlayerStatus.userId == coopClient.userId)
            {
                break;
            }
            num++;
        }
        playerStatuses[num] = null;
        if (this.onChangeExploreMemberList != null)
        {
            this.onChangeExploreMemberList();
        }
    }