主要函数介绍

注:本篇主要讲解脚本中的3个主要函数的作用和用法,请务必耐心看完本篇


概览

经过 基础代码 篇的操作你就可以看出来,我们的这个程序有三个必须的基础 方法1,分别是 Program 构造函数2Main 主方法 和 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来讲讲

Program 构造函数2

定义

初始化的时候最先执行的代码

解释

你可以将其理解为在编程块代码的整个运行周期中 只执行一次的代码,且会被 最先执行,因此我们可以在其中写一些初始化的代码逻辑

用途

其最常见的用途为以下两点:

  • 在初始化的时候 获取方块
  • 设置 主函数执行频率

Main 主函数

定义

周期循环执行的代码

解释

什么意思呢?其实了解过一点编程的应该都听说过 Main 函数,这个函数是程序的入口点,而对应到我们的游戏内脚本也是同理。

具体就是游戏会以固定的 频率 触发这段函数来执行其中的代码,这个频率可以在 Program 构造函数中设置

用途

脚本的核心代码和主要逻辑执行的位置

  • 执行 核心逻辑
  • 主要代码 存放处

Save 保存函数

定义

在游戏保存的时候执行

解释

保存函数 顾名思义就是当 游戏保存 的时候会触发一次这个函数,就比如你按ESC之后点击保存游戏就会调用一次这个函数

那么为什么需要这个保存函数呢?这就涉及到这个游戏的一个底层逻辑——每当重新进入游戏存档的时候,所有的编程块都会 重新开始 运行,也就是会中断当前执行状态。脚本会从 Program 构造函数开始初始化

而如果想要保存我们脚本的运行状态,就需要知道游戏什么时候被保存了,因此主要我们将存储当前运行状态的代码写在 Save 保存函数里面,就能在游戏保存时执行保存状态的操作,下次读档就能接着上次保存的状态继续运行了

用途

主要用来保存脚本当前的执行状态

  • 保存当前脚本执行状态
  • 保存游戏内需要存储的内容

在理解了以上函数的作用后,后面的代码编写会更加轻松


  1. 方法(method) 也叫函数,是类的行为定义,可以声明为 static 或实例方法 详细教程

  2. 构造函数(constructor) 是一种在创建对象时自动执行的特殊 方法1,用于给对象进行初始化,其名称必须与类名相同,且没有返回值类型 详细教程