指挥官技能相关

main
Luofang 2024-02-28 13:39:44 +08:00
parent 7d19fbb2ba
commit f1aa82b98d
8 changed files with 280 additions and 95 deletions

View File

@ -4988,7 +4988,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 0}
m_Content: {fileID: 2915897243678497171}
m_Horizontal: 0
m_Vertical: 1
m_MovementType: 1
@ -7188,6 +7188,11 @@ PrefabInstance:
serializedVersion: 3
m_TransformParent: {fileID: 3768542003823655613}
m_Modifications:
- target: {fileID: 1223537656239126125, guid: 4d55f76a9fdc1934184dfa329d8e6349,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3505906195593064353, guid: 4d55f76a9fdc1934184dfa329d8e6349,
type: 3}
propertyPath: m_Name
@ -7298,8 +7303,16 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 9139250714162733339, guid: 4d55f76a9fdc1934184dfa329d8e6349,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_RemovedGameObjects:
- {fileID: 8958309788355149384, guid: 4d55f76a9fdc1934184dfa329d8e6349, type: 3}
- {fileID: 2972870078943715011, guid: 4d55f76a9fdc1934184dfa329d8e6349, type: 3}
- {fileID: 3691111472017646455, guid: 4d55f76a9fdc1934184dfa329d8e6349, type: 3}
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4d55f76a9fdc1934184dfa329d8e6349, type: 3}

View File

