| | |
| | | [SerializeField] FillTween cdTween; |
| | | [SerializeField] Text hammerText; |
| | | |
| | | bool isFirstOpen = true; //首次打开 |
| | | bool isForcePlayFightUIAnim = true; //强制播放战斗锤子框动画 |
| | | |
| | | public static event Action TabChangeEvent; |
| | | protected override void InitComponent() |
| | |
| | | PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh; |
| | | AutoFightModel.Instance.OnFightEvent -= OnSkillCast; |
| | | base.OnPreClose(); |
| | | isForcePlayFightUIAnim = true; |
| | | } |
| | | |
| | | |
| | |
| | | //战斗按钮动画 |
| | | void ClickAnimation(int index) |
| | | { |
| | | if (isFirstOpen || (functionOrder != 0 && index == 0)) |
| | | //强制播放 |
| | | if (isForcePlayFightUIAnim) |
| | | { |
| | | openCloseAnim.onComplete = () => |
| | | { |
| | | openCloseAnim.SetEnabled(true); |
| | | }; |
| | | openCloseAnim.PlayByArrIndex(index == 0 ? 1 : 0); |
| | | |
| | | isForcePlayFightUIAnim = false; |
| | | return; |
| | | } |
| | | |
| | | //切换显示 |
| | | if (functionOrder != 0 && index == 0) |
| | | { |
| | | //切回战斗场景 |
| | | openCloseAnim.onComplete = () => |
| | | { |
| | | openCloseAnim.SetEnabled(true); |
| | | }; |
| | | openCloseAnim.PlayByArrIndex(1); |
| | | isFirstOpen = false; |
| | | |
| | | } |
| | | else if (functionOrder == 0 && index != 0) |
| | | else if (functionOrder <= 0 && index != 0) |
| | | { |
| | | //切出战斗场景 |
| | | openCloseAnim.onComplete = () => |
| | | { |
| | | openCloseAnim.SetEnabled(true); |
| | |
| | | return; |
| | | } |
| | | |
| | | TabChangeEvent?.Invoke(); |
| | | |
| | | ClickAnimation(index); |
| | | // 更新当前选中的标签索引 |
| | | functionOrder = index; |
| | | TabChangeEvent?.Invoke(); |
| | | |
| | | DisplayTopBar(); |
| | | |
| | |
| | | cdTween.SetStartState(); |
| | | cdTween.Play(() => |
| | | { |
| | | AutoFightModel.Instance.fightingHeroSkinID = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid).SkinID; |
| | | fightHeroImg.SetOrgSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon, "HeroHead"); |
| | | var tmpHero = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid); |
| | | if (tmpHero != null) |
| | | { |
| | | AutoFightModel.Instance.fightingHeroSkinID = tmpHero.SkinID; |
| | | fightHeroImg.SetOrgSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon, "HeroHead"); |
| | | } |
| | | }); |
| | | fightHeroScale.SetStartState(); |
| | | fightHeroScale.Play(); |
| | |
| | | |
| | | if (AutoFightModel.Instance.fightingHeroSkinID == 0) |
| | | { |
| | | AutoFightModel.Instance.fightingHeroSkinID = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid).SkinID; |
| | | var tmpHero = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid); |
| | | if (tmpHero != null) |
| | | { |
| | | AutoFightModel.Instance.fightingHeroSkinID = tmpHero.SkinID; |
| | | } |
| | | else |
| | | { |
| | | Debug.LogError("没有找到下一个攻击武将"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | fightHeroImg.SetOrgSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon, "HeroHead"); |
| | |
| | | //外部调用点击功能 |
| | | public void ClickFunc(int functionOrder) |
| | | { |
| | | tabButtons[functionOrder].SelectBtn(); |
| | | tabButtons[functionOrder].onClick.Invoke(); |
| | | } |
| | | |
| | |
| | | { |
| | | if (lastWinOrder == -1) |
| | | { |
| | | lastWinOrder = 0; |
| | | functionOrder = 0; |
| | | } |
| | | else |
| | | { |
| | |
| | | currentSubUI.CloseWindow(); |
| | | currentSubUI = null; |
| | | functionOrder = -1; |
| | | isForcePlayFightUIAnim = true; |
| | | DisplayTopBar(); |
| | | } |
| | | } |
| | |
| | | // 外部恢复子界面 |
| | | public void RestoreSubUI() |
| | | { |
| | | if (functionOrder != -1) |
| | | return; |
| | | if (lastWinOrder == -1) |
| | | { |
| | | lastWinOrder = 0; |