| | |
| | | [SerializeField] Text powerText; |
| | | [SerializeField] OfficialTitleCell officialRankText; |
| | | |
| | | //战斗按钮 |
| | | [SerializeField] Image fightOtherWinBG; //切换其他界面的显示 |
| | | [SerializeField] Image fightOtherWinWarnImg; //切换其他界面 如果是战斗中泛红提示 |
| | | [SerializeField] GameObject fightBG; //战斗界面显示 |
| | | [SerializeField] Image restImg; //休息状态 |
| | | [SerializeField] GameObject fightGo; //战斗状态 |
| | | [SerializeField] Image fightHeroImg; //战斗显示英雄 |
| | | [SerializeField] UIEffectPlayer fightEffect; |
| | | [SerializeField] FillTween cdTween; |
| | | |
| | | |
| | | public Text hammerText; |
| | | |
| | | protected override void InitComponent() |
| | | { |
| | | base.InitComponent(); |
| | | |
| | | |
| | | avatarCell.button.AddListener(() => { }); |
| | | |
| | | } |
| | |
| | | { |
| | | UpdateCurrency(); |
| | | UpdatePlayerInfo(); |
| | | RefreshFightBtn(); |
| | | } |
| | | |
| | | protected override void OnPreOpen() |
| | | { |
| | | PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; |
| | | AutoFightModel.Instance.OnFightEvent += OnSkillCast; |
| | | base.OnPreOpen(); |
| | | |
| | | // 刷新UI |
| | |
| | | protected override void OnPreClose() |
| | | { |
| | | PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh; |
| | | AutoFightModel.Instance.OnFightEvent -= OnSkillCast; |
| | | base.OnPreClose(); |
| | | } |
| | | |
| | |
| | | case PlayerDataType.default26: |
| | | hammerText.text = UIHelper.GetMoneyCnt(41).ToString(); |
| | | break; |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | { |
| | | hammerText.text = UIHelper.GetMoneyCnt(41).ToString(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 底部标签按钮点击 |
| | | /// </summary> |
| | |
| | | } |
| | | SelectBottomTab(index); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 根据标签索引打开对应的子界面 |
| | |
| | | Debug.LogWarning("未知的标签索引: " + functionOrder); |
| | | break; |
| | | } |
| | | |
| | | RefreshFightBtn(); |
| | | } |
| | | |
| | | |
| | | ///战斗按钮显示规则 |
| | | /// 1.在主线战斗界面下: |
| | | /// 1.1.休息状态的按钮 |
| | | /// 1.2.战斗状态的按钮 :显示下一个要攻击的武将头像,按位置顺序推算显示头像;严谨情况下需判断下一个武将是否可攻击如被眩晕等 |
| | | /// 有蒙版:默认显示播放其他战斗的状态,眩晕的状态等比较多(大多是蒙版显示的情况,根据实际看是否需要) |
| | | /// 无蒙版:结束一个小通知的时候(B425)可以释放的去掉蒙版;有怒气的时候是否特殊表现(循环火特效?) |
| | | /// 转圈:点击释放 播放特效且蒙版转圈,转圈结束后显示蒙版 -- 同时上方卡牌播放特效和转圈? |
| | | /// 2.在非主线战斗界面下: |
| | | /// 1. 休息显示关闭状态 无特效 |
| | | /// 2. 战斗中,显示泛红特效 |
| | | /// 上方卡牌 攻击时播放特效和转圈,有怒气的时候显示怒气特效? |
| | | |
| | | |
| | | void RefreshFightBtn() |
| | | { |
| | | if (functionOrder == 0) |
| | | { |
| | | //主城界面 |
| | | fightOtherWinBG.SetActive(false); |
| | | fightBG.SetActive(true); |
| | | |
| | | |
| | | if (BattleManager.Instance.storyBattleField != null && |
| | | BattleManager.Instance.storyBattleField.GetBattleMode() == BattleMode.Stop) |
| | | { |
| | | fightGo.SetActive(false); |
| | | restImg.SetActive(true); |
| | | } |
| | | else |
| | | { |
| | | fightGo.SetActive(true); |
| | | restImg.SetActive(false); |
| | | RefreshFightIng(); |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | //非主城界面 |
| | | fightOtherWinBG.SetActive(true); |
| | | fightBG.SetActive(false); |
| | | if (BattleManager.Instance.storyBattleField != null && |
| | | BattleManager.Instance.storyBattleField.GetBattleMode() == BattleMode.Stop) |
| | | { |
| | | fightOtherWinWarnImg.SetActive(false); |
| | | } |
| | | else |
| | | { |
| | | fightOtherWinWarnImg.SetActive(true); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | void RefreshFightIng(bool isfighting = false) |
| | | { |
| | | if (isfighting) |
| | | { |
| | | // fightEffect.playDelayTime = 50; |
| | | fightEffect.Play(); |
| | | cdTween.SetStartState(); |
| | | cdTween.Play(()=> |
| | | { |
| | | AutoFightModel.Instance.fightingHeroSkinID = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid).SkinID; |
| | | fightHeroImg.SetSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | fightEffect.Stop(); |
| | | cdTween.Stop(); |
| | | cdTween.SetEndState(); |
| | | } |
| | | |
| | | if (AutoFightModel.Instance.fightingHeroSkinID == 0) |
| | | { |
| | | AutoFightModel.Instance.fightingHeroSkinID = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid).SkinID; |
| | | } |
| | | |
| | | fightHeroImg.SetSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon); |
| | | } |
| | | |
| | | void OnSkillCast(bool isfighting) |
| | | { |
| | | |
| | | if (functionOrder != 0) |
| | | return; |
| | | |
| | | if (isfighting) |
| | | { |
| | | RefreshFightIng(isfighting); |
| | | } |
| | | else |
| | | { |
| | | RefreshFightBtn(); |
| | | } |
| | | } |
| | | } |