@ -1,8 +1,8 @@
using cfg.PlayerSkillCfg;
using cfg.SkillCfg;
using Framework;
using Gameplay;
using Gameplay.Net;
using NLDPB;
using PhxhSDK;
using System;
using System.Collections.Generic;
@ -44,7 +44,7 @@ public class CommandSkill_CultivateController : UIWindow
public TMP_Text Text_PhysicalNumGrey;
public TMP_Text Text_StartSweep;
public Button Button_Confirm_Grey;
public GameObject Button_Confirm_Grey;
public AllPlayerSkillCultivateData m_Data;
GameObject layerObj;
@ -73,7 +73,9 @@ public class CommandSkill_CultivateController : UIWindow
CommandSkill_CultivateBinder.GetComponents(this);
layerObj = FindObj("CommandSkillLayerNode");
scrollViewObj = FindObj("ImageBG/Image_CommandBG/ScrollRect/Viewport/Content");
mSkillDataDic = new Dictionary<SinglePlayerSkillCultivateData, GameObject>();
Button_Confirm_Grey = FindObj("ImageBG/Image_DownBG/Button_Confirm_Grey");
mSkillDataDic = new Dictionary<SinglePlayerSkillCultivateData, GameObject>();
nowSkill = null;
BindButton(Button_Minus, MinusBtnClick);
BindButton(Button_Plus, PlusBtnOnClick);
@ -92,6 +94,7 @@ public class CommandSkill_CultivateController : UIWindow
}
void OnPlaySkillUpgrade()
{
RefreshUI();
}
private void RefreshCost()
@ -114,15 +117,20 @@ public class CommandSkill_CultivateController : UIWindow
if (tempCost > CommonUtils.GetItemCount(TableManager.Instance.Tables.PlayerSkillUpgrade.DataList[0].Cost[0].Id))
{
Image_physicalBGGrey.gameObject.SetActive(true);
Image_physicalBG.gameObject.SetActive(false);
Button_Confirm.gameObject.SetActive(false);
Button_Confirm_Grey.SetActive(true);
Image_physicalBGGrey.gameObject.SetActive(true);
Image_physicalBG.gameObject.SetActive(false);
}else
}
else
{
Image_physicalBGGrey.gameObject.SetActive(false);
Image_physicalBG.gameObject.SetActive(true);
Button_Confirm.gameObject.SetActive(true);
Button_Confirm_Grey.SetActive(false);
Image_physicalBGGrey.gameObject.SetActive(false);
Image_physicalBG.gameObject.SetActive(true);
}
}
Text_PhysicalNum.text ="-"+ tempCost.ToString();
Text_PhysicalNumGrey.text = "-" + tempCost.ToString();
@ -132,10 +140,16 @@ public class CommandSkill_CultivateController : UIWindow
{
if(nowSkill.IfMaxLevel())
{
UITipsManager.ShowTips(CommonUtils.GetLocalizeText(""));
UITipsManager.ShowTips(CommonUtils.GetLocalizeText("cultivate_ZhiHuiGuan_MaxLevelTips"));
return;
}
if(!nowSkill.IsUnlock())
{
UITipsManager.ShowTips(CommonUtils.GetLocalizeText("cultivate_ZhiHuiGuan_NotUnLock"));
return;
}
NetHelper.PlayerSkillUpgrade((uint)nowSkill.ID);
}
@ -190,10 +204,9 @@ public class CommandSkill_CultivateController : UIWindow
RefreshUI();
RefreshSkillDetail();
RefreshCost();
RegisterEvent();
}
private void GetData()
private void GetData()
{
m_Data = new AllPlayerSkillCultivateData();
}
@ -214,21 +227,26 @@ public class CommandSkill_CultivateController : UIWindow
RefreshSingleLayerByType(CommonUtils.GetGameObject(go, "Conduct"), layer, isFirst, PlayerSkillType.Conduct);
RefreshSingleLayerByType(CommonUtils.GetGameObject(go, "Attack"), layer, isFirst, PlayerSkillType.Attack);
RefreshSingleLayerByType(CommonUtils.GetGameObject(go, "Healing"), layer, isFirst, PlayerSkillType.Support);
}
private void RefreshSingleLayerByType(GameObject go, int layer, bool isFirst, PlayerSkillType skillType)
{
CommonUtils.GetGameObject(go, "line").SetActive(false);
PlayerLayerCultivateData data = m_Data.GetDataBySkillType(skillType).GetDataByLayer(layer);
var nameObj = CommonUtils.GetGameObject(go, "Image");
if (data == null)
{
nameObj.SetActive(false);
for (int i = 0; i < 3; i++)
{
CommonUtils.GetGameObject(go, (i + 1).ToString()).SetActive(false);
}
return;
}
//名字
var nameObj = CommonUtils.GetGameObject(go, "Image");
nameObj.SetActive(isFirst);
string nameStr = "";
switch (skillType)
@ -253,6 +271,7 @@ public class CommandSkill_CultivateController : UIWindow
{
case 1:
RefreshSkillNode(CommonUtils.GetGameObject(go, "1/CommandSkillNode"), data.dataList[0]);
break;
case 2:
for (int i = 0; i < 2; i++)
@ -269,17 +288,20 @@ public class CommandSkill_CultivateController : UIWindow
}
}
private async void RefreshSkillNode(GameObject go,SinglePlayerSkillCultivateData data)
{
go.GetComponent<Image>().sprite = await AssetManager.GetSingleton().LoadAssetAsync<Sprite>(data.IconPath);
int level = Actor.Instance.PlayerSkill.GetLevel(data.ID);
go.GetComponent<Image>().sprite = await AssetManager.GetSingleton().LoadAssetAsync<Sprite>(data.IconPath);
Button clearBtn = CommonUtils.GetComponent<Button>(go,"ClickBtn");
ClearBind(CommonUtils.GetComponent<Button>(go, "ClickBtn"));
BindButton<SinglePlayerSkillCultivateData>(clearBtn, BtnOnClick, data);
CommonUtils.GetGameObject(go, "Image_LVBG/Text_LV").SetActive(data.IfMaxLevel());
CommonUtils.GetGameObject(go, "Image_LVBG/Text_LVGrey").SetActive(!data.IfMaxLevel());
CommonUtils.GetComponent<TMP_Text>(go, "Image_LVBG/Text_LV").text = data.Level + "/" + data.maxLevel;
CommonUtils.GetComponent<TMP_Text>(go, "Image_LVBG/Text_LVGrey").text = data.Level + "/" + data.maxLevel;
CommonUtils.GetComponent<TMP_Text>(go, "Image_LVBG/Text_LV").text = level + "/" + data.maxLevel;
CommonUtils.GetComponent<TMP_Text>(go, "Image_LVBG/Text_LVGrey").text = level + "/" + data.maxLevel;
mSkillDataDic[data]=go;
}

View File

