NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/UI_VehicleCultivateControll...

185 lines
5.5 KiB
C#

using cfg.SkillCfg;
using cfg.VihecleCultivateCfg;
using Framework;
using Gameplay.Character.Utils;
using PhxhSDK;
using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using static UI_VehicleChooseController;
using Button = UnityEngine.UI.Button;
using Image = UnityEngine.UI.Image;
public class UI_VehicleCultivateController : UIWindow
{
//UI GameObj
///Auto Gen Start///
public Image Image_BG;
public Button Button_Back;
public TMP_Text Text_Back;
public Button Button_Home;
public Image Image_LevelBarBG;
public Button Button_LevelPlus;
public TMP_Text Text_Level_Max;
public TMP_Text Text_LevelName;
public TMP_Text Text_Level_Now;
public Image Image_Property;
public TMP_Text Text_Property;
public Image Image_Hp;
public TMP_Text Text_Vehicle_Hp;
public TMP_Text Text_Hp_Value;
public Image Image_Defance;
public TMP_Text Text_Vehicle_Defance;
public TMP_Text Text_Defance_Value;
public Image Image_Capacity;
public TMP_Text Text_Vehicle_Capacity;
public TMP_Text Text_Capacity_Value;
public Image Image_PersonNum;
public TMP_Text Text_Vehicle_PersonNum;
public TMP_Text Text_PersonNum_Value;
public Image Image_Attack;
public TMP_Text Text_Vehicle_Attack;
public TMP_Text Text_Attack_Value;
public Image Image_Speed;
public TMP_Text Text_Vehicle_Speed;
public TMP_Text Text_Speed_Value;
public Image Image_Terrian;
public TMP_Text Text_Terrian;
public Image Image_Road;
public TMP_Text Text_RoadName;
public TMP_Text Text_Road_Value;
public Image Image_Snow;
public TMP_Text Text_SnowName;
public TMP_Text Text_Snow_Value;
public Image Image_Mountain;
public TMP_Text Text_MountainName;
public TMP_Text Text_Mountain_Value;
public Image Image_Forest;
public TMP_Text Text_ForestName;
public TMP_Text Text_Forest_Value;
public Image Image_ActiveSkill;
public Image Image_SkillLogo;
public Image Image_UI_SkillCd;
public TMP_Text Text_CDSecond;
public TMP_Text Text_CDTme;
public TMP_Text Text_ActiveSkill;
public TMP_Text Text_ActiveSkillName;
public TMP_Text Text_SkillInfo;
public TMP_Text Text_Class;
public TMP_Text Text_Class_Value;
public Image Image_VehicleLogo;
public TMP_Text Text_VehicleName;
///Auto Gen End///
private VehicleCultivateData mVehicleData;
// Use this for initialization
public override void OnAwake()
{
//bind UI GameObj
UI_VehicleCultivateBinder.GetComponents(this);
BindButton(Button_LevelPlus,OnLevelPlusClick);
BindButton(Button_Back, OnButton_BackClick);
}
private void OnButton_BackClick()
{
CloseWindow();
}
private async void OnLevelPlusClick()
{
Utils.CommonUtils.CaptureScreenshot();
await UIManager.Instance.OpenWindow(UINameConst.UI_VehicleLevelUp, mVehicleData);
}
//invoke when open window
protected override void OnOpenWindow(object data)
{
VehicleCultivateParam tempData=data as VehicleCultivateParam;
mVehicleData = tempData.info;
RefreshLevel();
RefreshProperty();
RefreshTerrainAdapt();
RefreshVehicleAbout();
RefreshSkill();
RegisterEvent();
}
private void RegisterEvent()
{
EventManager.Instance.Register(EventManager.EventName.VehecleUpgrade, OnVehecleUpgradeClick);
}
private void UnRegisterEvent()
{
EventManager.Instance.Unregister(EventManager.EventName.VehecleUpgrade, OnVehecleUpgradeClick);
}
private void OnVehecleUpgradeClick()
{
mVehicleData = VehicleCultivateDataManager.GetSingleton().GetVehicleCultivateData(mVehicleData.nID);
RefreshSkill();
RefreshLevel();
RefreshProperty();
RefreshTerrainAdapt();
}
private void RefreshSkill()
{
DataSkill nowSkillCfg = TableManager.Instance.Tables.SkillConfig.Get(VehicleDataHelper.GetVehicleSkillId(mVehicleData.Cfg.ID));
Text_CDTme.text = nowSkillCfg.CDTime.ToString();
Text_ActiveSkillName.text = Utils.CommonUtils.GetLocalizeText(nowSkillCfg.Name);
AssetManager.Instance.LoadAssetOnCallBack<Sprite>(nowSkillCfg.IconPath, skillIcon =>
{
Image_SkillLogo.sprite = skillIcon;
});
Text_Class_Value.text = Utils.CommonUtils.GetRomanCode((int)mVehicleData.SumBonus(BonusType.SkillLv));
Text_SkillInfo.text =Utils.CommonUtils.GetLocalizeText( nowSkillCfg.SkillDesc);
}
private void RefreshLevel()
{
Text_Level_Max.text = mVehicleData.SumPowerMaxLevel().ToString();
Text_Level_Now.text = mVehicleData.SumPowerLevel().ToString();
}
private void RefreshVehicleAbout()
{
Text_VehicleName.text = mVehicleData.Cfg.Name;
}
private void RefreshProperty()
{
Text_Hp_Value.text = mVehicleData.Hp().ToString();
Text_PersonNum_Value.text=mVehicleData.SeatCount().ToString();
Text_Defance_Value.text = mVehicleData.Defense().ToString();
Text_Speed_Value.text = mVehicleData.MoveSpeed().ToString();
Text_Attack_Value.text = mVehicleData.Attack().ToString();
Text_Capacity_Value.text = mVehicleData.BulletCapacity().ToString();
}
private void RefreshTerrainAdapt()
{
Text_Road_Value.text = mVehicleData.GetTerrainAdapt(BonusType.TerrainPlain);
Text_Snow_Value.text = mVehicleData.GetTerrainAdapt(BonusType.TerrainSnow);
Text_Mountain_Value.text = mVehicleData.GetTerrainAdapt(BonusType.TerrainMountain);
Text_Forest_Value.text = mVehicleData.GetTerrainAdapt(BonusType.TerrainForest);
}
//invoke when reload windowq
protected override void OnReloadWindow(object data = null)
{
}
//invoke when close window
protected override void OnCloseWindow(bool destroy = false)
{
UnRegisterEvent();
}
}