新版关卡选择(未全部修改完)

main
yurui 2024-09-03 19:22:47 +08:00
parent 9525cdc94b
commit 8a2a8e4f48
13 changed files with 34739 additions and 38002 deletions

Binary file not shown.

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: a19906a69b24f254eb92020ff112a2dc
guid: 408801052b637a641a271e9b56ceb6d0
PrefabImporter:
externalObjects: {}
userData:

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 408801052b637a641a271e9b56ceb6d0
guid: a19906a69b24f254eb92020ff112a2dc
PrefabImporter:
externalObjects: {}
userData:

View File

@ -13,7 +13,7 @@ public class LevelGroupInfo : IEnumerable<LevelInfo>, IRedPointTreeNode
/// <summary>
/// 关卡信息列表
/// </summary>
private readonly List<LevelInfo> listLevelInfo = new();
public List<LevelInfo> ListLevelInfo { get; private set; } = new();
/// <summary>
/// 关卡组配置
@ -46,7 +46,7 @@ public class LevelGroupInfo : IEnumerable<LevelInfo>, IRedPointTreeNode
get
{
int count = 0;
foreach (LevelInfo levelInfo in listLevelInfo)
foreach (LevelInfo levelInfo in ListLevelInfo)
{
count += levelInfo.StarCount;
}
@ -58,7 +58,7 @@ public class LevelGroupInfo : IEnumerable<LevelInfo>, IRedPointTreeNode
/// <summary>
/// 最大星星数量
/// </summary>
public int StarMax => listLevelInfo.Count * 3;
public int StarMax => ListLevelInfo.Count * 3;
/// <summary>
/// 是否锁住
@ -67,7 +67,7 @@ public class LevelGroupInfo : IEnumerable<LevelInfo>, IRedPointTreeNode
{
get
{
foreach (LevelInfo levelInfo in listLevelInfo)
foreach (LevelInfo levelInfo in ListLevelInfo)
{
if (!levelInfo.IsLock)
return false;
@ -88,13 +88,13 @@ public class LevelGroupInfo : IEnumerable<LevelInfo>, IRedPointTreeNode
/// <param name="levelInfo"></param>
public void AddLevel(LevelInfo levelInfo)
{
if (listLevelInfo.Contains(levelInfo))
if (ListLevelInfo.Contains(levelInfo))
{
DebugUtil.LogError($"添加重复的关卡关卡ID:{levelInfo.Cfg.Id}");
return;
}
listLevelInfo.Add(levelInfo);
ListLevelInfo.Add(levelInfo);
}
/// <summary>
@ -119,7 +119,7 @@ public class LevelGroupInfo : IEnumerable<LevelInfo>, IRedPointTreeNode
public void ConstructRedPointTree(RedPointNode parent)
{
RedPoint = RedPointManager.Instance.AddDynamicNode(NodeType.Normal, parent);
foreach (LevelInfo levelInfo in listLevelInfo)
foreach (LevelInfo levelInfo in ListLevelInfo)
{
levelInfo.ConstructRedPointTree(RedPoint);
}
@ -127,7 +127,7 @@ public class LevelGroupInfo : IEnumerable<LevelInfo>, IRedPointTreeNode
public IEnumerator<LevelInfo> GetEnumerator()
{
return listLevelInfo.GetEnumerator();
return ListLevelInfo.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
@ -137,6 +137,6 @@ public class LevelGroupInfo : IEnumerable<LevelInfo>, IRedPointTreeNode
public void ConstructRedPointTree(int parentID)
{
throw new System.NotImplementedException();
}
}

View File

@ -246,17 +246,12 @@ namespace Gameplay.Level
/// </summary>
/// <param name="levelChapterType"></param>
/// <returns></returns>
public void GetChapterInfosByType(E_ChapterType type, ref List<ChapterInfo> listChapterInfo)
public bool TryGetChapterInfosByType(E_ChapterType type, out List<ChapterInfo> listChapterInfo)
{
listChapterInfo ??= new();
if (dicChapterType.TryGetValue(type, out listChapterInfo) && null != listChapterInfo)
return true;
listChapterInfo.Clear();
foreach (ChapterInfo chapterInfo in dicChapterInfo.Values)
{
if (chapterInfo.Cfg.Type == type)
listChapterInfo.Add(chapterInfo);
}
return false;
}
public List<LevelInfo> GetAllLevelInfo()

View File

@ -4,7 +4,7 @@ using Image = UnityEngine.UI.Image;
public class UI_LevelSelectBinder
{
public static void GetComponents(UI_LevelSelectController window)
public static void GetComponents(UI_LevelSelectController1 window)
{
window.Text_ChapterName = window.GetComponent<TMP_Text>("UI_LevelChoose/Image_LevelBG/Text_ChapterName");
window.Text_ChapterNum = window.GetComponent<TMP_Text>("UI_LevelChoose/Image_LevelBG/Text_ChapterNum");

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d7e8e3e203c9b154abad6b99edcb8f94
guid: 1a7555c63f9d8a641acfeb7911460c69
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -460,7 +460,6 @@ public class UI_LevelSelectController1 : UIWindow
starCountEasy = levelGroupInfo.StarCount;
starMaxEasy = levelGroupInfo.StarMax;
}
imageProcessBarEasy.fillAmount = (float)starCountEasy / starMaxEasy;
textEasyStarNow.text = starCountEasy.ToString();
textEasyStarMax.text = starMaxEasy.ToString();
@ -525,7 +524,7 @@ public class UI_LevelSelectController1 : UIWindow
public override void SetInfo()
{
LevelManager.Instance.GetChapterInfosByType(ChapterType, ref listShowChapterInfo);
LevelManager.Instance.TryGetChapterInfosByType(ChapterType, out listShowChapterInfo);
listShowChapterInfo.Sort((a, b) => { return a.Cfg.Id.CompareTo(b.Cfg.Id); });
@ -895,6 +894,7 @@ public class UI_LevelSelectController1 : UIWindow
public override void OnInit()
{
UI_LevelSelectBinder.GetComponents(this);
buttonBack = GetComponent<Button>("Button_Back/Button_back");
buttonHome = GetComponent<Button>("Button_Back/Button_Home");
@ -1054,7 +1054,6 @@ public class UI_LevelSelectController1 : UIWindow
if (!curChapterInfo.TryGetGroupInfo(E_LevelDifficulty.Easy, out curHardLevelGroupInfo))
DebugUtil.LogError("获取困难关卡组失败");
//curPlotLevelGroupInfo = curChapterInfo.PlotLevelGroup;
//curResourceLevelGroupInfo = curChapterInfo.ResourceLevelGroup;
@ -1216,7 +1215,7 @@ public class UI_LevelSelectController1 : UIWindow
if (E_ChapterType.Storyline == levelChapterType)
{
List<ChapterInfo> chapterInfos = new();
LevelManager.Instance.GetChapterInfosByType(levelChapterType, ref chapterInfos);
LevelManager.Instance.TryGetChapterInfosByType(levelChapterType, out chapterInfos);
if (chapterInfos.Count > 0)
{
curChapterInfo = chapterInfos[0];
@ -1228,7 +1227,7 @@ public class UI_LevelSelectController1 : UIWindow
if (E_ChapterType.Resource == levelChapterType)
{
List<ChapterInfo> chapterInfos = new();
LevelManager.Instance.GetChapterInfosByType(levelChapterType, ref chapterInfos);
LevelManager.Instance.TryGetChapterInfosByType(levelChapterType, out chapterInfos);
if (chapterInfos.Count > 0)
{
curChapterInfo = chapterInfos[0];

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 1a7555c63f9d8a641acfeb7911460c69
guid: d7e8e3e203c9b154abad6b99edcb8f94
MonoImporter:
externalObjects: {}
serializedVersion: 2