NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Guide/GuideGroup.cs

67 lines
1.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using cfg.GuideCfg;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 引导组
/// </summary>
public class GuideGroup
{
/// <summary>
/// 引导步骤
/// </summary>
private readonly LinkedList<GuideStepBase> linkGuideStep;
/// <summary>
/// 当前引导步骤
/// </summary>
private readonly LinkedListNode<GuideStepBase> curStep;
public GuideGroup(LinkedList<DataGuideCfg> linkCfg)
{
linkGuideStep = new();
foreach (DataGuideCfg cfg in linkCfg)
{
linkGuideStep.AddLast(CreateGuideStep(cfg));
}
curStep = linkGuideStep.First;
}
/// <summary>
/// 开始引导
/// </summary>
public void BeginGuide()
{
}
/// <summary>
/// 结束引导
/// </summary>
public void EndGuide()
{
}
/// <summary>
/// 创建引导步骤
/// </summary>
/// <param name="dataGuideCfg"></param>
/// <returns></returns>
private GuideStepBase CreateGuideStep(DataGuideCfg dataGuideCfg)
{
if (null == dataGuideCfg)
return null;
return dataGuideCfg.GuideType switch // TODO测试类型
{
"播放视频" => new PlayVideoStep(dataGuideCfg),
"点击视频" => new ClickButtonStep(dataGuideCfg),
_ => throw new Exception("未处理类型"),
};
}
}