引导相关

main
yurui 2024-05-22 19:08:14 +08:00
parent 5b86a33a12
commit 3606deedc8
8 changed files with 175 additions and 1 deletions

View File

@ -0,0 +1,66 @@
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("未处理类型"),
};
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 20b84f7b8273f7d4db7546fa7fd91fad
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -52,7 +52,7 @@ public class GuideManager : Singlenton<GuideManager>, IInitable
LinkedList<DataGuideCfg> linkCfg = new();
dicGuideCfg[cfg.GroupId] = linkCfg;
while (addCfg != null)
while (null != addCfg)
{
linkCfg.AddLast(addCfg);
addCfg = TableManager.Instance.Tables.GuideConfig.Get(addCfg.NextId);

View File

@ -0,0 +1,37 @@
using cfg.GuideCfg;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 引导步骤基类
/// </summary>
public abstract class GuideStepBase
{
/// <summary>
/// 引导步骤类型
/// </summary>
public string StepType;
public GuideStepBase(DataGuideCfg dataGuideCfg)
{
}
}
/// <summary>
/// 点击按钮
/// </summary>
public class ClickButtonStep : GuideStepBase
{
public ClickButtonStep(DataGuideCfg dataGuideCfg) : base(dataGuideCfg)
{
}
}
public class PlayVideoStep : GuideStepBase
{
public PlayVideoStep(DataGuideCfg dataGuideCfg) : base(dataGuideCfg)
{
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 664ab31537ee89b45aab498785b25667
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 730e8defe9fdb7a44a74721003299513
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,30 @@
using Gameplay.Net;
using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.UIElements;
/// <summary>
/// 新手引导UI
/// </summary>
public class UI_GuideController : UIWindow
{
public override void OnInit()
{
}
protected override void OnShowWindow(object data = null)
{
}
protected override void OnHideWindow()
{
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 6e5ef31c927a68c44ae5b0e9c727dbb3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: