using Cysharp.Threading.Tasks; using Framework; using Gameplay; using TMPro; using UnityEngine.UI; using Button = UnityEngine.UI.Button; using Image = UnityEngine.UI.Image; public class UI_CultivateDetailNewController : UIWindow { public enum DetailType { Current, Min, Max, } #region UI //UI GameObj ///Auto Gen Start/// public Image Image_TopBg; public TMP_Text Text_Title; public Button Button_Close; public Image Image_Hp; public TMP_Text Text_AttriHp; public TMP_Text Text_AttriHpNumber; public Image Image_Sheild; public TMP_Text Text_Sheild; public TMP_Text Text_ShelidNumber; public Image Image_Defend; public TMP_Text Text_Defend; public TMP_Text Text_DefendNumber; public Image Image_Control; public TMP_Text Text_Control; public TMP_Text Text_ControlNumber; public Image Image_Proficiency; public TMP_Text Text_Proficiency; public TMP_Text Text_ProficiencyNumber; public Image Image_Solider; public TMP_Text Text_Solider; public TMP_Text Text_SoliderNumber; public Image Image_Idledecrease; public TMP_Text Text_Idle; public TMP_Text Text_IdleNumber; public Image Image_AttackTurn; public TMP_Text Text_Attack; public TMP_Text Text_AttackNumber; public Image Image_MoveAttack; public TMP_Text Text_MoveAttack; public TMP_Text Text_MoveAttackAllowed; public Image Image_MoveSpeed; public TMP_Text Text_MS; public TMP_Text Text_MSNumber; public Image Image_ShootTurn; public TMP_Text Text_ST; public TMP_Text Text_STNumber; public Image Image_Stable; public TMP_Text Text_Stable; public TMP_Text Text_StableNumber; public Image Image_Leader; public TMP_Text Text_Leader; public TMP_Text Text_LeaderNumber; public Image Image_Suppress; public TMP_Text Text_Suppress; public TMP_Text Text_SuppressNumber; public Image Image_Machine; public TMP_Text Text_Machine; public TMP_Text Text_MachineNumber; public Image Image_SingleDamage; public TMP_Text Text_SD; public TMP_Text Text_SDNumber; public Image Image_LifeDamage; public TMP_Text Text_LF; public TMP_Text Text_LFNumber; public Image Image_SheildDamage; public TMP_Text Text_ShieldD; public TMP_Text Text_ShieldDNumber; public Image Image_VehicleDamage; public TMP_Text Text_VD; public TMP_Text Text_VDNumber; public Image Image_CheckTime; public TMP_Text Text_CT; public TMP_Text Text_CTNumber; public Image Image_Magazines; public TMP_Text Text_Magazines; public TMP_Text Text_MagazinesNumber; public Image Image_SheildRecoverTime; public TMP_Text Text_SRT; public TMP_Text Text_SRTNumber; public Image Image_SheildRecoverFixed; public TMP_Text Text_SRF; public TMP_Text Text_SRFNumber; public Image Image_VehicleDamagPercent; public TMP_Text Text_VDP; public TMP_Text Text_VDPNumber; public Image Image_HPRecoverFixed; public TMP_Text Text_HPRF; public TMP_Text Text_HPRFNumber; public Image Image_HPRecoverTime; public TMP_Text Text_HPRT; public TMP_Text Text_HPRTNumber; public Image Image_HPRecoverPercent; public TMP_Text Text_HPRP; public TMP_Text Text_HPRPNumber; public Image Image_CharacterTurnBackTime; public TMP_Text Text_CTBT; public TMP_Text Text_CTBTNumber; public Image Image_ShiledMaxOutPercent; public TMP_Text Text_SMOP; public TMP_Text Text_SMOPNumber; public Image Image_EnterSuppress; public TMP_Text Text_ES; public TMP_Text Text_ESNumber; public Image Image_EnterEscape; public TMP_Text Text_EE; public TMP_Text Text_EENumber; public Image Image_TopBlackBar; public Image Image_BottomBlackBar; ///Auto Gen End/// #endregion CharacterDataInfo mCharacterData; DetailType type = DetailType.Current; struct inputData { public CharacterDataInfo characterData; public DetailType type; } public static async UniTask Open(CharacterDataInfo data, DetailType type = DetailType.Current) { CommonUtils.CaptureScreenshot(); var input_data = new inputData { characterData = data, type = type }; return await UIManager.Instance.CreateAndOpenWindow(UINameConst.UI_CultivateDetailNew, input_data); } // deal with input data public override void PreLoad(object data = null) { if (data is inputData inputData) { mCharacterData = inputData.characterData; type = inputData.type; } } // Use this for initialization public override void OnInit() { //bind UI GameObj UI_CultivateDetailNewBinder.GetComponents(this); BindButton(Button_Close, OnBackBtnClick); RawImage rawImage = GetComponent("GaussianBlurMask"); rawImage.texture = CommonUtils.GetScreenTexture2D(); if (type == DetailType.Current) SetCharacterInfo(); else if (type == DetailType.Min) SetMinLevelInfo(); else SetMainLevelInfo(); } //invoke when open window protected override void OnShowWindow(object data = null) { } //invoke when reload window protected override void OnReloadWindow(object data = null) { } //invoke when close window protected override void OnHideWindow() { EventManager.Instance.Send(EventManager.EventName.EN_UIControllCultivateMainInput, true); } //invoke when destroy public override void OnRelease() { base.OnRelease(); } void SetCharacterInfo() { #region 角色属性 Text_AttriHpNumber.text = mCharacterData.HP().ToString(); Text_ShelidNumber.text = mCharacterData.Armor().ToString(); Text_DefendNumber.text = mCharacterData.Defence().ToString(); Text_ControlNumber.text = mCharacterData.WeaponGrasp().ToString(); Text_ProficiencyNumber.text = mCharacterData.WeaponDegree().ToString(); Text_SoliderNumber.text = mCharacterData.Cfg.MaxMorale.ToString(); Text_IdleNumber.text = mCharacterData.Cfg.DefenceNoMoveScale.ToString(); Text_AttackNumber.text = mCharacterData.AttackLoopCount().ToString(); Text_MoveAttackAllowed.text = mCharacterData.Cfg.MoveShootType == 0 ? "×" : "◯"; Text_MSNumber.text = mCharacterData.MoveSpeed().ToString(); #endregion #region 武器属性 Text_SuppressNumber.text = mCharacterData.YaZhi().ToString(); Text_MachineNumber.text = mCharacterData.ShootSpeed().ToString(); Text_SDNumber.text = mCharacterData.Attack().ToString(); Text_LFNumber.text = mCharacterData.DamageScaleToHp().ToString(); Text_ShieldDNumber.text = mCharacterData.DamageScaleToShiled().ToString(); Text_VDNumber.text = mCharacterData.DamageScaleToCarrier().ToString(); Text_CTNumber.text = mCharacterData.AttackEndTime().ToString(); Text_MagazinesNumber.text = mCharacterData.BulletCapacity().ToString(); #endregion } void SetMinLevelInfo() { #region 角色属性 Text_AttriHpNumber.text = mCharacterData.GetInitialProperty(CharacterDataInfo.CultivateProperty.HP); Text_ShelidNumber.text = mCharacterData.GetInitialProperty(CharacterDataInfo.CultivateProperty.Shiled); Text_DefendNumber.text = mCharacterData.GetInitialProperty(CharacterDataInfo.CultivateProperty.Defend); Text_ControlNumber.text = mCharacterData.GetInitialProperty(CharacterDataInfo.CultivateProperty.Control); Text_ProficiencyNumber.text = mCharacterData.GetInitialProperty(CharacterDataInfo.CultivateProperty.Proficiency); Text_SoliderNumber.text = mCharacterData.GetInitialProperty(CharacterDataInfo.CultivateProperty.Solider); Text_IdleNumber.text = mCharacterData.Cfg.DefenceNoMoveScale.ToString(); Text_AttackNumber.text = mCharacterData.AttackLoopCount().ToString(); Text_MoveAttackAllowed.text = mCharacterData.Cfg.MoveShootType == 0 ? "×" : "◯"; Text_MSNumber.text = mCharacterData.GetInitialProperty(CharacterDataInfo.CultivateProperty.MoveSpeed); #endregion #region 武器属性 Text_SuppressNumber.text = mCharacterData.InitialWeapon().MoraleDamage.ToString();// YaZhi().ToString(); Text_MachineNumber.text = mCharacterData.InitialWeapon().ShootSpeed.ToString();//.ShootSpeed().ToString(); Text_SDNumber.text = mCharacterData.GetInitialProperty(CharacterDataInfo.CultivateProperty.BulletAttack); Text_LFNumber.text = mCharacterData.InitialWeapon().DamageScaleForHp.ToString();//DamageScaleToHp().ToString(); Text_ShieldDNumber.text = mCharacterData.InitialWeapon().DamageScaleForShiled.ToString();//DamageScaleToShiled().ToString(); Text_VDNumber.text = mCharacterData.InitialWeapon().DamageScaleForVehicle.ToString();//DamageScaleToCarrier().ToString(); Text_CTNumber.text = mCharacterData.InitialWeapon().AttackEndTime.ToString();//AttackEndTime().ToString(); Text_MagazinesNumber.text = mCharacterData.InitialWeapon().MaxBulletCount.ToString();//BulletCapacity().ToString(); #endregion } void SetMainLevelInfo() { #region 角色属性 Text_AttriHpNumber.text = mCharacterData.GetMaxProperty(CharacterDataInfo.CultivateProperty.HP); Text_ShelidNumber.text = mCharacterData.GetMaxProperty(CharacterDataInfo.CultivateProperty.Shiled); Text_DefendNumber.text = mCharacterData.GetMaxProperty(CharacterDataInfo.CultivateProperty.Defend); Text_ControlNumber.text = mCharacterData.GetMaxProperty(CharacterDataInfo.CultivateProperty.Control); Text_ProficiencyNumber.text = mCharacterData.GetMaxProperty(CharacterDataInfo.CultivateProperty.Proficiency); Text_SoliderNumber.text = mCharacterData.GetMaxProperty(CharacterDataInfo.CultivateProperty.Solider); Text_IdleNumber.text = mCharacterData.Cfg.DefenceNoMoveScale.ToString(); Text_AttackNumber.text = mCharacterData.AttackLoopCount().ToString(); Text_MoveAttackAllowed.text = mCharacterData.Cfg.MoveShootType == 0 ? "×" : "◯"; Text_MSNumber.text = mCharacterData.GetMaxProperty(CharacterDataInfo.CultivateProperty.MoveSpeed); #endregion #region 武器属性 Text_SuppressNumber.text = mCharacterData.MaxWeapon().MoraleDamage.ToString();// YaZhi().ToString(); Text_MachineNumber.text = mCharacterData.MaxWeapon().ShootSpeed.ToString();//.ShootSpeed().ToString(); Text_SDNumber.text = mCharacterData.GetMaxProperty(CharacterDataInfo.CultivateProperty.BulletAttack); Text_LFNumber.text = mCharacterData.MaxWeapon().DamageScaleForHp.ToString();//DamageScaleToHp().ToString(); Text_ShieldDNumber.text = mCharacterData.MaxWeapon().DamageScaleForShiled.ToString();//DamageScaleToShiled().ToString(); Text_VDNumber.text = mCharacterData.MaxWeapon().DamageScaleForVehicle.ToString();//DamageScaleToCarrier().ToString(); Text_CTNumber.text = mCharacterData.MaxWeapon().AttackEndTime.ToString();//AttackEndTime().ToString(); Text_MagazinesNumber.text = mCharacterData.MaxWeapon().MaxBulletCount.ToString();//BulletCapacity().ToString(); #endregion } #region Button_click void OnBackBtnClick() { AudioManager.Instance.PlayAudio(Framework.Constants.Sound.COMMON_CLICK); CloseWindow(); } #endregion }