Esempio n. 1
0
 public void ResumeQuestTransferInfo()
 {
     if (questTransferInfo != null)
     {
         intervalTransferInfo     = questTransferInfo.intervalTransferInfo;
         isQuestHappen            = questTransferInfo.isQuestHappen;
         isQuestGate              = questTransferInfo.isQuestGate;
         isQuestPortal            = questTransferInfo.isQuestPortal;
         isGateQuestClear         = questTransferInfo.isGateQuestClear;
         isTransitionFieldToQuest = questTransferInfo.isTransitionFieldToQuest;
         isTransitionQuestToField = questTransferInfo.isTransitionQuestToField;
         isTransitionFieldReentry = questTransferInfo.isTransitionFieldReentry;
         isStoryPortal            = questTransferInfo.isStoryPortal;
         beforePortalID           = questTransferInfo.beforePortalID;
         backTransitionInfo       = questTransferInfo.backTransitionInfo;
         questTransferInfo        = null;
     }
 }
Esempio n. 2
0
    public void OnEndInGameScene()
    {
        dialogOpenInfoList              = new List <UIInGamePopupDialog.Desc>();
        intervalTransferInfo            = null;
        isQuestHappen                   = false;
        isQuestGate                     = false;
        isQuestPortal                   = false;
        isGateQuestClear                = false;
        isTransitionFieldToQuest        = false;
        isTransitionQuestToField        = false;
        isTransitionQuestToFieldExplore = false;
        isTransitionFieldReentry        = false;
        isStoryPortal                   = false;
        isAlreadyBattleStarted          = false;
        beforePortalID                  = 0u;
        backTransitionInfo              = null;
        currentJoinType                 = CoopClient.CLIENT_JOIN_TYPE.NONE;
        MonoBehaviourSingleton <InputManager> .I.SetDisable(INPUT_DISABLE_FACTOR.INGAME_GRAB, false);

        MonoBehaviourSingleton <InputManager> .I.SetDisable(INPUT_DISABLE_FACTOR.INGAME_COMMAND, false);

        ClearAllDrop();
        StopIntervalTransferInfoRemaindTimeUpdate();
    }
Esempio n. 3
0
    public void SetIntervalTransferInfo(bool enable_limit_time, float remaind_time, float elapsed_time, bool transfer_other, bool keep_dead, bool isReentry, bool isQuestToField)
    {
        intervalTransferInfo = new IntervalTransferInfo();
        if (enable_limit_time)
        {
            intervalTransferInfo.remaindTime = remaind_time;
        }
        else
        {
            intervalTransferInfo.remaindTime = -1f;
        }
        intervalTransferInfo.elapsedTime = elapsed_time;
        int i = 0;

        for (int count = MonoBehaviourSingleton <StageObjectManager> .I.playerList.Count; i < count; i++)
        {
            Player player = MonoBehaviourSingleton <StageObjectManager> .I.playerList[i] as Player;
            if (!(player == null) && (transfer_other || player is Self))
            {
                if (!keep_dead && player.hp <= 0)
                {
                    player.hp = 1;
                }
                if (isQuestToField)
                {
                    player.hp = player.hpMax;
                }
                if (MonoBehaviourSingleton <InGameManager> .I.IsRush() && !keep_dead)
                {
                    int currentRushStandupHpPer = MonoBehaviourSingleton <InGameManager> .I.GetCurrentRushStandupHpPer();

                    int num = (int)((float)player.hpMax * ((float)currentRushStandupHpPer / 100f));
                    player.hp = Mathf.Max(player.hp, num);
                }
                IntervalTransferInfo.PlayerInfo playerInfo = new IntervalTransferInfo.PlayerInfo();
                playerInfo.id           = player.id;
                playerInfo.createInfo   = player.createInfo;
                playerInfo.transferInfo = player.CreateTransferInfo();
                if (MonoBehaviourSingleton <InGameManager> .I.IsRush() && !isReentry)
                {
                    int currentRushRescureResetNum = MonoBehaviourSingleton <InGameManager> .I.GetCurrentRushRescureResetNum();

                    if (currentRushRescureResetNum > 0)
                    {
                        playerInfo.transferInfo.rescueCount = Mathf.Max(0, playerInfo.transferInfo.rescueCount - currentRushRescureResetNum);
                    }
                }
                playerInfo.isSelf          = (player is Self);
                playerInfo.coopMode        = player.coopMode;
                playerInfo.coopClientId    = player.coopClientId;
                playerInfo.isNpcController = (player.controller is NpcController);
                playerInfo.isCoopPlayer    = false;
                if (player is Self)
                {
                    Self self = player as Self;
                    if (self != null)
                    {
                        playerInfo.taskChecker = self.taskChecker;
                    }
                }
                if (player.coopClientId != 0 && MonoBehaviourSingleton <CoopManager> .IsValid())
                {
                    CoopClient coopClient = MonoBehaviourSingleton <CoopManager> .I.coopRoom.clients.FindByPlayerId(player.id);

                    if (coopClient != null)
                    {
                        playerInfo.coopClientId = coopClient.clientId;
                        playerInfo.isCoopPlayer = true;
                    }
                }
                intervalTransferInfo.playerInfoList.Add(playerInfo);
            }
        }
    }