void RefreshCostUI(TransExpType ttype) { if (ttype != TransExpType.None) { int newLevel = 0; if (m_LeftRideData != null) { if (m_RightRideData != null) { newLevel = CaculateLevel(m_LeftRideData, m_RightRideData, ttype); } m_label_PTxiaohao.text = GetCost(m_LeftRideData, TransExpType.Normal).ToString(); m_label_WMxiaohao.text = GetCost(m_LeftRideData, TransExpType.Perfect).ToString(); } else { GetOldRideUIGo().SetActive(false); m_label_PTxiaohao.text = "0"; m_label_WMxiaohao.text = "0"; } if (m_RightRideData != null) { SetRightNewLevel(); } else if (m_RightRideData == null) { GetNewRideUIGo().SetActive(false); } } }
void SetRightNewLevel() { if (m_LeftRideData != null && m_RightRideData != null) { TransExpType ttype = TransExpType.None; if (m_toggle_ptchuancheng.value) { ttype = TransExpType.Normal; } else if (m_toggle_wmchuancheng.value) { ttype = TransExpType.Perfect; } int level = CaculateLevel(m_LeftRideData, m_RightRideData, ttype); m_label_New_level_After.text = level.ToString(); m_label_New_level_After.color = level == m_RightRideData.level ? Color.white : Color.green; m_label_New_speed_After.text = RideData.GetSpeedById_Level(m_RightRideData.baseid, level).ToString() + "%"; m_label_New_speed_After.color = level == m_RightRideData.level ? Color.white : Color.green; } else { m_label_New_level_After.text = "0"; m_label_New_speed_After.text = "0"; } }
int GetCost(RideData leftRideData, TransExpType type) { int cost = 0; int rate = GameTableManager.Instance.GetGlobalConfig <int>("PassOnCostRide", ((int)type * 10).ToString()); int exp = GetRideAllExp(leftRideData); cost = Mathf.CeilToInt(exp * 1f / rate); return(cost); }
int CaculateLevel(RideData left, RideData right, TransExpType type) { int rate = GameTableManager.Instance.GetGlobalConfig <int>("PassOnRateRide", ((int)type * 10).ToString()); int level = right.level; int leftRideExp = GetRideAllExp(left); if (leftRideExp <= 0) { return(level); } int leftExp = Mathf.CeilToInt(leftRideExp * rate * 0.01f) + right.exp; table.RideFeedData feeddata = GameTableManager.Instance.GetTableItem <table.RideFeedData>(right.baseid, level); while (feeddata != null) { leftExp -= (int)feeddata.upExp; if (leftExp >= 0) { level++; if (leftExp > 0) { feeddata = GameTableManager.Instance.GetTableItem <table.RideFeedData>(right.baseid, level); if (feeddata == null) { level--; } } else { feeddata = null; } } else { feeddata = null; } } return(level); }
public int OnSelectRide(UIRideGrid grid) { RideData rideData = grid.RideData; if (m_RightRideData != null && grid.TransExpSelect == 2) { OnUnselectRight(); return(0); } else if (m_LeftRideData != null && grid.TransExpSelect == 1) { OnUnselectLeft(); return(0); } else if (m_LeftRideData == null) { if (rideData.id == DataManager.Manager <RideManager>().Auto_Ride) { TipsManager.Instance.ShowTips(LocalTextType.Ride_Inherit_chuzhanzhongdezuoqiwufachuancheng); return(0); } if (m_RightRideData != null && m_RightRideData.id == rideData.id) { TipsManager.Instance.ShowTips(LocalTextType.Ride_Inherit_bunengxuanzetongyigezuoqijinxingchuancheng); return(0); } m_LeftRideData = rideData; GetOldRideUIGo().SetActive(true); m_widget_old_select.gameObject.SetActive(false); m_widget_new_select.gameObject.SetActive(m_RightRideData == null); m_label_Old_level_Before.text = rideData.level.ToString(); m_label_Old_level_After.text = "0"; m_label_Old_name.text = rideData.name; m_label_Old_speed_Before.text = rideData.GetSpeed().ToString() + "%"; m_label_Old_speed_After.text = RideData.GetSpeedById_Level(rideData.baseid, 0) + "%"; if (m__Old_icon != null) { UIManager.GetTextureAsyn(rideData.icon , ref iconOldAtlas, () => { if (null != m__Old_icon) { m__Icon.mainTexture = null; } }, m__Old_icon , true); UISprite border = m__Old_icon.cachedTransform.parent.Find("IconBox").GetComponent <UISprite>(); if (border != null) { UIManager.GetAtlasAsyn(rideData.QualityBorderIcon , ref borderOldAtlas , () => { if (null != border) { border.atlas = null; } } , border , true); } } TransExpType ttype = TransExpType.None; if (m_toggle_ptchuancheng.value) { ttype = TransExpType.Normal; } else if (m_toggle_wmchuancheng.value) { ttype = TransExpType.Perfect; } RefreshCostUI(ttype); return(1); } else if (m_RightRideData == null) { if (m_LeftRideData != null && m_LeftRideData.id == rideData.id) { TipsManager.Instance.ShowTips(LocalTextType.Ride_Inherit_bunengxuanzetongyigezuoqijinxingchuancheng); return(0); } m_RightRideData = rideData; GetNewRideUIGo().SetActive(true); m_widget_new_select.gameObject.SetActive(false); m_label_New_level_Before.text = m_RightRideData.level.ToString(); m_label_New_name.text = rideData.name; m_label_New_speed_Before.text = m_RightRideData.GetSpeed().ToString() + "%"; if (m__New_icon != null) { UIManager.GetTextureAsyn(rideData.icon , ref iconNewdAtlas, () => { if (null != m__New_icon) { m__New_icon.mainTexture = null; } }, m__New_icon, true); UISprite border = m__New_icon.cachedTransform.parent.Find("IconBox").GetComponent <UISprite>(); if (border != null) { UIManager.GetAtlasAsyn(rideData.QualityBorderIcon , ref borderNewAtlas, () => { if (null != border) { border.atlas = null; } }, border, true); } } SetRightNewLevel(); return(2); } return(0); }