Net.Project.B/Src/GameService/IGameMapService.cs

63 lines
1.7 KiB
C#
Raw Normal View History

2024-11-23 17:20:13 +08:00
using System;
using System.Collections;
using System.Collections.Generic;
2025-02-24 23:02:49 +08:00
using System.Data;
using System.Threading.Tasks;
2024-11-23 17:20:13 +08:00
using Cysharp.Threading.Tasks;
namespace Project.B.Map
{
/// <summary>
/// 游戏地图服务
/// </summary>
public interface IGameMapService
{
/// <summary>
/// 初始化状态
/// </summary>
2025-02-24 23:02:49 +08:00
TaskStatus TaskStatus { get; }
2024-11-23 17:20:13 +08:00
/// <summary>
/// 当前已加载或正在加载的地图
/// </summary>
string CurrentMap { get; }
/// <summary>
/// 获取地图
/// </summary>
/// <returns></returns>
UniTask<string> GetMapAsync();
/// <summary>
/// 进入地图
/// </summary>
/// <param name="map"></param>
/// <returns></returns>
UniTask StartMapAsync(string map);
/// <summary>
/// 停止地图,也是返回菜单的意思
/// </summary>
/// <returns></returns>
UniTask StopMapAsync();
/// <summary>
/// 当加载状态发生变化时
/// </summary>
2025-02-24 23:02:49 +08:00
event Action<TaskStatus,TaskStatus> OnTaskStatusChanged;
2024-11-23 17:20:13 +08:00
/// <summary>
/// 切换场景前
/// </summary>
event Func<string, UniTask> OnMapChanging;
/// <summary>
/// 切换场景后
/// </summary>
event Action<Guid,string> OnMapChanged;
2025-03-15 21:13:46 +08:00
/// <summary>
/// 切换场景后,加载完成
/// </summary>
event Action<Guid,string> OnMapChangeCompleted;
2024-11-23 17:20:13 +08:00
/// <summary>
/// 地图加载进度
/// </summary>
event Action<Guid,float,string> OnMapLoadingProgress;
}
}