注:本篇主要讲解脚本中的3个主要函数的作用和用法,请务必耐心看完本篇
经过 基础代码 篇的操作你就可以看出来,我们的这个程序有三个必须的基础 方法1,分别是 Program 构造函数2、Main 主方法 和 Save 保存方法
using Sandbox.ModAPI.Ingame;
using XFEExtension.SpaceEngineers.ScriptingHelper;
namespace MyProject
{
internal class Program : MyGridProgram, IProgramBase
{
// 注意,复制到游戏内编程块的时候应当从下面开始复制
//------------------从此处开始复制------------------//
public Program()
{
// 这里是 构造函数
}
public void Main(string argument, UpdateType updateSource)
{
// 这里是 主函数
}
public void Save()
{
// 这里是 保存函数
}
//------------------从此处结束复制------------------//
}
}
接下来的讲解将围绕着这三个主要 函数1来讲讲
初始化的时候最先执行的代码
你可以将其理解为在编程块代码的整个运行周期中 只执行一次的代码,且会被 最先执行,因此我们可以在其中写一些初始化的代码逻辑
其最常见的用途为以下两点:
周期循环执行的代码
什么意思呢?其实了解过一点编程的应该都听说过 Main 函数,这个函数是程序的入口点,而对应到我们的游戏内脚本也是同理。
具体就是游戏会以固定的 频率 触发这段函数来执行其中的代码,这个频率可以在 Program 构造函数中设置
脚本的核心代码和主要逻辑执行的位置
在游戏保存的时候执行
保存函数 顾名思义就是当 游戏保存 的时候会触发一次这个函数,就比如你按ESC之后点击保存游戏就会调用一次这个函数
那么为什么需要这个保存函数呢?这就涉及到这个游戏的一个底层逻辑——每当重新进入游戏存档的时候,所有的编程块都会 重新开始 运行,也就是会中断当前执行状态。脚本会从 Program 构造函数开始初始化
而如果想要保存我们脚本的运行状态,就需要知道游戏什么时候被保存了,因此主要我们将存储当前运行状态的代码写在 Save 保存函数里面,就能在游戏保存时执行保存状态的操作,下次读档就能接着上次保存的状态继续运行了
主要用来保存脚本当前的执行状态
在理解了以上函数的作用后,后面的代码编写会更加轻松