185 lines
5.5 KiB
C#
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();
|
|
}
|
|
} |