@ -8,6 +8,23 @@ using System;
using System.Collections.Generic;
using System.Linq;
public static class PlayerSkillUpgradeTableHelper
{
public static int GetMaxLevel(int id)
{
int maxLevel = 0;
for (int i = 0; i <TableManager.Instance.Tables.PlayerSkillUpgrade.DataList.Count ; i++)
{
DataPlayerSkillUpgrade data = TableManager.Instance.Tables.PlayerSkillUpgrade.DataList[i];
if (data.Level>maxLevel)
{
maxLevel = data.Level;
}
}
return maxLevel;
}
}
public class SinglePlayerSkillCultivateData
{
public int ID;
@ -20,10 +37,22 @@ public class SinglePlayerSkillCultivateData
public int[] unLockId => UpgradeCfg.Unlock;
public List<int> nextLockId;
public List<int> unLockIndex;
public string Name => CommonUtils.GetLocalizeText(SkillCfg.NameLocal);
public string Desc => CommonUtils.GetLocalizeText(SkillCfg.DescLocal);
public bool IsUnlock()
{
for (int i = 0; i < unLockIndex.Count; i++)
{
int level = Actor.Instance.PlayerSkill.GetLevel(unLockIndex[i]);
if((level==0)||level<PlayerSkillUpgradeTableHelper.GetMaxLevel(unLockIndex[i]))
{
return false;
}
}
return true;
}
public SinglePlayerSkillCultivateData(DataPlayerSkillUpgrade cfg)
{
ID= cfg.ID;
@ -31,6 +60,7 @@ public class SinglePlayerSkillCultivateData
RefreshLevel();
RefreshMaxLevel(cfg.Level);
nextLockId = new List<int>();
unLockIndex = new List<int>();
//检查上层配置
if(cfg.LayerID==1)
{
@ -64,7 +94,10 @@ public class SinglePlayerSkillCultivateData
nextLockId.Add(ID);
}
public void AddUnlockIndexID(int ID)
{
unLockIndex.Add(ID);
}
public bool IfMaxLevel()
{
return Level >= maxLevel;
@ -225,12 +258,36 @@ public class AllPlayerSkillCultivateData
TidyAllData();
}
private void GetUpIndexData(PlayerSkillTypeData data)
{
for (int i = 1; i <= data.MaxLayer; i++)
{
if (i != 1)
{
for (int j = 0; j < data.layerDataDic[i].dataList.Count; j++)
{
var nowdata = data.layerDataDic[i].dataList[j];
for (int k = 0; k < data.layerDataDic[i - 1].dataList.Count; k++)
{
if (nowdata.unLockId.Contains(data.layerDataDic[i - 1].dataList[k].ID))
{
nowdata.unLockIndex.Add(k);
}
}
}
}
}
}
private void TidyAllData()
{
TidySingleData(playerTypeDic[PlayerSkillType.Conduct]);
TidySingleData(playerTypeDic[PlayerSkillType.Support]);
TidySingleData(playerTypeDic[PlayerSkillType.Attack]);
}
private void TidySingleData(PlayerSkillTypeData data)
{
@ -266,6 +323,8 @@ public class AllPlayerSkillCultivateData
}
}
GetUpIndexData(data);
}
private void GetAllNextLockId()
{
@ -273,7 +332,6 @@ public class AllPlayerSkillCultivateData
GetSingleNextLockId(playerTypeDic[PlayerSkillType.Support]);
GetSingleNextLockId(playerTypeDic[PlayerSkillType.Attack]);
}
private void GetSingleNextLockId(PlayerSkillTypeData data)
{

View File

@ -42,7 +42,6 @@ public class CommandSkill_CultivateBinder
window.Image_Physical = window.GetComponent<Image>("ImageBG/Image_DownBG/Button_Confirm_Grey/Image_physicalBG/Image_Physical");
window.Text_PhysicalNumGrey = window.GetComponent<TMP_Text>("ImageBG/Image_DownBG/Button_Confirm_Grey/Image_physicalBG/Text_PhysicalNum");
window.Text_StartSweep = window.GetComponent<TMP_Text>("ImageBG/Image_DownBG/Button_Confirm_Grey/Text_StartSweep");
}
/****** ******

View File

@ -5,7 +5,6 @@ using Gameplay;
using Gameplay.Common;
using Gameplay.Net;
using PhxhSDK;
using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
@ -91,7 +90,7 @@ public class UI_MainPanelController: UIWindow
bool isFirst = true;
const float minutes=60;
// Use this for initializationf
// Use this for initialization
public override void OnInit()
{
//bind UI GameObj
@ -125,10 +124,17 @@ public class UI_MainPanelController: UIWindow
BindButton(Button_Unknown, _OnClickTask);
BindButton(Button_Camera, OnCameraClick);
BindButton(GetComponent<Button>("CommandSkillBtn"), OnCommandSkillClick);
cameraGoList = new List<GameObject>();
RegisterScreenAdaption();
}
private async void OnCommandSkillClick()
{
await UIManager.Instance.OpenWindow(UINameConst.UI_CommandSkill);
}
private async void OnStoreBtnClick()
{
await UIManager.Instance.OpenWindow(UINameConst.UI_Shop);

View File

@ -23,7 +23,7 @@
"Cost": [
{
"Id": 1,
"Count": 1000
"Count": 1001
}
]
},
@ -37,7 +37,7 @@
"Cost": [
{
"Id": 1,
"Count": 1000
"Count": 1002
}
]
},
@ -167,6 +167,146 @@
}
]
},
{
"ID": 3001,
"Level": 0,
"skillType": 0,
"LayerID": 3,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 3001,
"Level": 1,
"skillType": 0,
"LayerID": 3,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 3001,
"Level": 2,
"skillType": 0,
"LayerID": 3,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 3001,
"Level": 3,
"skillType": 0,
"LayerID": 3,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 2002,
"Level": 0,
"skillType": 0,
"LayerID": 3,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 2002,
"Level": 1,
"skillType": 0,
"LayerID": 3,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 2002,
"Level": 2,
"skillType": 0,
"LayerID": 3,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 112,
"Level": 0,
"skillType": 0,
"LayerID": 4,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 112,
"Level": 1,
"skillType": 0,
"LayerID": 4,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 112,
"Level": 2,
"skillType": 0,
"LayerID": 4,
"SkillID": 0,
"Unlock": [],
"Cost": [
{
"Id": 1,
"Count": 1000
}
]
},
{
"ID": 311,
"Level": 0,

View File

@ -1247,6 +1247,18 @@
"Value": "确认升级",
"Value_En": ""
},
{
"ID": 30096,
"Key": "cultivate_ZhiHuiGuan_MaxLevelTips",
"Value": "当前技能已升级到最高",
"Value_En": ""
},
{
"ID": 30097,
"Key": "cultivate_ZhiHuiGuan_NotUnLock",
"Value": "该技能未解锁",
"Value_En": ""
},
{
"ID": 40001,
"Key": "skill_desc1",

View File

@ -1,66 +1 @@
[
{
"Id": "Icon_Weather_Sunny",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_Sunshine.png"
},
{
"Id": "Icon_Weather_SandStorm",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_Forest.png"
},
{
"Id": "Icon_Weather_Rain",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_Rain.png"
},
{
"Id": "Icon_Weather_Snow",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_Snow.png"
},
{
"Id": "Icon_Weather_Fog",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_Fog.png"
},
{
"Id": "Icon_Daynight_Day",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_Day.png"
},
{
"Id": "Icon_Daynight_Night",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_Night.png"
},
{
"Id": "Icon_Environment_Plain",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_FlatLand.png"
},
{
"Id": "Icon_Environment_Mountain",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_MounTain.png"
},
{
"Id": "Icon_Environment_Grassland",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_Forest.png"
},
{
"Id": "Icon_Environment_Forest",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_Forest.png"
},
{
"Id": "Icon_Environment_Snow",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_SnowLand.png"
},
{
"Id": "Icon_Environment_MuddyLand",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_MounTain.png"
},
{
"Id": "Icon_Environment_Gobi",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_MounTain.png"
},
{
"Id": "Icon_Environment_Desert",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_MounTain.png"
},
{
"Id": "Icon_Environment_Plateau",
"path": "Assets/Art/UI/Texture/CommonTextures/MapWeatherAndLand/UI_Pause_MounTain.png"
}
]
[]