Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts
| | |
| | | /// </summary> |
| | | /// <param name="name">窗口名称</param> |
| | | /// <param name="functionId">功能ID,用于指定窗口的具体功能或显示模式</param> |
| | | public void Add(string name, bool isNeedHomeWin = true, int functionId = 0) |
| | | public void Add(string name, bool isNeedHomeWin = true, string battleFieldName = "", int functionId = 0) |
| | | { |
| | | var popupWindow = new PopupWindow() |
| | | { |
| | | window = name, |
| | | isNeedHomeWin = isNeedHomeWin, |
| | | battleFieldName = battleFieldName, |
| | | functionId = functionId, |
| | | }; |
| | | |
| | |
| | | if (Time.realtimeSinceStartup - firstTime < stayTime) |
| | | return; |
| | | |
| | | // 只在“没有战斗”和“主线战斗”时允许弹窗 |
| | | // 只在“没有战斗”和“主线战斗”和“自己的战场”时允许弹窗 |
| | | string activeBattleName = BattleManager.Instance.GetActiveBattleName(); |
| | | if (activeBattleName != "" && activeBattleName != "StoryBattleField") |
| | | if (activeBattleName != "" && activeBattleName != "StoryBattleField" && activeBattleName != popupWindowQueue[0].battleFieldName) |
| | | return; |
| | | |
| | | if (UIManager.Instance.IsOpened(popupWindowQueue[0].window)) |
| | |
| | | public int functionId; |
| | | |
| | | public bool isNeedHomeWin; |
| | | public string battleFieldName; |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | base.OnPreOpen(); |
| | | MainWin.TabChangeEvent += OnTabChangeEvent; |
| | | UIManager.Instance.OnOpenWindow += OnOpenWindow; |
| | | bool isOpenBattleChangeTab = IsOpenBattleChangeTab(); |
| | | transButtons.localPosition = new Vector3(0, isOpenBattleChangeTab ? 130 : 0, 0); |
| | | if (isOpenBattleChangeTab) |
| | |
| | | { |
| | | UIManager.Instance.CloseWindow<MainWin>(); |
| | | } |
| | | isClickSkip = false; |
| | | } |
| | | |
| | | protected override void OnPreClose() |
| | | { |
| | | base.OnPreClose(); |
| | | MainWin.TabChangeEvent -= OnTabChangeEvent; |
| | | UIManager.Instance.OnOpenWindow -= OnOpenWindow; |
| | | bool isOpenBattleChangeTab = IsOpenBattleChangeTab(); |
| | | if (isOpenBattleChangeTab) |
| | | { |
| | |
| | | { |
| | | UIManager.Instance.OpenWindow<MainWin>(); |
| | | } |
| | | |
| | | if (isClickSkip) |
| | | { |
| | | isClickSkip = false; |
| | | TryPass(); |
| | | } |
| | | } |
| | | |
| | | void OnOpenWindow(UIBase win) |
| | | { |
| | | if (win is ArenaBattleVictoryWin || win is ArenaBattleFailWin) |
| | | { |
| | | isClickSkip = false; |
| | | } |
| | | } |
| | | bool isClickSkip = false; |
| | | protected override void OnClickPass() |
| | | { |
| | | if (!IsPass()) |
| | | return; |
| | | isClickSkip = true; |
| | | clickTime = Time.time; // 记录点击时间 |
| | | battleField.ForceFinish(); |
| | | } |
| | | |
| | | float stayTime = 2f; |
| | | float clickTime = 0f; |
| | | void LateUpdate() |
| | | { |
| | | if (isClickSkip && Time.time - clickTime >= stayTime) |
| | | { |
| | | isClickSkip = false; |
| | | TryPass(); |
| | | } |
| | | } |
| | | |
| | | private void TryPass() |
| | | { |
| | | if (UIManager.Instance.IsOpened<ArenaBattleVictoryWin>() || |
| | | UIManager.Instance.IsOpened<ArenaBattleFailWin>()) |
| | | return; |
| | | CloseWindow(); |
| | | Debug.LogError($"OnBattleEnd 异常关闭"); |
| | | BattleSettlementManager.Instance.WinShowOver(BattleConst.ArenaBattleField); |
| | | } |
| | | private void OnTabChangeEvent() |
| | | { |
| | | UIManager.Instance.CloseWindow<ArenaBattleWin>(); |
| | |
| | | public bool IsPass() |
| | | { |
| | | if (null == battleField) |
| | | return false; |
| | | return true; |
| | | // 检查是否为永久特权卡玩家 |
| | | bool hasForeverPrivilege = InvestModel.Instance.IsInvested(InvestModel.foreverCardType); |
| | | |
| | | if (!hasForeverPrivilege && !FuncOpen.Instance.IsFuncOpen(BattleManager.Instance.passFuncId, true)) |
| | | string battleFieldName = battleField.ToString(); |
| | | if (!hasForeverPrivilege && !FuncOpen.Instance.IsFuncOpen(BattleManager.Instance.passFuncId)) |
| | | { |
| | | if (battleFieldName != BattleConst.StoryBossBattleField) |
| | | { |
| | | //等级达到20级后解锁或开通终身特权解锁 |
| | | SysNotifyMgr.Instance.ShowTip("BattlePass2"); |
| | | } |
| | | else |
| | | { |
| | | FuncOpen.Instance.ProcessorFuncErrorTip(BattleManager.Instance.passFuncId); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | int passRound = BattleManager.Instance.defaultPassRound; |
| | | var name = battleField.ToString(); |
| | |
| | | int realPassRound = passRound + 1; // 配置是超过x回合可以跳,意味着x+1回合可以跳 |
| | | if (nowRound < realPassRound) |
| | | { |
| | | if (battleFieldName != BattleConst.StoryBossBattleField) |
| | | { |
| | | //%s0回合后可跳过,开通终身特权立即跳过 |
| | | SysNotifyMgr.Instance.ShowTip("BattlePass1", realPassRound - nowRound); |
| | | } |
| | | else |
| | | { |
| | | SysNotifyMgr.Instance.ShowTip("BattlePass", realPassRound - nowRound); |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | } |
| | |
| | | |
| | | IsBattleFinish = true; |
| | | |
| | | |
| | | if (!string.IsNullOrEmpty(guid)) |
| | | { |
| | | Debug.Log($"OnBattleEnd guid {guid}"); |
| | | } |
| | | //提供外部 胜利等奖励显示 |
| | | EventBroadcast.Instance.Broadcast<string, JsonData>(EventName.BATTLE_END, guid, turnFightStateData); |
| | | }); |
| | |
| | | |
| | | UniTaskExtension.DelayTime((GameObject)null, 1f, () => |
| | | { |
| | | if (battleField ==null|| battleField.battleRootNode == null|| battleField.battleRootNode.battleStartNode == null) |
| | | { |
| | | return; |
| | | } |
| | | battleField.battleRootNode.battleStartNode.SetActive(false); |
| | | StartBattleCallback(); |
| | | }); |
| | |
| | | { |
| | | base.OnPreOpen(); |
| | | MainWin.TabChangeEvent += OnTabChangeEvent; |
| | | UIManager.Instance.OnOpenWindow += OnOpenWindow; |
| | | bool isOpenBattleChangeTab = IsOpenBattleChangeTab(); |
| | | transButtons.localPosition = new Vector3(0, isOpenBattleChangeTab ? 130 : 0, 0); |
| | | if (isOpenBattleChangeTab) |
| | |
| | | { |
| | | UIManager.Instance.CloseWindow<MainWin>(); |
| | | } |
| | | isClickSkip = false; |
| | | } |
| | | |
| | | protected override void OnPreClose() |
| | |
| | | base.OnPreClose(); |
| | | |
| | | MainWin.TabChangeEvent -= OnTabChangeEvent; |
| | | UIManager.Instance.OnOpenWindow -= OnOpenWindow; |
| | | bool isOpenBattleChangeTab = IsOpenBattleChangeTab(); |
| | | if (isOpenBattleChangeTab) |
| | | { |
| | |
| | | bossBattleObject = null; |
| | | } |
| | | |
| | | if (isClickSkip) |
| | | { |
| | | isClickSkip = false; |
| | | TryPass(); |
| | | } |
| | | } |
| | | |
| | | void OnOpenWindow(UIBase win) |
| | | { |
| | | if (win is BoneBattleVictoryWin || win is BoneBattleFailWin) |
| | | { |
| | | isClickSkip = false; |
| | | } |
| | | } |
| | | |
| | | bool isClickSkip = false; |
| | | protected override void OnClickPass() |
| | | { |
| | | if (!IsPass()) |
| | | return; |
| | | isClickSkip = true; |
| | | clickTime = Time.time; // 记录点击时间 |
| | | battleField.ForceFinish(); |
| | | |
| | | } |
| | | |
| | | float stayTime = 2f; |
| | | float clickTime = 0f; |
| | | void LateUpdate() |
| | | { |
| | | if (isClickSkip && Time.time - clickTime >= stayTime) |
| | | { |
| | | isClickSkip = false; |
| | | TryPass(); |
| | | } |
| | | } |
| | | |
| | | private void TryPass() |
| | | { |
| | | if (UIManager.Instance.IsOpened<BoneBattleVictoryWin>() || |
| | | UIManager.Instance.IsOpened<BoneBattleFailWin>()) |
| | | return; |
| | | CloseWindow(); |
| | | Debug.LogError($"OnBattleEnd 异常关闭"); |
| | | BattleSettlementManager.Instance.WinShowOver(BattleConst.BoneBattleField); |
| | | |
| | | } |
| | | private void OnTabChangeEvent() |
| | | { |
| | | UIManager.Instance.CloseWindow<BoneFieldBattleWin>(); |
| | |
| | | using System.Collections.Generic; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using UnityEngine.UI; |
| | | |
| | |
| | | protected override void OnPreOpen() |
| | | { |
| | | base.OnPreOpen(); |
| | | |
| | | UIManager.Instance.OnOpenWindow += OnOpenWindow; |
| | | UIManager.Instance.CloseWindow<MainWin>(); |
| | | isClickSkip = false; |
| | | } |
| | | |
| | | protected override void OnPreClose() |
| | | { |
| | | base.OnPreClose(); |
| | | |
| | | UIManager.Instance.OnOpenWindow -= OnOpenWindow; |
| | | if (!UIManager.Instance.IsOpened<MainWin>()) |
| | | UIManager.Instance.OpenWindow<MainWin>(); |
| | | |
| | |
| | | bossBattleObject.buffMgr.onBuffChanged -= OnBuffChanged; |
| | | bossBattleObject = null; |
| | | } |
| | | |
| | | if (isClickSkip) |
| | | { |
| | | isClickSkip = false; |
| | | TryPass(); |
| | | } |
| | | } |
| | | |
| | | bool isClickSkip = false; |
| | | protected override void OnClickPass() |
| | | { |
| | | if (!IsPass()) |
| | | return; |
| | | isClickSkip = true; |
| | | clickTime = Time.time; // 记录点击时间 |
| | | battleField.ForceFinish(); |
| | | } |
| | | |
| | | void OnOpenWindow(UIBase win) |
| | | { |
| | | if (win is BattleVictoryWin || win is BattleFailWin) |
| | | { |
| | | isClickSkip = false; |
| | | } |
| | | } |
| | | |
| | | float stayTime = 2f; |
| | | float clickTime = 0f; |
| | | void LateUpdate() |
| | | { |
| | | if (isClickSkip && Time.time - clickTime >= stayTime) |
| | | { |
| | | isClickSkip = false; |
| | | TryPass(); |
| | | } |
| | | } |
| | | |
| | | private void TryPass() |
| | | { |
| | | if (UIManager.Instance.IsOpened<BattleVictoryWin>() || |
| | | UIManager.Instance.IsOpened<BattleFailWin>()) |
| | | return; |
| | | CloseWindow(); |
| | | Debug.LogError($"OnBattleEnd 异常关闭"); |
| | | BattleSettlementManager.Instance.WinShowOver(BattleConst.StoryBossBattleField); |
| | | } |
| | | protected override void OnCreateBattleField(string guid, BattleField field) |
| | | { |
| | | if (field is StoryBossBattleField) |
| | |
| | | TianziBillboradManager.Instance.OnUpdateBarInfoEvent += OnUpdateBarInfoEvent; |
| | | TianziBillboradManager.Instance.PlayUiEffectAction += OnPlayUiEffectAction; |
| | | MainWin.TabChangeEvent += OnTabChangeEvent; |
| | | UIManager.Instance.OnOpenWindow += OnOpenWindow; |
| | | bool isOpenBattleChangeTab = IsOpenBattleChangeTab(); |
| | | transButtons.localPosition = new Vector3(0, isOpenBattleChangeTab ? 130 : 0, 0); |
| | | if (isOpenBattleChangeTab) |
| | |
| | | TianziBillboradManager.Instance.OnUpdateBarInfoEvent -= OnUpdateBarInfoEvent; |
| | | TianziBillboradManager.Instance.PlayUiEffectAction -= OnPlayUiEffectAction; |
| | | MainWin.TabChangeEvent -= OnTabChangeEvent; |
| | | UIManager.Instance.OnOpenWindow -= OnOpenWindow; |
| | | bool isOpenBattleChangeTab = IsOpenBattleChangeTab(); |
| | | if (isOpenBattleChangeTab) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | void OnOpenWindow(UIBase win) |
| | | { |
| | | if (win is TianziBillboradVictoryWin) |
| | | { |
| | | isClickSkip = false; |
| | | } |
| | | } |
| | | |
| | | bool isClickSkip = false; |
| | | protected override void OnClickPass() |
| | | { |
| | | if (!IsPass()) |
| | | return; |
| | | battleField.ForceFinish(); |
| | | isClickSkip = true; |
| | | clickTime = Time.time; // 记录点击时间 |
| | | battleField.ForceFinish(); |
| | | |
| | | } |
| | | |
| | | float stayTime = 2f; |
| | |
| | | |
| | | private void TryPass() |
| | | { |
| | | if (!UIManager.Instance.IsOpened<TianziBillboradVictoryWin>()) |
| | | { |
| | | if (UIManager.Instance.IsOpened<TianziBillboradVictoryWin>()) |
| | | return; |
| | | CloseWindow(); |
| | | Debug.LogError($"OnBattleEnd 异常关闭"); |
| | | BattleSettlementManager.Instance.WinShowOver(BattleConst.TianziBillboradBattleField); |
| | | TianziBillboradManager.Instance.isSweepVictory = false; |
| | | } |
| | | } |
| | | |
| | | private void OnUpdateBarInfoEvent(ulong loaclNowHunt, ulong loaclMaxHp, int loaclHpNum) |
| | |
| | | switch (battleName) |
| | | { |
| | | case BattleConst.ArenaBattleField: |
| | | PopupWindowsProcessor.Instance.Add(isWin ? "ArenaBattleVictoryWin" : "ArenaBattleFailWin", false); |
| | | PopupWindowsProcessor.Instance.Add(isWin ? "ArenaBattleVictoryWin" : "ArenaBattleFailWin", false, BattleConst.ArenaBattleField); |
| | | break; |
| | | case BattleConst.BoneBattleField: |
| | | PopupWindowsProcessor.Instance.Add(isWin ? "BoneBattleVictoryWin" : "BoneBattleFailWin", false); |
| | | PopupWindowsProcessor.Instance.Add(isWin ? "BoneBattleVictoryWin" : "BoneBattleFailWin", false, BattleConst.BoneBattleField); |
| | | break; |
| | | case BattleConst.TianziBillboradBattleField: |
| | | PopupWindowsProcessor.Instance.Add("TianziBillboradVictoryWin", false); |
| | | PopupWindowsProcessor.Instance.Add("TianziBillboradVictoryWin", false, BattleConst.TianziBillboradBattleField); |
| | | break; |
| | | default: |
| | | PopupWindowsProcessor.Instance.Add(isWin ? "BattleVictoryWin" : "BattleFailWin", false); |
| | | PopupWindowsProcessor.Instance.Add(isWin ? "BattleVictoryWin" : "BattleFailWin", false, BattleConst.StoryBossBattleField); |
| | | break; |
| | | } |
| | | } |
| | |
| | | { |
| | | if (string.Empty == _guid) |
| | | return; |
| | | Debug.Log($"OnBattleEnd 结算 guid {_guid}"); |
| | | var battle = BattleManager.Instance.GetBattleField(_guid); |
| | | if (battle == null) |
| | | return; |
| | | var battleName = battle.ToString(); |
| | | try |
| | | { |
| | | battleSettlementDic[battleName] = _data; |
| | | if (battleAwardDic.ContainsKey(battleName)) |
| | | { |
| | |
| | | _data[key] = extendData[key]; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Debug.LogError(e.ToString()); |
| | | } |
| | | |
| | | |
| | | string activeBattleName = BattleManager.Instance.GetActiveBattleName(); |
| | | |