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; } }
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(); }
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); } } }