1511 lines
59 KiB
C#
1511 lines
59 KiB
C#
using cfg.CharacterCfg;
|
||
using cfg.SkillCfg;
|
||
using Cysharp.Threading.Tasks;
|
||
using Framework;
|
||
using Gameplay;
|
||
using Gameplay.Character.Utils;
|
||
using Gameplay.Guide;
|
||
using Gameplay.Net;
|
||
using NLDPB;
|
||
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using TMPro;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
using Button = UnityEngine.UI.Button;
|
||
using Image = UnityEngine.UI.Image;
|
||
|
||
public class UI_CultivateController : UIWindow
|
||
{
|
||
#region UI
|
||
//UI GameObj
|
||
///Auto Gen Start///
|
||
public Image Image_CultivateBG;
|
||
public Image Image_UnderDark;
|
||
public Image Image_Book;
|
||
public Image Image_Document;
|
||
public Image Image_BookShadow;
|
||
public Image Image_Line;
|
||
//public Image Image_BG;
|
||
//public Button Button_Back;
|
||
public Button Button_back;
|
||
public TMP_Text Text_Back;
|
||
public Button Button_Home;
|
||
public Image Image_Cultivate_BG_Black;
|
||
public Image Image_Black;
|
||
public Image Image_Poster00;
|
||
public Image Image_BG_Rect;
|
||
public Button Button_Look;
|
||
public Button Button_ChangeSuit;
|
||
public Image Image_CommandCostSign;
|
||
public TMP_Text Text_CommandCost;
|
||
public Image Image_GroupLogo;
|
||
public Image Image_CharacterRegion;
|
||
public Image Image_Blow_Shadow;
|
||
public Image Image_BottomDark;
|
||
public Image Image_NameInfo;
|
||
public Image Image_Profession_Logo;
|
||
public TMP_Text Text_CharacterName;
|
||
public TMP_Text Text_RussiaName;
|
||
public Button Button_LevelPlus;
|
||
public Image Image_LevelBar;
|
||
public Image Image_Level_Arrow;
|
||
public TMP_Text Text_Level_Max;
|
||
public TMP_Text Text_Exp_Now;
|
||
public TMP_Text Text_Level_Now;
|
||
public Button Button_LevelPlusLimited;
|
||
public Image Image_NeedRankUp;
|
||
public Image Image_LevelBar_Max;
|
||
public TMP_Text Text_Level_Now_Full;
|
||
public TMP_Text Text_Level_Max_Full;
|
||
public Image Image_AdvanceLevel;
|
||
public Image Image_Advance01;
|
||
public Image Image_Advance02;
|
||
public Image Image_Advance03;
|
||
public Image Image_Advance04;
|
||
public TMP_Text Text_Advance;
|
||
public TMP_Text Text_AdvanceName;
|
||
public Image Image_RankLevel;
|
||
public Image Image_Rank_01;
|
||
public Image Image_Rank_02;
|
||
public Image Image_Rank_03;
|
||
public Image Image_Rank_04;
|
||
public TMP_Text Text_Rank;
|
||
public TMP_Text Text_RankName;
|
||
public Button Button_RankPlus;
|
||
public Image Image_UI_Cultivate_ActiveSkill;
|
||
public Image Image_SkillLogo;
|
||
public Image Image_UI_SkillCd;
|
||
public TMP_Text Text_CDSecond;
|
||
public TMP_Text Text_CDTme;
|
||
public Image Image_Max;
|
||
//public Button Button_ActiveSK_Arrow;
|
||
public Button Button_SkillPlus;
|
||
public TMP_Text Text_ActiveSkill;
|
||
public TMP_Text Text_ActiveSkillName;
|
||
public TMP_Text Text_PassiveSkill;
|
||
public TMP_Text Text_Class;
|
||
public TMP_Text Text_Class_Value;
|
||
public Image Image_UI_Cultivate_ActiveSkill_Open;
|
||
//public Button Button_ActiveSK_ArrowClose;
|
||
public Image Image_Max_Open;
|
||
public Image Image_SkillLogo_Open;
|
||
public Image Image_SkillCd_Open;
|
||
public TMP_Text Text_CDTme_Open;
|
||
public TMP_Text Text_CDSecond_Open;
|
||
public Button Button_SkillPlus_Open;
|
||
public TMP_Text Text_ActiveSkill_Open;
|
||
public TMP_Text Text_ActiveSkillName_Open;
|
||
public TMP_Text Text_ActiveSkill_Info;
|
||
public TMP_Text Text_PassiveSkill_Open;
|
||
public TMP_Text Text_Class_Open;
|
||
public TMP_Text Text_Class_Value_Open;
|
||
public Image Image_PersonalAttri;
|
||
public TMP_Text Text_PersonalAttri;
|
||
public Button Button_AttributeInfo;
|
||
public TMP_Text Text_PersonalAttriDetail;
|
||
public Image Image_AttriHp;
|
||
public TMP_Text Text_AttriHp;
|
||
public TMP_Text Text_AttriHpNumber;
|
||
public Image Image_AttriShiled;
|
||
public TMP_Text Text_AttriShiled;
|
||
public TMP_Text Text_AttriShiledfNumber;
|
||
public Image Image_AttriProficiency;
|
||
public TMP_Text Text_AttriProfi;
|
||
public TMP_Text Text_AttriProfiNumber;
|
||
public Image Image_AttriSolider;
|
||
public TMP_Text Text_AttriSoli;
|
||
public TMP_Text Text_AttriSoliNumber;
|
||
public Image Image_AttriDefend;
|
||
public TMP_Text Text_AttriDef;
|
||
public TMP_Text Text_AttriDefNumber;
|
||
public Image Image_AttriMoveSpeed;
|
||
public TMP_Text Text_AttriMove;
|
||
public TMP_Text Text_AttriMoveNumber;
|
||
public Image Image_AttriBelong;
|
||
public TMP_Text Text_AttriBelong;
|
||
public Image Image_AttriWeapon;
|
||
public TMP_Text Text_AttriWeapom;
|
||
public Image Image_AttriBulletAttack;
|
||
public TMP_Text Text_AttriBulletAttack;
|
||
public Image Image_AttriBulletCapacity;
|
||
public TMP_Text Text_AttriBulletCapacity;
|
||
public Image Image_AttriBulletRadious;
|
||
public PhxhSDK.PhxhScrollView ScrollView_DistanceScale;
|
||
public Image Image_Favor;
|
||
public Image Image_FavorIconBg;
|
||
public Image Image_FavorIcon;
|
||
public TMP_Text Text_Favor;
|
||
public TMP_Text Text_FavorNumber;
|
||
public TMP_Text Text_FavorRankNumber;
|
||
public Image Image_Commander;
|
||
public TMP_Text Text_Commander;
|
||
public Image Image_DarkTop;
|
||
public Image Image_DarkBottomThin;
|
||
public Image Image_DarkLeft;
|
||
public Image Image_DarkRight;
|
||
public Image Image_TopBlackBar;
|
||
public Image Image_BottomBlackBar;
|
||
|
||
///Auto Gen End///
|
||
|
||
#endregion
|
||
|
||
UILeftCharanterUIType mCurLeftUICharacterType = UILeftCharanterUIType.EbaseAttri;
|
||
|
||
List<CharacterDataInfo> characterDataInfos = new List<CharacterDataInfo>();
|
||
CharacterDataInfo mCurCharaData;
|
||
int mCurIndex = 0;//当前人物索引
|
||
CharacterLevelExp LevelExpCfg;
|
||
CharacterAttri characterAttriCfg;
|
||
CharacterBreak characterBreakCfg;
|
||
FactionAttri factionAttriCfg;
|
||
JobAttri jobAttriCfg;
|
||
SkillConfig skillConfig;
|
||
DataSkill nowSkillCfg;
|
||
CharacterSkillLevel characterSkillLevelCfg;
|
||
Image character2dPic;
|
||
|
||
float ArrowRadius;
|
||
|
||
public List<Image> advanceImageList;
|
||
|
||
public List<Image> rankImageList;
|
||
|
||
public TMP_Text Text_PassiveSkillName01;
|
||
public TMP_Text Text_PassiveSkillName02;
|
||
|
||
//public TMP_Text Text_ActiveSkill_InfoOpen;
|
||
|
||
public TMP_Text Text_PassiveSkillName01_Info;
|
||
public TMP_Text Text_PassiveSkill01_NextLevel;
|
||
public TMP_Text Text_PassiveSkillName02_Info;
|
||
public TMP_Text Text_PassiveSkill02_NextLevel;
|
||
|
||
public Button Button_Awake;
|
||
public Button Button_SkillLevelUp;
|
||
|
||
|
||
//滑动动画完成,允许左右滑动
|
||
private bool IsCanChange = false;
|
||
|
||
//保证只注册一次
|
||
private bool isRegisterInput = false;
|
||
|
||
private bool isShowParticleAnim = false;
|
||
|
||
//private UI_Cultivate_DetailController detailWindow;
|
||
//private UI_Cultivate_ProAndInfoController proAndInfoWindow;
|
||
|
||
private GameObject UI_Cultivate_LevelObj;
|
||
private GameObject Image_AdvanceLevelObj;
|
||
private GameObject Image_RankLevelObj;
|
||
private GameObject UI_Cultivate_ActSkObj;
|
||
|
||
public enum UIRightCharanterUIType
|
||
{
|
||
ElevelUp,
|
||
EskillsHeighten,
|
||
Ebreak,
|
||
Eawake,
|
||
Efavorable,
|
||
ENone,
|
||
}
|
||
public enum UILeftCharanterUIType
|
||
{
|
||
/// <summary>
|
||
/// 角色基础属性
|
||
/// </summary>
|
||
EbaseAttri,
|
||
/// <summary>
|
||
/// 角色详细属性
|
||
/// </summary>
|
||
EDetailInfo,
|
||
|
||
}
|
||
public override void PreLoad(object data = null)
|
||
{
|
||
base.PreLoad(data);
|
||
|
||
//#region 子UI预加载
|
||
//proAndInfoWindow = await UIManager.Instance.LoadWindow(UINameConst.UI_Cultivate_ProAndInfo) as UI_Cultivate_ProAndInfoController;
|
||
//detailWindow = await UIManager.Instance.LoadWindow(UINameConst.UI_Cultivate_Detail) as UI_Cultivate_DetailController;
|
||
//#endregion
|
||
|
||
UISelectCharacterController.CultivateStruct info = data as UISelectCharacterController.CultivateStruct;
|
||
if (info != null)
|
||
{
|
||
isShowParticleAnim = info.showAnim;
|
||
}
|
||
}
|
||
|
||
public override void OnInit()
|
||
{
|
||
UI_CultivateBinder.GetComponents(this);
|
||
//BindButton("UIFighterCiltivateAllBtn/Button_BasicInfo", OnButton_BasicInfoClick);
|
||
//BindButton("UIFighterCiltivateAllBtn/Button_SkillsHeighten", OnButton_SkillsHeightenClick);
|
||
//BindButton("UIFighterCiltivateAllBtn/Button_Break", OnButton_BreakClick);
|
||
//BindButton("UIFighterCiltivateAllBtn/Button_Awake", OnButton_AwakeClick);
|
||
//BindButton("UIFighterCiltivateAllBtn/Button_Favorable", OnButton_FavoClick);
|
||
//BindButton("Image_BG/Image_Cultivate_BG_Black/Button_Look", OnButton_LookClick);
|
||
|
||
character2dPic = GetComponent<Image>("Image_BG/Image_Cultivate_BG_Black/Hide/Image_Poster00");
|
||
//Image_Profession_Logo = GetComponent<Image>("Image_BG/Image_NameInfo/Image_Profession_Logo");
|
||
//Text_CharacterName = GetComponent<TMP_Text>("Image_BG/Image_NameInfo/Text_CharacterName");
|
||
//Text_CommandCost = GetComponent<TMP_Text>("Image_BG/Image_Cultivate_BG_Black/Text_CommandCost");
|
||
//Text_Level_Now_Full = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_Level/ImageUI_Level_Max/Text_Level_Now_Full");
|
||
//Text_Level_Max_Full = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_Level/ImageUI_Level_Max/Text_Level_Max_Full");
|
||
//Text_Level_Now = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level/Text_Level_Now");
|
||
//Text_Level_Max = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level/Text_Level_Max");
|
||
//Text_Exp_Now = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level/Text_Exp_Now");
|
||
//Image_LevelBar = GetComponent<Image>("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level/Image_LevelBar");
|
||
//Button_LevelPlus = GetComponent<Button>("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level/Button_LevelPlus");
|
||
//Button_LevelPlusLimited = GetComponent<Button>("Image_BG/UI_Cultivate_Level/ImageUI_Level_Max/Button_LevelPlusLimited");
|
||
//Image_Level_Arrow = GetComponent<Image>("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level/Image_LevelBar/Image_Level_Arrow");
|
||
ArrowRadius = -Image_Level_Arrow.GetComponent<RectTransform>().anchoredPosition.y;
|
||
//Text_Level_Now = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level/Text_Level_Now");
|
||
//Text_Level_Max = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level/Text_Level_Max");
|
||
//Image_LevelBar_Max = GetComponent<Image>("Image_BG/UI_Cultivate_Level/ImageUI_Level_Max/Image_LevelBar_Max");
|
||
BindButton(Button_LevelPlus, OnButton_LevelUpClick);
|
||
BindButton(Button_LevelPlusLimited, OnButton_RankPlusClick);
|
||
//Image_AdvanceLevel = GetComponent<Image>("Image_BG/Image_AdvanceLevel");
|
||
//Image_Advance01 = GetComponent<Image>("Image_BG/Image_AdvanceLevel/Image_Advance01");
|
||
//Image_Advance02 = GetComponent<Image>("Image_BG/Image_AdvanceLevel/Image_Advance02");
|
||
//Image_Advance03 = GetComponent<Image>("Image_BG/Image_AdvanceLevel/Image_Advance03");
|
||
//Image_Advance04 = GetComponent<Image>("Image_BG/Image_AdvanceLevel/Image_Advance04");
|
||
//Text_Advance = GetComponent<TMP_Text>("Image_BG/Image_AdvanceLevel/Text_Advance");
|
||
//Text_AdvanceName = GetComponent<TMP_Text>("Image_BG/Image_AdvanceLevel/Text_AdvanceName");
|
||
advanceImageList = new List<Image>
|
||
{
|
||
Image_Advance01,
|
||
Image_Advance02,
|
||
Image_Advance03,
|
||
Image_Advance04
|
||
};
|
||
//Image_RankLevel = GetComponent<Image>("Image_BG/Image_RankLevel");
|
||
//Button_RankPlus = GetComponent<Button>("Image_BG/Image_RankLevel/Button_RankPlus");
|
||
//Image_Rank_01 = GetComponent<Image>("Image_BG/Image_RankLevel/Image_Rank_01");
|
||
//Image_Rank_02 = GetComponent<Image>("Image_BG/Image_RankLevel/Image_Rank_02");
|
||
//Image_Rank_03 = GetComponent<Image>("Image_BG/Image_RankLevel/Image_Rank_03");
|
||
//Image_Rank_04 = GetComponent<Image>("Image_BG/Image_RankLevel/Image_Rank_04");
|
||
//Text_Rank = GetComponent<TMP_Text>("Image_BG/Image_RankLevel/Text_Rank");
|
||
//Text_RankName = GetComponent<TMP_Text>("Image_BG/Image_RankLevel/Text_RankName");
|
||
rankImageList = new List<Image>
|
||
{
|
||
Image_Rank_01,
|
||
Image_Rank_02,
|
||
Image_Rank_03,
|
||
Image_Rank_04
|
||
};
|
||
//Image_UI_Cultivate_ActiveSkill = GetComponent<Image>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill");
|
||
//Image_SkillLogo = GetComponent<Image>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Image_SkillLogo");
|
||
//Image_UI_SkillCd = GetComponent<Image>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Image_SkillLogo/Image_UI_SkillCd");
|
||
//Text_CDSecond = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Image_SkillLogo/Image_UI_SkillCd/Text_CDSecond");
|
||
//Text_CDTme = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Image_SkillLogo/Image_UI_SkillCd/Text_CDTme");
|
||
//Button_SkillPlus = GetComponent<Button>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Button_SkillPlus");
|
||
//Text_ActiveSkill = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Text_ActiveSkill");
|
||
//Text_ActiveSkillName = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Text_ActiveSkillName");
|
||
//Text_PassiveSkill = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Text_PassiveSkill");
|
||
//Image_UI_Cultivate_ActiveSkill_Open = GetComponent<Image>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open");
|
||
//Image_Max = GetComponent<Image>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Image_Max");
|
||
//Image_SkillLogo_Open = GetComponent<Image>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open/Image_SkillLogo_Open");
|
||
//Image_SkillCd_Open = GetComponent<Image>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open/Image_SkillLogo_Open/Image_SkillCd_Open");
|
||
//Text_CDTmeOpen = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open/Image_SkillLogo_Open/Image_SkillCd_Open/Text_CDTme");
|
||
//Text_CDSecond = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open/Image_SkillLogo_Open/Image_SkillCd_Open/Text_CDSecond");
|
||
//Button_SkillPlus_Open = GetComponent<Button>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open/Button_SkillPlus_Open");
|
||
//Text_ActiveSkill = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Text_ActiveSkill");
|
||
//Text_ActiveSkillNameOpen = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open/Text_ActiveSkillName");
|
||
//Text_ActiveSkill_InfoOpen = GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open/Text_ActiveSkill_Info");
|
||
//BindButton(Button_ActiveSK_Arrow, OnButton_ActiveSK_ArrowClick);
|
||
BindButton(Button_SkillPlus, OnButton_SkillPlusClick);
|
||
BindButton(Button_SkillPlus_Open, OnButton_SkillPlusClick);
|
||
//Button_Back = GetComponent<Button>("Image_BG/Button_Back/Button_back");
|
||
BindButton(Button_back, OnButton_BackClick);
|
||
//Button_Look = GetComponent<Button>("Image_BG/Image_Cultivate_BG_Black/Button_Look");
|
||
//Button_ChangeSuit = GetComponent<Button>("Image_BG/Image_Cultivate_BG_Black/Button_ChangeSuit");
|
||
BindButton(Button_AttributeInfo, OnButton_AttriClick);
|
||
BindButton(Button_Look, OnButton_LookClick);
|
||
BindButton(Button_RankPlus, OnButton_RankPlusClick);
|
||
BindButton(Button_ChangeSuit, OnButton_ChangeSuit);
|
||
Button_Awake = GetComponent<Button>("Image_BG/Image_AdvanceLevel/AwakePlusBtn");
|
||
BindButton(Button_Awake, OnButton_Awake);
|
||
//BindButton(Button_ActiveSK_ArrowClose, OnButton_ActiveSK_ArrowCloseClick);
|
||
FindObj("Image_BG/Image_GroupLogo");
|
||
BindButton(GetComponent<Button>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/EmptyButton"),
|
||
OnButton_ActiveSK_ArrowClick);
|
||
BindButton(GetComponent<Button>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open/EmptyButton"),
|
||
OnButton_ActiveSK_ArrowCloseClick);
|
||
UI_Cultivate_LevelObj = FindObj("Image_BG/UI_Cultivate_Level");
|
||
Image_AdvanceLevelObj = FindObj("Image_BG/Image_AdvanceLevel");
|
||
Image_RankLevelObj = FindObj("Image_BG/Image_RankLevel");
|
||
UI_Cultivate_ActSkObj = FindObj("Image_BG/UI_Cultivate_ActSk");
|
||
Button_Home = GetComponent<Button>("Image_BG/Button_Back/Button_Home");
|
||
BindButton(Button_Home, OnClickHome);
|
||
|
||
RegisterEvent();
|
||
|
||
if (!isShowParticleAnim)
|
||
{
|
||
FindObj("Image_CultivateBG/grow_heidishan").SetActive(false);
|
||
}
|
||
PlayFx();
|
||
}
|
||
|
||
|
||
protected override void OnShowWindow(object info = null)
|
||
{
|
||
|
||
//Button_Look.gameObject.SetActive(false);
|
||
//Button_ChangeSuit.gameObject.SetActive(false);
|
||
|
||
UISelectCharacterController.CultivateStruct newInfo = info as UISelectCharacterController.CultivateStruct;
|
||
if (newInfo != null)
|
||
{
|
||
SetCharaInfoInOpen(newInfo.info, newInfo.showList);
|
||
for (int i = 0; i < newInfo.showList.Count; i++)
|
||
{
|
||
if (newInfo.showList[i].ID == newInfo.info.ID)
|
||
{
|
||
mCurIndex = i;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
ControllInput(true);
|
||
RefreshActiveSkillBtn(false);
|
||
|
||
}
|
||
|
||
private async void PlayFx()
|
||
{
|
||
RefreshActiveSkillBtn(false);//动画播放时默认关闭技能详情界面
|
||
if (isShowParticleAnim)
|
||
AudioManager.Instance.PlayAudio(Framework.Constants.Sound.SELECT_CHARACTER);
|
||
|
||
PlayAnimation(GetComponent<Animator>(("Image_CultivateBG")), "MainDefault Animation");
|
||
PlayAnimation(GetComponent<Animator>(), "Line And Document Animation");
|
||
GetComponent<Animator>().speed = 0;
|
||
GetComponent<Animator>().Update(0);
|
||
UI_Cultivate_LevelObj.SetActive(false);
|
||
Image_AdvanceLevelObj.SetActive(false);
|
||
Image_RankLevelObj.SetActive(false);
|
||
UI_Cultivate_ActSkObj.SetActive(false);
|
||
FindObj("Image_BG/Image_NameInfo").SetActive(false);
|
||
|
||
await WaitTimeForFx();
|
||
//StartCoroutine(_coroutine);
|
||
|
||
}
|
||
|
||
private async UniTask WaitTimeForFx()
|
||
{
|
||
await UniTask.Delay(isShowParticleAnim ? 1000 : 10);
|
||
|
||
if (!IsShow() || !IsCreated())
|
||
{
|
||
return;
|
||
}
|
||
OpenLeftChildUI(mCurLeftUICharacterType);
|
||
|
||
UI_Cultivate_LevelObj.SetActive(true);
|
||
Image_AdvanceLevelObj.SetActive(true);
|
||
Image_RankLevelObj.SetActive(true);
|
||
UI_Cultivate_ActSkObj.SetActive(true);
|
||
FindObj("Image_BG/Image_NameInfo").SetActive(true);
|
||
|
||
Animator animator = GetComponent<Animator>();
|
||
PlayAnimation(animator, "MoveIn");
|
||
|
||
//PlayAnimation(GetComponent<Animator>(("Image_BG/UI_Cultivate_Level")), "Cultivate_LevelChangeIn");
|
||
//PlayAnimation(GetComponent<Animator>(("Image_BG/Image_AdvanceLevel")), "Advance_ChangeIn");
|
||
//PlayAnimation(GetComponent<Animator>(("Image_BG/Image_RankLevel")), "Rank_LevelChangeIn");
|
||
//PlayAnimation(GetComponent<Animator>(("Image_BG/UI_Cultivate_ActSk")), "ActSk_ChangeIn");
|
||
//PlayAnimation(GetComponent<Animator>(("Image_CultivateBG")), "MainDefault Animation");
|
||
|
||
this.GetComponent<Animator>().speed = 1;
|
||
|
||
PlayAnimation(animator, "Line And Document Animation");
|
||
FindObj("Image_CultivateBG/grow_heidishan").SetActive(false);
|
||
//Button_Look.gameObject.SetActive(true);
|
||
//Button_ChangeSuit.gameObject.SetActive(true);
|
||
|
||
while (animator != null && animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1f)
|
||
{
|
||
await UniTask.Yield();
|
||
}
|
||
if (animator == null)
|
||
{
|
||
DebugUtil.LogWarning("animator is null! 可能是由于动画未完成提前关闭了界面导致");
|
||
return;
|
||
}
|
||
|
||
EventManager.Instance.Send(EventManager.EventName.UIOpenAndAnim, WindowName);
|
||
}
|
||
|
||
private void OnFingleSwipe(Vector2 delta)
|
||
{
|
||
if (GuideManager.Instance.IsGuiding)
|
||
return;
|
||
|
||
if (!IsCanChange)
|
||
{
|
||
return;
|
||
}
|
||
if (delta.x > 25)
|
||
{
|
||
OnButton_LeftArrowsClick();
|
||
IsCanChange = false;
|
||
}//finger drag from left to right
|
||
//此时符合拖拽实际效果的应该是向左翻页
|
||
|
||
else if (delta.x < -25)
|
||
{
|
||
OnButton_RightArrowsClick();
|
||
IsCanChange = false;
|
||
}//finger drag from right to left
|
||
//此时符合拖拽实际效果的应该是向右翻页
|
||
}
|
||
|
||
|
||
//public bool DetectSwipeLeft()
|
||
//{
|
||
// return fingerDownPosition.x - fingerUpPosition.x > 50f; // 调整阈值以适应您的需求
|
||
//}
|
||
//public bool DetectSwipeRight()
|
||
//{
|
||
// return fingerUpPosition.x - fingerDownPosition.x > 50f; // 调整阈值以适应您的需求
|
||
//}
|
||
|
||
|
||
public override async UniTask<bool> OnBack(object data = null)
|
||
{
|
||
ClosePreloadChildUI();
|
||
CloseWindow();
|
||
return true;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 关闭预加载的子UI,由于需要保证动画同步,请与界面CloseWindow同时调用
|
||
/// </summary>
|
||
void ClosePreloadChildUI()
|
||
{
|
||
//CloseLeftCurChildUI();
|
||
UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_ProAndInfo);
|
||
UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_Detail);
|
||
}
|
||
private void RegisterEvent()
|
||
{
|
||
EventManager.Instance.Register(EventManager.EventName.EN_CharacterLevelUp, (Action<UpgradeType>)OnCharacterLevelup);
|
||
EventManager.Instance.Register(EventManager.EventName.EN_ShowAllCharacterOpenDetailUI, OnRecvEventOpenDetailUI);
|
||
EventManager.Instance.Register(EventManager.EventName.EN_ShowAllCharacterFavorableUI, OnRecvEventOpenFavorableUI);
|
||
EventManager.Instance.Register(EventManager.EventName.EN_ShowAllCharacterOpenBaseAttriUI, OnRecvEventOpenBaseAttriUI);
|
||
EventManager.Instance.Register(EventManager.EventName.EN_UIControllCultivateMainInput, (Action<bool>)OnRecvEventControlInput);
|
||
EventManager.Instance.Register(EventManager.EventName.ItemUse, OnSkinChange);//物品使用可能是更换皮肤
|
||
}
|
||
|
||
private void OnCharacterLevelup(UpgradeType type)
|
||
{
|
||
SetCurCharacterData(CharacterDataInfoManager.Instance.GetCharacterInfo(mCurCharaData.ID));//刷新角色数据
|
||
|
||
switch (type)
|
||
{
|
||
case UpgradeType.UtLevel:
|
||
RefreshLevelBtn();
|
||
break;
|
||
case UpgradeType.UtAwake:
|
||
RefreshAwakeBtn();
|
||
RefreshSkillBtn();//觉醒后技能可能会变
|
||
break;
|
||
case UpgradeType.UtBreak:
|
||
RefresshBreakBtn();
|
||
RefreshLevelBtn();//突破后等级可能会变
|
||
RefreshSkillBtn();//突破后技能可能会变
|
||
break;
|
||
case UpgradeType.UtUltraSkill:
|
||
RefreshSkillBtn();
|
||
break;
|
||
case UpgradeType.UtNone:
|
||
break;
|
||
case UpgradeType.UiMax:
|
||
break;
|
||
default:
|
||
DebugUtil.LogError("错误脱离switch");
|
||
throw new ArgumentOutOfRangeException(nameof(type), type, null);
|
||
}
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
private void OnRecvEventOpenBaseAttriUI()
|
||
{
|
||
SwitchChildUIForLeft(UILeftCharanterUIType.EbaseAttri);
|
||
}
|
||
|
||
private async void OnRecvEventOpenFavorableUI()
|
||
{
|
||
await UIFavorableController.Open(mCurCharaData);
|
||
|
||
ControllInput(false);
|
||
}
|
||
|
||
private void OnRecvEventOpenDetailUI()
|
||
{
|
||
SwitchChildUIForLeft(UILeftCharanterUIType.EDetailInfo);
|
||
}
|
||
|
||
private void OnSkinChange()
|
||
{
|
||
SetCurCharacterData(CharacterDataInfoManager.Instance.GetCharacterInfo(mCurCharaData.ID));//刷新角色数据
|
||
RefreshMiddle();
|
||
}
|
||
|
||
private void UnRegisterEvent()
|
||
{
|
||
EventManager.Instance.Unregister(EventManager.EventName.EN_CharacterLevelUp, (Action<UpgradeType>)OnCharacterLevelup);
|
||
EventManager.Instance.Unregister(EventManager.EventName.EN_ShowAllCharacterOpenDetailUI, OnRecvEventOpenDetailUI);
|
||
EventManager.Instance.Unregister(EventManager.EventName.EN_ShowAllCharacterFavorableUI, OnRecvEventOpenFavorableUI);
|
||
EventManager.Instance.Unregister(EventManager.EventName.EN_ShowAllCharacterOpenBaseAttriUI, OnRecvEventOpenBaseAttriUI);
|
||
EventManager.Instance.Unregister(EventManager.EventName.EN_UIControllCultivateMainInput, (Action<bool>)OnRecvEventControlInput);
|
||
EventManager.Instance.Unregister(EventManager.EventName.ItemUse, OnSkinChange);
|
||
}
|
||
|
||
private void OnRecvEventControlInput(bool isRegister)
|
||
{
|
||
ControllInput(isRegister);
|
||
}
|
||
private void ControllInput(bool isRegister)
|
||
{
|
||
if (isRegisterInput == isRegister)
|
||
{
|
||
return;
|
||
}
|
||
isRegisterInput = isRegister;
|
||
if (isRegister)
|
||
{
|
||
InputManager.Instance.OnFingerMoveUI += OnFingleSwipe;
|
||
|
||
}
|
||
else
|
||
{
|
||
InputManager.Instance.OnFingerMoveUI -= OnFingleSwipe;
|
||
|
||
}
|
||
}
|
||
|
||
protected override void OnHideWindow()
|
||
{
|
||
ControllInput(false);
|
||
CloseLeftCurChildUI();
|
||
//StopAllCoroutines();
|
||
}
|
||
|
||
public override void OnRelease()
|
||
{
|
||
base.OnRelease();
|
||
|
||
UnRegisterEvent();
|
||
}
|
||
|
||
float sumTime = 0;
|
||
protected override void OnUpdate()
|
||
{
|
||
if (!IsCanChange)
|
||
{
|
||
sumTime += Time.deltaTime;
|
||
if (sumTime >= 1)
|
||
{
|
||
IsCanChange = true;
|
||
sumTime = 0;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
}
|
||
|
||
#region button_click
|
||
/// <summary>
|
||
/// 技能升级
|
||
/// </summary>
|
||
private async void OnButton_SkillPlusClick()
|
||
{
|
||
AudioManager.Instance.PlayAudio(Constants.Sound.COMMON_CLICK);
|
||
if (mCurCharaData.UltraSkillLevel >= GetSkillMaxLevel())
|
||
{
|
||
string str = string.Format(CommonUtils.GetLocalizeText("cultivate_UltraSkillMax"),
|
||
CommonUtils.GetLocalizeText(E_LocalizePrefix.skill, nowSkillCfg.ID));
|
||
CommonUtils.ShowMessageTips(str);
|
||
return;
|
||
}
|
||
await UISkill_LevelUpController.Open(mCurCharaData);
|
||
|
||
ControllInput(false);
|
||
}
|
||
/// <summary>
|
||
/// 技能展开
|
||
/// </summary>
|
||
private void OnButton_ActiveSK_ArrowClick()
|
||
{
|
||
AudioManager.Instance.PlayAudio(Constants.Sound.COMMON_CLICK);
|
||
if (mCurCharaData.HasPassiveSkillCount() != 0)
|
||
{
|
||
PlayAnimation(this.GetComponent<Animator>(), "Open ActiveSkill Animation");
|
||
}
|
||
RefreshActiveSkillBtn(true);
|
||
}
|
||
/// <summary>
|
||
/// 技能关闭
|
||
/// </summary>
|
||
private void OnButton_ActiveSK_ArrowCloseClick()
|
||
{
|
||
AudioManager.Instance.PlayAudio(Constants.Sound.COMMON_CLICK);
|
||
if (mCurCharaData.HasPassiveSkillCount() != 0)
|
||
{
|
||
PlayAnimation(this.GetComponent<Animator>(), "Open ActiveSkill Back Animation");
|
||
}
|
||
RefreshActiveSkillBtn(false);
|
||
}
|
||
private void OnButton_BackClick()
|
||
{
|
||
#region 释放预加载
|
||
ClosePreloadChildUI();
|
||
#endregion
|
||
|
||
CloseWindow();
|
||
}
|
||
|
||
private async void OnButton_AttriClick()
|
||
{
|
||
AudioManager.Instance.PlayAudio(Constants.Sound.COMMON_CLICK);
|
||
await UI_CultivateDetailNewController.Open(mCurCharaData);
|
||
ControllInput(false);
|
||
}
|
||
/// <summary>
|
||
/// 查看当前立绘与模型
|
||
/// </summary>
|
||
private async void OnButton_LookClick()
|
||
{
|
||
AudioManager.Instance.PlayAudio(Constants.Sound.COMMON_CLICK);
|
||
await UIPosterController.Open(mCurCharaData);
|
||
|
||
ControllInput(false);
|
||
}
|
||
/// <summary>
|
||
/// 更换皮肤
|
||
/// </summary>
|
||
private async void OnButton_ChangeSuit()
|
||
{
|
||
AudioManager.Instance.PlayAudio(Constants.Sound.COMMON_CLICK);
|
||
await SkinChangeController.Open(mCurCharaData);
|
||
|
||
ControllInput(false);
|
||
}
|
||
/// <summary>
|
||
/// 升级界面
|
||
/// </summary>
|
||
private async void OnButton_LevelUpClick()
|
||
{
|
||
AudioManager.Instance.PlayAudio(Constants.Sound.COMMON_CLICK);
|
||
|
||
await UILevelUpController.Open(mCurCharaData);
|
||
|
||
ControllInput(false);
|
||
}
|
||
/// <summary>
|
||
/// BreakLevel升级界面
|
||
/// </summary>
|
||
private async void OnButton_RankPlusClick()
|
||
{
|
||
AudioManager.Instance.PlayAudio(Constants.Sound.COMMON_CLICK);
|
||
if (mCurCharaData.BreakLevel >= mCurCharaData.GetMaxBreakLevel())
|
||
{
|
||
CommonUtils.ShowMessageTips(CommonUtils.GetLocalizeText("cultivate_BreakPassiveSkillMax"));
|
||
return;
|
||
}
|
||
|
||
await UIRankController.Open(mCurCharaData);
|
||
|
||
ControllInput(false);
|
||
}
|
||
/// <summary>
|
||
/// AwakeLevel升级界面
|
||
/// </summary>
|
||
private async void OnButton_Awake()
|
||
{
|
||
AudioManager.Instance.PlayAudio(Constants.Sound.COMMON_CLICK);
|
||
if (mCurCharaData.AwakeLevel >= mCurCharaData.GetMaxAwakeLevel())
|
||
{
|
||
CommonUtils.ShowMessageTips(CommonUtils.GetLocalizeText("cultivate_AwakePassiveSkill"));
|
||
return;
|
||
}
|
||
|
||
await UIAdvanceController.Open(mCurCharaData);
|
||
|
||
ControllInput(false);
|
||
}
|
||
|
||
private async void OnClickHome()
|
||
{
|
||
#region 释放预加载
|
||
ClosePreloadChildUI();
|
||
#endregion
|
||
|
||
CommonUtils.BackToHome();
|
||
}
|
||
#endregion
|
||
|
||
|
||
public void SetCharaInfoInOpen(CharacterDataInfo info, List<CharacterDataInfo> mInfos)
|
||
{
|
||
PreLoadCfg();
|
||
GetStorageCharacterDataInfo(mInfos);
|
||
SetCurCharacterData(info);
|
||
RefreshLeft();
|
||
RefreshMiddle();
|
||
RefreshRight();
|
||
SetFingerMove();
|
||
|
||
var id = info.ID;
|
||
if (CharacterDataHelper.IsNewCharacter((int)id))
|
||
{
|
||
NetHelper.CheckCharacter((int)id);
|
||
}
|
||
}
|
||
|
||
private void SetFingerMove()
|
||
{
|
||
}
|
||
|
||
private void OnFingerEvent(Vector2 delta)
|
||
{
|
||
|
||
}
|
||
|
||
private void PreLoadCfg()
|
||
{
|
||
characterAttriCfg = TableManager.Instance.Tables.CharacterAttri;
|
||
characterBreakCfg = TableManager.Instance.Tables.CharacterBreak;
|
||
LevelExpCfg = TableManager.Instance.Tables.CharacterLevelExp;
|
||
skillConfig = TableManager.Instance.Tables.SkillConfig;
|
||
characterSkillLevelCfg = TableManager.Instance.Tables.CharacterSkillLevel;
|
||
factionAttriCfg = TableManager.Instance.Tables.FactionAttri;
|
||
jobAttriCfg = TableManager.Instance.Tables.JobAttri;
|
||
}
|
||
|
||
private void RefreshLeft()
|
||
{
|
||
RefreshFavorableInfo();
|
||
RefreshBasicInfo();
|
||
//SetCommanderTeamJob();
|
||
}
|
||
|
||
private async void RefreshMiddle()
|
||
{
|
||
var imgPath =
|
||
CommonUtils.GetCharacterPicPath(mCurCharaData.Cfg.RoleID, CommonUtils.ECharacterPicPathType.Cultivate, (int)mCurCharaData.SkinID);
|
||
var sprite = await LoadAssetAsync<Sprite>(imgPath);
|
||
CommonUtils.RefreshCharacter2DPic(character2dPic, sprite);
|
||
Text_CharacterName.text = CommonUtils.GetCharacterName(mCurCharaData.Cfg.RoleID);
|
||
Text_CommandCost.text = mCurCharaData.SpendLeadership().ToString();
|
||
string fractionPath = factionAttriCfg.GetOrDefault((int)(characterAttriCfg.Get(mCurCharaData.Cfg.RoleID).FacIcon)).IconPath;
|
||
GetComponent<Image>("Image_BG/Image_GroupLogo").sprite =
|
||
await LoadAssetAsync<Sprite>(fractionPath);
|
||
var flagPath = "Assets/Art/UI/Texture/Icon/CharacterRegion/" + factionAttriCfg.GetOrDefault((int)(characterAttriCfg.Get(mCurCharaData.Cfg.RoleID).FacIcon)).FlagPicPath;
|
||
GetComponent<Image>("Image_BG/Image_CharacterRegion").sprite =
|
||
await LoadAssetAsync<Sprite>(flagPath);
|
||
string jobPath = jobAttriCfg.Get((int)(characterAttriCfg.Get(mCurCharaData.Cfg.RoleID).Job)).IconPath;
|
||
Image_Profession_Logo.sprite = await LoadAssetAsync<Sprite>(jobPath);
|
||
for (int i = 0; i < 4; i++)
|
||
{
|
||
GameObject tempStar = FindObj(string.Format("Image_BG/Image_NameInfo/Star/{0}", i + 1));
|
||
|
||
if ((i + 2) <= mCurCharaData.Cfg.StartStar)
|
||
{
|
||
tempStar.SetActive(true);
|
||
}
|
||
else
|
||
{
|
||
tempStar.SetActive(false);
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
private void RefreshRight()
|
||
{
|
||
RefreshLevelBtn();
|
||
RefresshBreakBtn();
|
||
RefreshAwakeBtn();
|
||
RefreshSkillBtn();
|
||
}
|
||
private void RefreshActiveSkillBtn(bool isActive = false)
|
||
{
|
||
GameObject skillObj = FindObj("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill");
|
||
GameObject openObj = FindObj("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open");
|
||
skillObj.SetActive(!isActive);
|
||
openObj.SetActive(isActive);
|
||
|
||
}
|
||
|
||
private async void RefreshSkillBtn()
|
||
{
|
||
RefreshActiveSkillBtn();
|
||
|
||
nowSkillCfg = skillConfig.Get(CharacterDataHelper.GetCharacterSkillId(mCurCharaData));
|
||
if (nowSkillCfg == null)
|
||
{
|
||
DebugUtil.LogError($"技能表找不到对应配置,RoleID:{mCurCharaData.ID}");
|
||
}
|
||
List<showSkillBar> showSkillBars = new List<showSkillBar>();
|
||
if (mCurCharaData.GetBreakPassiveId() != 0)
|
||
{
|
||
showSkillBars.Add(new showSkillBar(TableManager.Instance.Tables.SkillConfig.GetOrDefault(mCurCharaData.GetBreakPassiveId()), true));
|
||
|
||
}
|
||
if (mCurCharaData.GetAwakePassiveId() != 0)
|
||
{
|
||
showSkillBars.Add(new showSkillBar(TableManager.Instance.Tables.SkillConfig.GetOrDefault(mCurCharaData.GetAwakePassiveId()), false));
|
||
}
|
||
|
||
|
||
Text_CDTme.text = nowSkillCfg.ChargeParam.ToString();
|
||
Image_Max.gameObject.SetActive(mCurCharaData.UltraSkillLevel >= mCurCharaData.GetMaxUltralSkillLevel());
|
||
Text_ActiveSkillName.text = CommonUtils.GetLocalizeText(E_LocalizePrefix.skill, nowSkillCfg.ID);
|
||
|
||
Image_SkillLogo.sprite = await LoadAssetAsync<Sprite>(Framework.Constants.UI_Cultivata_skillIconFolder + nowSkillCfg.IconPath);
|
||
|
||
|
||
for (int i = 0; i < 2; i++)
|
||
{
|
||
GameObject obj = FindObj(string.Format("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/passive/{0}", (i + 1).ToString()));
|
||
if (i < showSkillBars.Count)
|
||
{
|
||
obj.SetActive(true);
|
||
//CommonUtils.GetComponent<TMP_Text>(obj, "skillName").text = CommonUtils.GetLocalizeText((showSkillBars[i].Cfg.Name));
|
||
string colorSprStr;
|
||
if (showSkillBars[i].IsBreak)
|
||
{
|
||
colorSprStr = "Assets/Art/UI/Texture/UI_Pic_Main/UI_Pic_CultivateAll/UI_SkillLevelUp/UI_Blue.png";
|
||
}
|
||
else
|
||
{
|
||
colorSprStr = "Assets/Art/UI/Texture/UI_Pic_Main/UI_Pic_CultivateAll/UI_SkillLevelUp/UI_Brown.png";
|
||
}
|
||
obj.GetComponent<Image>().sprite = await LoadAssetAsync<Sprite>(colorSprStr);
|
||
}
|
||
else
|
||
{
|
||
obj.SetActive(false);
|
||
}
|
||
|
||
}
|
||
GetComponent<TMP_Text>("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill/Text_Class/Text_Class_Value").text = CommonUtils.GetRomanCode((int)mCurCharaData.UltraSkillLevel);
|
||
|
||
|
||
//不考虑被动技能没有的情况,后面加
|
||
bool isShow = mCurCharaData.UltraSkillLevel >= mCurCharaData.GetMaxUltralSkillLevel();
|
||
CommonUtils.GetGameObject(Image_UI_Cultivate_ActiveSkill_Open.gameObject, "Image_Max_Open").SetActive(isShow);
|
||
Image_SkillLogo_Open.sprite = await LoadAssetAsync<Sprite>(Framework.Constants.UI_Cultivata_skillIconFolder + nowSkillCfg.IconPath);
|
||
Text_CDTme_Open.text = nowSkillCfg.ChargeParam.ToString();
|
||
Text_ActiveSkillName_Open.text = CommonUtils.GetLocalizeText(E_LocalizePrefix.skill, nowSkillCfg.ID);
|
||
Text_ActiveSkill_Info.text = CommonUtils.GetLocalizeText(E_LocalizePrefix.skill_desc, nowSkillCfg.ID);
|
||
//GameObject sumObj = FindObj("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open/Text_ActiveSkill_Info/Text_PassiveSkill");
|
||
var awakenSkillGo = CommonUtils.GetGameObject(Text_PassiveSkill_Open.gameObject, "1");
|
||
var breakSkillGo = CommonUtils.GetGameObject(Text_PassiveSkill_Open.gameObject, "2");
|
||
awakenSkillGo.GetComponent<Image>().sprite = await LoadAssetAsync<Sprite>(
|
||
"Assets/Art/UI/Texture/UI_Pic_Main/UI_Pic_CultivateAll/UI_SkillLevelUp/UI_Blue.png");
|
||
breakSkillGo.GetComponent<Image>().sprite = await LoadAssetAsync<Sprite>
|
||
("Assets/Art/UI/Texture/UI_Pic_Main/UI_Pic_CultivateAll/UI_SkillLevelUp/UI_Brown.png");
|
||
|
||
CommonUtils.GetGameObject(awakenSkillGo, "tip").SetActive(mCurCharaData.AwakeLevel < mCurCharaData.GetMaxAwakeLevel());
|
||
CommonUtils.GetGameObject(breakSkillGo, "tip").SetActive(mCurCharaData.BreakLevel < mCurCharaData.GetMaxBreakLevel());
|
||
|
||
var txtSkillNameBreak = CommonUtils.GetComponent<TMP_Text>(breakSkillGo, "skillName");
|
||
var txtSkillDescBreak = CommonUtils.GetComponent<TMP_Text>(breakSkillGo, "skillinfo");
|
||
var txtAwakenNameBreak = CommonUtils.GetComponent<TMP_Text>(awakenSkillGo, "skillName");
|
||
var txtAwakenDescBreak = CommonUtils.GetComponent<TMP_Text>(awakenSkillGo, "skillinfo");
|
||
|
||
var skillGo = CommonUtils.GetGameObject(Image_UI_Cultivate_ActiveSkill.gameObject, "passive");
|
||
var txtBreakName = CommonUtils.GetComponent<TMP_Text>(skillGo, "2/skillName");
|
||
var txtAwakenName = CommonUtils.GetComponent<TMP_Text>(skillGo, "1/skillName");
|
||
|
||
var breakPassiveID = mCurCharaData.BreakCfg.PassiveSkillID;
|
||
var breakSkillCfg = TableManager.Instance.Tables.PassiveSkillConfig.Get(breakPassiveID);
|
||
if (breakSkillCfg == null)
|
||
{
|
||
DebugUtil.LogError("breakPassive ID 不存在!! ID: " + breakPassiveID);
|
||
}
|
||
else
|
||
{
|
||
txtSkillNameBreak.text = CommonUtils.GetLocalizeText(E_LocalizePrefix.PassiveSkill, breakPassiveID);
|
||
txtSkillDescBreak.text = CommonUtils.GetLocalizeText(E_LocalizePrefix.PassiveSkillDesc, breakPassiveID);
|
||
txtBreakName.text = CommonUtils.GetLocalizeText(E_LocalizePrefix.PassiveSkill, breakPassiveID);
|
||
}
|
||
|
||
var awakenPassiveID = mCurCharaData.AwakeCfg.PassiveSkillID;
|
||
var awakenSkillCfg = TableManager.Instance.Tables.PassiveSkillConfig.Get(awakenPassiveID);
|
||
if (awakenSkillCfg == null)
|
||
{
|
||
DebugUtil.LogError("awakenPassive ID 不存在!! ID: " + awakenPassiveID);
|
||
}
|
||
else
|
||
{
|
||
txtAwakenNameBreak.text = CommonUtils.GetLocalizeText(E_LocalizePrefix.PassiveSkill, awakenPassiveID);
|
||
txtAwakenDescBreak.text = CommonUtils.GetLocalizeText(E_LocalizePrefix.PassiveSkillDesc, awakenPassiveID);
|
||
txtAwakenName.text = CommonUtils.GetLocalizeText(E_LocalizePrefix.PassiveSkill, awakenPassiveID);
|
||
}
|
||
|
||
GameObject skillPanelObj = FindObj("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open");
|
||
float wholeBarHeight = 0;
|
||
switch (showSkillBars.Count)
|
||
{
|
||
case 0:
|
||
wholeBarHeight = 198.16f;
|
||
skillPanelObj.GetComponent<RectTransform>().localPosition = new Vector3(1, -134.08f, 0);
|
||
|
||
Text_PassiveSkill_Open.gameObject.SetActive(false);
|
||
break;
|
||
case 1:
|
||
wholeBarHeight = 410.35f;
|
||
skillPanelObj.GetComponent<RectTransform>().localPosition = new Vector3(1, -33f, 0);
|
||
|
||
Text_PassiveSkill_Open.gameObject.SetActive(true);
|
||
|
||
break;
|
||
case 2:
|
||
wholeBarHeight = 617.44f;
|
||
skillPanelObj.GetComponent<RectTransform>().localPosition = new Vector3(1, -33f, 0);
|
||
|
||
Text_PassiveSkill_Open.gameObject.SetActive(true);
|
||
|
||
break;
|
||
|
||
}
|
||
FindObj(string.Format("Image_BG/UI_Cultivate_ActSk/Image_UI_Cultivate_ActiveSkill_Open")).GetComponent<RectTransform>().sizeDelta = new Vector2(598, wholeBarHeight);
|
||
|
||
|
||
Text_Class_Value_Open.text = CommonUtils.GetRomanCode((int)mCurCharaData.UltraSkillLevel);
|
||
|
||
|
||
|
||
}
|
||
struct showSkillBar
|
||
{
|
||
public DataSkill Cfg;
|
||
public bool IsBreak;
|
||
|
||
public showSkillBar(DataSkill cfg, bool v) : this()
|
||
{
|
||
Cfg = cfg;
|
||
this.IsBreak = v;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
int GetSkillMaxLevel()
|
||
{
|
||
int maxlevel = 0;
|
||
for (int i = 0; i < characterSkillLevelCfg.DataList.Count; i++)
|
||
{
|
||
DataCharacterSkillLevel skillLevelCfg = characterSkillLevelCfg.DataList[i];
|
||
if (skillLevelCfg.RoleID == mCurCharaData.Cfg.RoleID)
|
||
{
|
||
if (skillLevelCfg.SkillLevel > maxlevel)
|
||
{
|
||
maxlevel = skillLevelCfg.SkillLevel;
|
||
}
|
||
}
|
||
|
||
}
|
||
return maxlevel;
|
||
}
|
||
private void RefreshFavorableInfo()
|
||
{
|
||
var characterLikabilityCfg = TableManager.Instance.Tables.CharacterLikability;
|
||
int nowExp = (int)mCurCharaData.LikelyExp;
|
||
var likelyCfg = characterLikabilityCfg.Get((int)mCurCharaData.ID, (int)mCurCharaData.LikelyLevel + 1);
|
||
Text_FavorRankNumber.text = mCurCharaData.LikelyLevel.ToString();
|
||
Text_FavorNumber.text = "-/-";
|
||
Image_Favor.GetComponentInChildren<Slider>().value = 1f;
|
||
|
||
if (likelyCfg == null)
|
||
{
|
||
DebugUtil.Log($"好感表配置有误,角色ID:{mCurCharaData.ID},好感度等级:{mCurCharaData.LikelyLevel + 1}");
|
||
return;
|
||
}
|
||
int fullExp = likelyCfg.LikabilityExp;
|
||
|
||
Text_FavorNumber.text = nowExp + "/" + fullExp;
|
||
Image_Favor.GetComponentInChildren<Slider>().value = (float)nowExp / (float)fullExp;
|
||
}
|
||
|
||
private void RefreshBasicInfo()
|
||
{
|
||
Text_AttriHpNumber.text = mCurCharaData.HP().ToString();
|
||
Text_AttriBulletAttack.text = mCurCharaData.Attack().ToString();
|
||
Text_AttriBulletCapacity.text = mCurCharaData.BulletCapacity().ToString();
|
||
Text_AttriShiledfNumber.text = mCurCharaData.Armor().ToString();
|
||
Text_AttriDefNumber.text = mCurCharaData.Defence().ToString();
|
||
Text_AttriMoveNumber.text = mCurCharaData.MoveSpeed().ToString();
|
||
Text_AttriSoliNumber.text = mCurCharaData.Cfg.MaxMorale.ToString();
|
||
Text_AttriWeapom.text = mCurCharaData.WeaponName();
|
||
Text_AttriProfiNumber.text = string.Format("{0}%", (int)(mCurCharaData.WeaponDegree() * 100));
|
||
//var jobCfg = jobAttri.Get((int)mCharacterInfo.Cfg.Job);
|
||
//if (jobCfg == null)
|
||
//{
|
||
// DebugUtil.LogError($"职业配置为空,RoleID:{mCharacterInfo.ID}");
|
||
//}
|
||
//else
|
||
// Text_Profession_Info.text = CommonUtils.GetLocalizeText(jobCfg.DisplayName);
|
||
var factionAttri = TableManager.Instance.Tables.FactionAttri;
|
||
var armyAttri = TableManager.Instance.Tables.ArmyAttri;
|
||
var factionCfg = factionAttri.Get((int)CommonUtils.GetEfactionByCfg(mCurCharaData.Cfg));
|
||
|
||
Text_AttriBelong.text = mCurCharaData.CharacterBelong();
|
||
|
||
var distanceScale = mCurCharaData.Cfg.ShootDistanceScale;
|
||
foreach (Transform child in ScrollView_DistanceScale.content.transform)
|
||
{
|
||
child.gameObject.SetActive(false);
|
||
}
|
||
for (int i = 0; i < distanceScale.Count; i++)
|
||
{
|
||
GameObject item = null;
|
||
if (i < ScrollView_DistanceScale.content.transform.childCount)
|
||
item = ScrollView_DistanceScale.content.transform.GetChild(i)?.gameObject;
|
||
else
|
||
item = Instantiate(ScrollView_DistanceScale.itemTemplate.gameObject, ScrollView_DistanceScale.content);
|
||
|
||
item.gameObject.SetActive(true);
|
||
CommonUtils.GetComponent<TMP_Text>(item, "Bg/Text (TMP)").text = distanceScale[i].ToString();
|
||
}
|
||
|
||
SetCommanderTeamJob();
|
||
}
|
||
|
||
void SetCommanderTeamJob()
|
||
{
|
||
List<ProvideJob> provideJobs = null;
|
||
if (mCurCharaData.Cfg.Job == Ejob.Job_Commander)
|
||
{
|
||
provideJobs = CharacterDataInfoManager.Instance.GetCommanderProvideJobs(mCurCharaData.ID);
|
||
}
|
||
var parent = GetComponent<PhxhSDK.PhxhScrollView>("AttributeNode/ScrollView").content;
|
||
foreach (Transform child in parent.transform)
|
||
{
|
||
Destroy(child.gameObject);
|
||
}
|
||
|
||
if (provideJobs != null)
|
||
{
|
||
foreach (var job in provideJobs)
|
||
{
|
||
switch (job)
|
||
{
|
||
case ProvideJob.ProvideJob_Support:
|
||
GameObject cloneJob1 = Instantiate(FindObj("AttributeNode/ScrollView/Viewport/Item1").gameObject, parent.transform);
|
||
cloneJob1.gameObject.SetActive(true);
|
||
break;
|
||
case ProvideJob.ProvideJob_Shoot:
|
||
GameObject cloneJob2 = Instantiate(FindObj("AttributeNode/ScrollView/Viewport/Item2").gameObject, parent.transform);
|
||
cloneJob2.gameObject.SetActive(true);
|
||
break;
|
||
case ProvideJob.ProvideJob_Scout:
|
||
GameObject cloneJob3 = Instantiate(FindObj("AttributeNode/ScrollView/Viewport/Item3").gameObject, parent.transform);
|
||
cloneJob3.gameObject.SetActive(true);
|
||
break;
|
||
case ProvideJob.ProvideJob_Suppress:
|
||
GameObject cloneJob4 = Instantiate(FindObj("AttributeNode/ScrollView/Viewport/Item4").gameObject, parent.transform);
|
||
cloneJob4.gameObject.SetActive(true);
|
||
break;
|
||
case ProvideJob.ProvideJob_Unlimited:
|
||
GameObject cloneJob5 = Instantiate(FindObj("AttributeNode/ScrollView/Viewport/Item5").gameObject, parent.transform);
|
||
cloneJob5.gameObject.SetActive(true);
|
||
break;
|
||
case ProvideJob.ProvideJob_Vehicle:
|
||
GameObject cloneJob6 = Instantiate(FindObj("AttributeNode/ScrollView/Viewport/Item6").gameObject, parent.transform);
|
||
cloneJob6.gameObject.SetActive(true);
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
private async void RefreshAwakeBtn()
|
||
{
|
||
var awakeCfg =
|
||
TableManager.Instance.Tables.CharacterAwaking.Get(mCurCharaData.Cfg.RoleID, (int)mCurCharaData.AwakeLevel);
|
||
for (int i = 0; i < Constants.ADVANCE_FLAG_UI; i++)
|
||
{
|
||
int level = i + 1;//从等级1开始计算觉醒标记
|
||
if (level < mCurCharaData.AwakeLevel)//已达成觉醒等级
|
||
{
|
||
var table = TableManager.Instance.Tables.CharacterAwaking.Get(mCurCharaData.Cfg.RoleID, level);
|
||
if (table == null)
|
||
{
|
||
DebugUtil.LogError($"觉醒表未配置icon,RoleID: {mCurCharaData.Cfg.RoleID}");
|
||
return;
|
||
}
|
||
var path = table.IconDarkPath;
|
||
var pathList = path.Split('_').ToList();
|
||
pathList.Insert(pathList.Count - 1, "NoName");
|
||
var NoNameIconPath = string.Join("_", pathList);
|
||
advanceImageList[i].sprite = await LoadAssetAsync<Sprite>(Constants.UI_Cultivata_AwakeIconFolder + NoNameIconPath);
|
||
advanceImageList[i].gameObject.SetActive(true);
|
||
}
|
||
else if (level == mCurCharaData.AwakeLevel)//当前最高等级,标签高亮
|
||
{
|
||
var table = TableManager.Instance.Tables.CharacterAwaking.Get(mCurCharaData.Cfg.RoleID, level);
|
||
if (table == null)
|
||
{
|
||
DebugUtil.LogError($"觉醒表未配置icon,RoleID: {mCurCharaData.Cfg.RoleID}");
|
||
return;
|
||
}
|
||
var path = table.IconLightPath;
|
||
advanceImageList[i].sprite = await LoadAssetAsync<Sprite>(Constants.UI_Cultivata_AwakeIconFolder + path);
|
||
advanceImageList[i].gameObject.SetActive(true);
|
||
}
|
||
else//尚未觉醒进度
|
||
{
|
||
//var table = TableManager.Instance.Tables.CharacterAwaking.Get(mCurCharaData.Cfg.RoleID, level);
|
||
//if (table == null)
|
||
//{
|
||
// DebugUtil.LogError($"觉醒表未配置icon,RoleID: {mCurCharaData.Cfg.RoleID}");
|
||
// return;
|
||
//}
|
||
//var path = table.IconDarkPath;
|
||
//advanceImageList[i].sprite = await LoadAssetAsync<Sprite>(Constants.UI_Cultivata_AwakeIconFolder + path);
|
||
advanceImageList[i].gameObject.SetActive(false);
|
||
}
|
||
}
|
||
|
||
Text_AdvanceName.text = CommonUtils.GetLocalizeText(awakeCfg.Name);
|
||
var redPoint = GetComponent<RedPointUIController>("Image_BG/Image_AdvanceLevel/UI_RedPoint");//.NodeID = mCurCharaData.CharacterAwakingNode.ID;
|
||
redPoint.NodeID = CharacterDataInfoManager.Instance.GetCharacterInfo(mCurCharaData.ID).CharacterAwakingNode.ID;
|
||
}
|
||
|
||
private async void RefresshBreakBtn()
|
||
{
|
||
|
||
int maxBreakLevel = mCurCharaData.GetMaxBreakLevel();
|
||
DataCharacterBreak breakCfg = characterBreakCfg.Get(mCurCharaData.Cfg.RoleID, (int)mCurCharaData.BreakLevel);
|
||
//Button_RankPlus.gameObject.SetActive(!(mCurCharaData.BreakLevel == maxBreakLevel));
|
||
//Image_Rank_04.gameObject.SetActive(mCurCharaData.BreakLevel == maxBreakLevel);
|
||
int startlv = 0;
|
||
if (mCurCharaData.BreakLevel >= maxBreakLevel)
|
||
{
|
||
startlv = (int)mCurCharaData.BreakLevel - Constants.BREAK_FLAG_UI + 1;
|
||
}
|
||
else if (mCurCharaData.BreakLevel <= Constants.BREAK_FLAG_UI)
|
||
{
|
||
startlv = 1;
|
||
}
|
||
else
|
||
{
|
||
startlv = (int)mCurCharaData.BreakLevel - Constants.BREAK_FLAG_UI + 1;
|
||
}
|
||
for (int i = 0; i < Constants.BREAK_FLAG_UI; i++)
|
||
{
|
||
if ((startlv + i) <= mCurCharaData.BreakLevel)
|
||
{
|
||
var table = characterBreakCfg.Get(mCurCharaData.Cfg.RoleID, (startlv + i));
|
||
if (table == null)
|
||
{
|
||
DebugUtil.LogError($"突破表未配置icon,RoleID: {mCurCharaData.Cfg.RoleID}");
|
||
return;
|
||
}
|
||
var cfgPath = table.IconPathLight;
|
||
rankImageList[i].sprite = await LoadAssetAsync<Sprite>(Constants.UI_Cultivata_BreakIconFolder + cfgPath);
|
||
|
||
CommonUtils.SetImageGrayByChangeColor(rankImageList[i], false);
|
||
|
||
}
|
||
else
|
||
{
|
||
var table = characterBreakCfg.Get(mCurCharaData.Cfg.RoleID, (startlv + i));
|
||
if (table == null)
|
||
{
|
||
DebugUtil.LogError($"突破表未配置icon,RoleID: {mCurCharaData.Cfg.RoleID}");
|
||
return;
|
||
}
|
||
var cfgPath = table.IconPathLight;
|
||
rankImageList[i].sprite = await LoadAssetAsync<Sprite>(Constants.UI_Cultivata_BreakIconFolder + cfgPath);
|
||
|
||
CommonUtils.SetImageGrayByChangeColor(rankImageList[i], true);
|
||
|
||
}
|
||
}
|
||
|
||
Text_RankName.text = CommonUtils.GetLocalizeText(breakCfg.Name);
|
||
}
|
||
|
||
private void RefreshLevelBtn()
|
||
{
|
||
uint nowLevel = mCurCharaData.Level;
|
||
DataCharacterBreak dataCharacterBreak = characterBreakCfg.Get(mCurCharaData.Cfg.RoleID, (int)mCurCharaData.BreakLevel);
|
||
if (dataCharacterBreak == null)
|
||
{
|
||
DebugUtil.LogError("获取配置表失败");
|
||
return;
|
||
}
|
||
|
||
int maxLevel = dataCharacterBreak.LevelLimit;
|
||
try
|
||
{
|
||
if (nowLevel == maxLevel)
|
||
{
|
||
FindObj("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level").SetActive(false);
|
||
FindObj("Image_BG/UI_Cultivate_Level/ImageUI_Level_Max").SetActive(true);
|
||
if (mCurCharaData.BreakLevel < mCurCharaData.GetMaxBreakLevel())
|
||
{
|
||
Button_LevelPlusLimited.gameObject.SetActive(true);
|
||
}
|
||
else
|
||
{
|
||
Button_LevelPlusLimited.gameObject.SetActive(false);
|
||
}
|
||
Image_LevelBar_Max.fillAmount = 1;
|
||
Image_Level_Arrow.GetComponent<RectTransform>().anchoredPosition = new Vector2(0, -ArrowRadius);
|
||
Image_Level_Arrow.transform.rotation = Quaternion.identity;
|
||
|
||
Text_Level_Now_Full.text = nowLevel.ToString();
|
||
Text_Level_Max_Full.text = nowLevel.ToString();
|
||
|
||
}
|
||
else
|
||
{
|
||
FindObj("Image_BG/UI_Cultivate_Level/ImageUI_Cultivate_Level").SetActive(true);
|
||
FindObj("Image_BG/UI_Cultivate_Level/ImageUI_Level_Max").SetActive(false);
|
||
|
||
float fillAmount = (float)mCurCharaData.Exp / LevelExpCfg.Get((int)nowLevel + 1).EXP;
|
||
Image_LevelBar.fillAmount = fillAmount;//(float)mCurCharaData.Level / (float)characterBreakCfg.Get(mCurCharaData.Cfg.RoleID, (int)mCurCharaData.BreakLevel).LevelLimit;
|
||
var angle = -360 * fillAmount;
|
||
Image_Level_Arrow.transform.rotation = Quaternion.Euler(0, 0, angle);
|
||
float posX = Mathf.Sin(angle * Mathf.Deg2Rad) * ArrowRadius;
|
||
float posY = -Mathf.Cos(angle * Mathf.Deg2Rad) * ArrowRadius;
|
||
Image_Level_Arrow.GetComponent<RectTransform>().anchoredPosition = new Vector2(posX, posY);
|
||
|
||
Text_Level_Now.text = nowLevel.ToString();
|
||
Text_Level_Max.text = "/" + maxLevel.ToString();
|
||
Text_Exp_Now.text = "<color=#ADAF30>" + mCurCharaData.Exp.ToString() + "</color>" + "/" + LevelExpCfg.Get((int)nowLevel + 1).EXP.ToString();
|
||
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
//ignore
|
||
}
|
||
|
||
}
|
||
|
||
void SetCurCharacterData(CharacterDataInfo dataInfo)
|
||
{
|
||
mCurCharaData = dataInfo;
|
||
}
|
||
void RefreshCurCharacterDataInfo(int index)
|
||
{
|
||
mCurCharaData = characterDataInfos[index];
|
||
var id = mCurCharaData.ID;
|
||
if (CharacterDataHelper.IsNewCharacter((int)id))
|
||
{
|
||
NetHelper.CheckCharacter((int)id);
|
||
}
|
||
}
|
||
|
||
void GetStorageCharacterDataInfo(List<CharacterDataInfo> dataInfos)
|
||
{
|
||
characterDataInfos.Clear();
|
||
characterDataInfos.AddRange(dataInfos);
|
||
if (characterDataInfos.Count == 0)
|
||
{
|
||
DebugUtil.LogError("当前人物列表为空,请检查配置");
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
private async void OnButton_RightArrowsClick()
|
||
{
|
||
int nowIndex = ReturnCorrectCharacterIndex(mCurIndex + 1);
|
||
mCurIndex = nowIndex;
|
||
RefreshCurCharacterDataInfo(mCurIndex);
|
||
RefreshChildUIForLeft();
|
||
RefreshActiveSkillBtn(false);//动画播放时默认关闭技能详情界面
|
||
PlayChangeOutLeftAnimation();
|
||
await RefreshAfterAniChangeOutLeft();
|
||
//StartCoroutine(_coroutine);
|
||
|
||
}
|
||
|
||
|
||
private int ReturnCorrectCharacterIndex(int index)
|
||
{
|
||
if (index < 0)
|
||
{
|
||
index = characterDataInfos.Count - 1;
|
||
}
|
||
if (index > characterDataInfos.Count - 1)
|
||
{
|
||
index = 0;
|
||
}
|
||
return index;
|
||
}
|
||
private IEnumerator _coroutine;
|
||
|
||
private async void OnButton_LeftArrowsClick()
|
||
{
|
||
int nowIndex = ReturnCorrectCharacterIndex(mCurIndex - 1);
|
||
mCurIndex = nowIndex;
|
||
RefreshCurCharacterDataInfo(mCurIndex);
|
||
RefreshChildUIForLeft();
|
||
RefreshActiveSkillBtn(false);//动画播放时默认关闭技能详情界面
|
||
PlayChangeOutRightAnimation();
|
||
await RefreshAfterAniChangeOutRight();
|
||
//StartCoroutine(_coroutine);
|
||
|
||
}
|
||
|
||
private async UniTask RefreshAfterAniChangeOutLeft()
|
||
{
|
||
await UniTask.Delay(500);
|
||
if (!gameObject)
|
||
{
|
||
return;
|
||
}
|
||
RefreshLeft();
|
||
RefreshMiddle();
|
||
RefreshRight();
|
||
PlayChangeInAnimationLeft();
|
||
|
||
}
|
||
private async UniTask RefreshAfterAniChangeOutRight()
|
||
{
|
||
await UniTask.Delay(500);
|
||
if (!gameObject)
|
||
{
|
||
return;
|
||
}
|
||
RefreshLeft();
|
||
RefreshMiddle();
|
||
RefreshRight();
|
||
PlayChangeInAnimationRight();
|
||
|
||
}
|
||
|
||
private void PlayChangeInAnimationLeft()
|
||
{
|
||
// PlayAnimation(GetComponent<Animator>(), "NameInfo_ChangeOut");
|
||
GetComponent<Animator>().Play("MoveL_IN", 0, 0);
|
||
}
|
||
private void PlayChangeInAnimationRight()
|
||
{
|
||
// PlayAnimation(GetComponent<Animator>(), "NameInfo_ChangeOut");
|
||
GetComponent<Animator>().Play("MoveR_IN", 0, 0);
|
||
}
|
||
|
||
private void PlayAnimation(Animator animator, string animationNmae)
|
||
{
|
||
animator.enabled = true;
|
||
animator.Play(animationNmae, 0, 0);
|
||
}
|
||
private void PlayChangeOutLeftAnimation()
|
||
{
|
||
GetComponent<Animator>().speed = 1;
|
||
PlayAnimation(GetComponent<Animator>(), "MoveL_OUT");
|
||
|
||
}
|
||
|
||
private void PlayChangeOutRightAnimation()
|
||
{
|
||
GetComponent<Animator>().speed = 1;
|
||
PlayAnimation(GetComponent<Animator>(), "MoveR_OUT");
|
||
|
||
}
|
||
|
||
void SwitchChildUIForLeft(UILeftCharanterUIType uIChracterType)
|
||
{
|
||
|
||
CloseLeftCurChildUI();
|
||
OpenLeftChildUI(uIChracterType);
|
||
mCurLeftUICharacterType = uIChracterType;
|
||
|
||
}
|
||
void RefreshChildUIForLeft()
|
||
{
|
||
//switch (mCurLeftUICharacterType)
|
||
//{
|
||
// case UILeftCharanterUIType.EDetailInfo:
|
||
// if (detailWindow != null)
|
||
// {
|
||
// detailWindow.RefreshOnChangePlay(mCurCharaData);
|
||
// }
|
||
// break;
|
||
// case UILeftCharanterUIType.EbaseAttri:
|
||
// if (proAndInfoWindow != null)
|
||
// {
|
||
// proAndInfoWindow.RefreshOnChangePlay(mCurCharaData);
|
||
// }
|
||
// break;
|
||
// default:
|
||
// DebugUtil.LogError("= =常理来说应该走不到这里但是我也不知道为甚么要加但是还是加了reshaper好怪");
|
||
// throw new ArgumentOutOfRangeException();
|
||
//}
|
||
|
||
}
|
||
|
||
|
||
void OpenLeftChildUI(UILeftCharanterUIType uIChracterType)//async
|
||
{
|
||
switch (uIChracterType)
|
||
{
|
||
case UILeftCharanterUIType.EbaseAttri:
|
||
UIManager.Instance.OpenLoadedNormalUI(UINameConst.UI_Cultivate_ProAndInfo, mCurCharaData);
|
||
//proAndInfoWindow = await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_Cultivate_ProAndInfo, mCurCharaData) as UI_Cultivate_ProAndInfoController;
|
||
break;
|
||
case UILeftCharanterUIType.EDetailInfo:
|
||
UIManager.Instance.OpenLoadedNormalUI(UINameConst.UI_Cultivate_Detail, mCurCharaData);
|
||
//
|
||
//detailWindow = await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_Cultivate_Detail, mCurCharaData) as UI_Cultivate_DetailController;
|
||
break;
|
||
|
||
default:
|
||
DebugUtil.LogError("= =switch语句跳出默认开关");
|
||
throw new ArgumentOutOfRangeException(nameof(uIChracterType), uIChracterType, null);
|
||
}
|
||
|
||
|
||
}
|
||
void CloseLeftCurChildUI()
|
||
{
|
||
//switch (mCurLeftUICharacterType)
|
||
//{
|
||
// case UILeftCharanterUIType.EbaseAttri:
|
||
// proAndInfoWindow.Hide();
|
||
// //UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_ProAndInfo);
|
||
// break;
|
||
// case UILeftCharanterUIType.EDetailInfo:
|
||
// detailWindow.Hide();
|
||
// //UIManager.Instance.CloseWindow(UINameConst.UI_Cultivate_Detail);
|
||
// break;
|
||
//
|
||
//
|
||
// default:
|
||
// DebugUtil.LogError("= =switch语句跳出默认开关");
|
||
//
|
||
// throw new ArgumentOutOfRangeException();
|
||
//}
|
||
}
|
||
|
||
}
|
||
|