Advanced: Manual Step Calls

Calling the steps using a script / button / event trigger.

在此,我们通过 TutorialSceneReferences (TSR) 中的公共封装方法手动处理步骤调用逻辑。

  1. 在将调用步骤的脚本中,创建对 TSR 的引用。例如: [SerializeField] private TutorialSceneReferences sceneReferences;

  2. 根据所需结果使用公共方法调用:

Method in TSR
Description
Call Example

IsStepDisplaying(int stepIndex)

检查步骤当前是否正在播放。

if (IsStepDisplaying(0)) {}

IsStepDone(int stepIndex)

检查步骤是否已完成。

if (IsStepDone(0)) {}

IsStepManualStart(int stepIndex)

检查步骤是否需要手动触发。

if (IsStepManualStart(0)) {}

TurnOffTutorial()

关闭教程。在同一场景中切换不同教程时很有用。

sceneReferences.TurnOnffTutorial();

TurnOnTutorial()

启动场景上的教程。在Autostart设置为false时很有用。

sceneReferences.TurnOnTutorial();

TranslateAllTutorial(InputStringsScriptableObject.Language language)

将所有教程提示翻译成支持的语言之一。

sceneReferences.InputStringsScriptableObject.Language.Italian);

TranslateAllTutorialByString(string language)

将所有教程提示翻译成CSV文件中存在的任何语言(查找带有此字符串的标题)。

sceneReferences.TranslateAllTutorialByString("Polish");

ChangeStepVisualText(int stepIndex, string textValue, TextToChange textField)

用于在运行时向所选步骤的所选提示传递自定义文本。

sceneReferences.ChangeStepVisualText(2, "Your text", TextToChange.PointerText)

StartTutorialStep(int stepIndex)

按索引启动特定教程步骤并禁用其他步骤。

sceneReferences.StartTutorialStep(2);

AsyncStartTutorialStep(int stepIndex)

按索引启动特定教程步骤且不禁用其他步骤。

sceneReferences.AsyncStartTutorialStep(2);

StartTutorialStepWithTargets(int stepIndex, List targetObjects, bool stopOtherSteps)

使用自定义目标 GameObject 启动教程步骤。

sceneReferences.ForceCompleteStep(2, myGameObjectList, false);

ForceCompleteStep(int stepIndex)

通过将步骤状态设置为"Done"来结束步骤,无论完成条件如何。

sceneReferences.ForceCompleteStep(2);

ForceCompleteTutorial()

完成场景上的所有教程步骤且无例外,标记为Done。

sceneReferences.ForceCompleteTutorial();

SkipTutorial()

跳过教程步骤,通过使用ForceCompleteTutorial或通过自定义逻辑(仅完成选定的步骤)。

sceneReferences.SkipTutorial();

SkipActiveTutorialModule()

根据指定的步骤列表有选择地跳过教程。

sceneReferences.SkipActiveTutorialModule();

ResetTutorialStep(int stepIndex)

通过将步骤状态设置为"NotDoneYet"来禁用步骤及其视觉元素。

ResetTutorialStep(0);

HideTutorial()

重置所有当前显示的教程步骤。

sceneReferences.HideTutorial();

ContinueTutorial()

重置后,尝试自动恢复先前暂停的步骤。

sceneReferences.ContinueTutorial();

  1. 建议将从脚本调用的步骤的 Start Step 设置为 Manually Call,以确保对执行过程的统一控制。

  2. 任何 UI Graphic 预制件中的 Confirm Button 也可以调用该预制件中 UIGraphicAnimation 脚本的公共方法。

UIGraphicAnimation Method
Description
Call Example

InitializeByConfirm()

在按钮点击时触发,将步骤中的 BlockedByButton 设置为 false。然后,步骤将继续,直到玩家满足主要条件。

FinishStep()

也可以通过按钮触发,在点击时立即完成该步骤。

FinishStepAndSkipTutorial()

也可以通过按钮触发,点击后完成步骤并跳过整个教程。

Last updated