使用Linq:
public static List<SceneConfig> GetSceneByWorld(uint world, SceneType type = SceneType.None)
{
if (type == SceneType.None)
{
return SceneConfigData.Instance.List
.Where(sceneConfig => sceneConfig.WorldId == world)
.ToList();
}
return SceneConfigData.Instance.List
.Where(sceneConfig => (sceneConfig.SceneType == Enum.GetName(typeof(SceneType), type))
&& sceneConfig.WorldId == world)
.ToList();
}
public enum SceneType
{
None, Realm, Gate, Map, Chat, Mgr,
}
不使用Linq:
public static List<SceneConfig> GetSceneByWorld(uint world, SceneType type = SceneType.None)
{
var sceneList = new List<SceneConfig>();
if (type == SceneType.None)
{
foreach (var sceneConfig in SceneConfigData.Instance.List)
{
if (sceneConfig.WorldId == world)
{
sceneList.Add(sceneConfig);
}
}
return sceneList;
}
foreach (var sceneConfig in SceneConfigData.Instance.List)
{
if (sceneConfig.SceneType == Enum.GetName(typeof(SceneType), type)
&& sceneConfig.WorldId == world)
{
sceneList.Add(sceneConfig);
}
}
return sceneList;
}
public enum SceneType
{
None, Realm, Gate, Map, Chat, Mgr,
}