|
@@ -39,6 +39,7 @@ namespace GFGGame
|
|
_ui.m_btnBack.onClick.Add(OnBtnBackClick);
|
|
_ui.m_btnBack.onClick.Add(OnBtnBackClick);
|
|
_ui.m_listScore.itemRenderer = RenderListScoreItem;
|
|
_ui.m_listScore.itemRenderer = RenderListScoreItem;
|
|
_ui.m_list.itemRenderer = RenderListItem;
|
|
_ui.m_list.itemRenderer = RenderListItem;
|
|
|
|
+ _ui.m_list.SetVirtual();
|
|
|
|
|
|
_valueBarController = new ValueBarController(_ui.m_comValue);
|
|
_valueBarController = new ValueBarController(_ui.m_comValue);
|
|
|
|
|
|
@@ -47,7 +48,6 @@ namespace GFGGame
|
|
protected override void AddEventListener()
|
|
protected override void AddEventListener()
|
|
{
|
|
{
|
|
base.AddEventListener();
|
|
base.AddEventListener();
|
|
-
|
|
|
|
}
|
|
}
|
|
protected override void OnShown()
|
|
protected override void OnShown()
|
|
{
|
|
{
|
|
@@ -55,10 +55,10 @@ namespace GFGGame
|
|
_type = (int)this.viewData;
|
|
_type = (int)this.viewData;
|
|
_valueBarController.OnShown();
|
|
_valueBarController.OnShown();
|
|
_valueBarController.Controller(11);
|
|
_valueBarController.Controller(11);
|
|
- _ui.m_list.numItems = LeagueSkillCountCfgArray.Instance.dataArray.Length;
|
|
|
|
- if (_type > LeagueDataManager.Instance.MaxFinishType)
|
|
|
|
|
|
+ _ui.m_list.numItems = LeagueSkillCountCfgArray.Instance.GetCfg(_type).layerCount;
|
|
|
|
+ if (LeagueDataManager.Instance.GetSkillProgressByType(_type) < 100)
|
|
{
|
|
{
|
|
- _ui.m_list.ScrollToView(LeagueDataManager.Instance.MaxFinishLayer);
|
|
|
|
|
|
+ _ui.m_list.ScrollToView(LeagueDataManager.Instance.CurLayer);
|
|
}
|
|
}
|
|
UpdateView();
|
|
UpdateView();
|
|
}
|
|
}
|
|
@@ -77,13 +77,16 @@ namespace GFGGame
|
|
|
|
|
|
private void OnBtnBackClick()
|
|
private void OnBtnBackClick()
|
|
{
|
|
{
|
|
- ViewManager.GoBackFrom(typeof(LeagueSkillView).FullName);
|
|
|
|
|
|
+ ViewManager.GoBackFrom(typeof(LeagueSkillUpView).FullName);
|
|
}
|
|
}
|
|
private void UpdateView()
|
|
private void UpdateView()
|
|
{
|
|
{
|
|
_ui.m_listScore.numItems = 4;
|
|
_ui.m_listScore.numItems = 4;
|
|
|
|
+ _ui.m_list.RefreshVirtualList();
|
|
|
|
+ _ui.m_comSkillType.m_txtTitle.text = "茶艺-" + LeagueSkillCountCfgArray.Instance.GetCfg(_type).name;
|
|
UI_ListSkillTypeItem item = UI_ListSkillTypeItem.Proxy(_ui.m_comSkillType.target);
|
|
UI_ListSkillTypeItem item = UI_ListSkillTypeItem.Proxy(_ui.m_comSkillType.target);
|
|
- item.m_txtProgress.text = LeagueDataManager.Instance.GetSkillProgressByType(_type).ToString();
|
|
|
|
|
|
+ double progress = LeagueDataManager.Instance.GetSkillProgressByType(_type);
|
|
|
|
+ item.m_txtProgress.text = string.Format("进度{0}%", progress);
|
|
UI_ListSkillTypeItem.ProxyEnd();
|
|
UI_ListSkillTypeItem.ProxyEnd();
|
|
}
|
|
}
|
|
private void RenderListScoreItem(int index, GObject obj)
|
|
private void RenderListScoreItem(int index, GObject obj)
|
|
@@ -111,6 +114,8 @@ namespace GFGGame
|
|
UI_ListSkillItem item = UI_ListSkillItem.Proxy(obj);
|
|
UI_ListSkillItem item = UI_ListSkillItem.Proxy(obj);
|
|
item.m_loaScore.url = ResPathUtil.GetScorePath(skillCfgs[index].score);
|
|
item.m_loaScore.url = ResPathUtil.GetScorePath(skillCfgs[index].score);
|
|
item.m_txtScore.text = skillCfgs[index].value.ToString();
|
|
item.m_txtScore.text = skillCfgs[index].value.ToString();
|
|
|
|
+ bool isLock = !SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(_type) || SkillDataManager.Instance.LeagueSkillDatas[_type].IndexOf(skillCfgs[index].id) < 0;
|
|
|
|
+ item.m_imgLock.visible = isLock;
|
|
ItemUtil.UpdateItemNeedNum(item.m_comCost, skillCfgs[index].consumeArr[0], true);
|
|
ItemUtil.UpdateItemNeedNum(item.m_comCost, skillCfgs[index].consumeArr[0], true);
|
|
if (item.target.data == null)
|
|
if (item.target.data == null)
|
|
{
|
|
{
|
|
@@ -124,11 +129,31 @@ namespace GFGGame
|
|
{
|
|
{
|
|
GObject obj = context.sender as GObject;
|
|
GObject obj = context.sender as GObject;
|
|
int skillId = (int)obj.data;
|
|
int skillId = (int)obj.data;
|
|
|
|
+ if (SkillDataManager.Instance.LeagueSkillDatas.ContainsKey(_type) && SkillDataManager.Instance.LeagueSkillDatas[_type].IndexOf(skillId) >= 0)
|
|
|
|
+ {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ LeagueSkillCfg skillCfg = LeagueSkillCfgArray.Instance.GetCfg(skillId);
|
|
|
|
+ List<LeagueSkillCfg> lastSkillCfgs = LeagueSkillCfgArray.Instance.GetCfgsBytypeAndlayer(_type, skillCfg.layer - 1);
|
|
|
|
+ for (int i = 0; i < lastSkillCfgs.Count; i++)
|
|
|
|
+ {
|
|
|
|
+ if (SkillDataManager.Instance.LeagueSkillDatas[_type].IndexOf(lastSkillCfgs[i].id) < 0)
|
|
|
|
+ {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ long needCount = skillCfg.consumeArr[0][1];
|
|
|
|
+ long hasCount = ItemDataManager.GetItemNum(skillCfg.consumeArr[0][0]);
|
|
|
|
+ if (hasCount < needCount)
|
|
|
|
+ {
|
|
|
|
+ PromptController.Instance.ShowFloatTextPrompt("消耗不足");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
bool result = await SkillSProxy.ReqActiveSkill(SkillType.LeagueSkill, skillId);
|
|
bool result = await SkillSProxy.ReqActiveSkill(SkillType.LeagueSkill, skillId);
|
|
if (result)
|
|
if (result)
|
|
{
|
|
{
|
|
- LeagueSkillCfg skillCfg = LeagueSkillCfgArray.Instance.GetCfg(skillId);
|
|
|
|
-
|
|
|
|
|
|
+ UpdateView();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|