Mad Level Manager: 关卡工作流程API

原文链接:
http://madlevelmanager.madpixelmachine.com/doc/2.3.4/basics/level_workflow_api.html

Mad Level Manager最强大的部分之一就是管理场景加载。你可以使用关卡配置来定义关卡。

一般工作流程

只有一个类是你需要知道的:MadLevel,注意类位于MadLevelManager命名空间下,你需要先这样写:

using MadLevelManager;

加载游戏的第一个关卡

我们把第一个关卡命名为First Level,加载这个关卡的代码很直观:

MadLevel.LoadLevelByName("First Level");

这样写没有问题,但是你需要知道关卡的名字。如果在你的关卡配置中,这是你的第一个Level类型的关卡的话,可以用更好的写法:

MadLevel.LoadFirst(MadLevel.Type.Level);

现在你不需要知道第一个关卡的名字了。这行代码可以在任何激活关卡配置并且存在一个关卡的工程中使用,是不是很牛B?

加载下一个关卡

你刚刚打穿了这一个关卡,然后想要进入下一个?完全没问题!

MadLevel.LoadNext(MadLevel.Type.Level);

LoadNext方法会寻找下一个 Level 类型的关卡,然后加载它。真是多么简单!但是如果这是所有关卡中的最后一个呢?那么我们需要这么做:

if (MadLevel.HasNext(MadLevel.Type.Level)) {
    MadLevel.LoadNext(MadLevel.Type.Level);
} else { 
    MadLevel.LoadLevelByName("Game Finished");
}

这段代码回检查是否还有下一关。如果没有了,就会加载一个 Other 类型的关卡,名字是 Game Finished。这样你就完成了所有关卡流程的设置。

让我们回去

你想回到前面的关卡吗?有个和 LoadNext() 相反的方法:

MadLevel.LoadPrevious(MadLevel.Type.Level);

或许你想重新开始整个游戏?那么你就需要加载你配置中定义的最开始的界面:

MadLevel.LoadFirst();

哪个配置被激活了?

你可以方便的获得当前配置名:

var configurationName = MadLevel.activeConfiguration.name;

你可以通过配置名在运行时改变你的游戏行为,比方说你现在有这两个配置:

  • My Game
  • My Game Demo

使用统一约定来命名你的配置是个好习惯,比如使用“Demo”后缀来标识demo配置。

var configurationName = MadLevel.activeConfiguration.name;
if (configurationName.EndsWith("Demo")) {
    Debug.Log("This is a demo version");
} else {
    Debug.Log("This is a full version");
}

更多信息

你也许会对以下内容感兴趣:

  • MadLevel API
  • MadLevelConfiguration API

你可能感兴趣的:(Mad Level Manager: 关卡工作流程API)