11111
This commit is contained in:
94
Assets/05.TableTextConversion/RunTime/Core/AudioTableData.cs
Normal file
94
Assets/05.TableTextConversion/RunTime/Core/AudioTableData.cs
Normal file
@@ -0,0 +1,94 @@
|
||||
using System;
|
||||
using System.Threading;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Stary.Evo;
|
||||
using UnityEngine;
|
||||
using YooAsset;
|
||||
|
||||
namespace Main
|
||||
{
|
||||
public interface IAudioTableData : ITableData
|
||||
{
|
||||
UniTask<Stary.Evo.TableTextConversion.AudioTableData.MessageInfo> GetAudioInfo(string auid);
|
||||
UniTask<AudioClip> GetAudioClip(string auid);
|
||||
}
|
||||
|
||||
|
||||
public class AudioTableData : IAudioTableData, IDisposable
|
||||
{
|
||||
private Stary.Evo.TableTextConversion.AudioTableData audioTableData;
|
||||
|
||||
public string TableName => "Config_AudioTableData";
|
||||
public bool IsLoad { get; set; }
|
||||
|
||||
|
||||
public async UniTask LoadData()
|
||||
{
|
||||
var audioHandle =
|
||||
YooAssets.LoadAssetAsync<Stary.Evo.TableTextConversion.AudioTableData>(TableName);
|
||||
await audioHandle.Task;
|
||||
audioTableData = audioHandle.GetAssetObject<Stary.Evo.TableTextConversion.AudioTableData>();
|
||||
if (audioTableData == null)
|
||||
{
|
||||
Debug.LogError($"加载音频表失败,请排查config下是否存在【{TableName}】表");
|
||||
return;
|
||||
}
|
||||
IsLoad = true;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取音频数据
|
||||
/// </summary>
|
||||
/// <param name="auid"></param>
|
||||
/// <returns></returns>
|
||||
public async UniTask<Stary.Evo.TableTextConversion.AudioTableData.MessageInfo> GetAudioInfo(string auid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
await LoadData();
|
||||
}
|
||||
|
||||
var info = audioTableData.infos.Find(x => x.auid == auid);
|
||||
if (info != null && !info.filename.Contains("Audios"))
|
||||
{
|
||||
info.filename = "Audios_" + info.filename;
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取音频
|
||||
/// </summary>
|
||||
/// <param name="auid"></param>
|
||||
/// <returns></returns>
|
||||
public async UniTask<AudioClip> GetAudioClip(string auid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
await LoadData();
|
||||
}
|
||||
|
||||
var info = await GetAudioInfo(auid);
|
||||
var handle = YooAssets.LoadAssetAsync<AudioClip>(info.filename);
|
||||
await handle.Task;
|
||||
if (handle.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
return handle.GetAssetObject<AudioClip>();
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError(
|
||||
$"加载音频失败,错误的id为:{auid},错误的音频名称为:{info.filename},错误的错误信息为:{handle.LastError}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
audioTableData = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 336c695a4299453bb325ceeaaa9bb4ed
|
||||
timeCreated: 1745736803
|
||||
11
Assets/05.TableTextConversion/RunTime/Core/ITableData.cs
Normal file
11
Assets/05.TableTextConversion/RunTime/Core/ITableData.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
|
||||
public interface ITableData
|
||||
{
|
||||
string TableName { get; }
|
||||
bool IsLoad { get; set; }
|
||||
UniTask LoadData();
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f639793eaf9bf1643a234440dd8c6e0a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
80
Assets/05.TableTextConversion/RunTime/Core/UITableData.cs
Normal file
80
Assets/05.TableTextConversion/RunTime/Core/UITableData.cs
Normal file
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Stary.Evo;
|
||||
using UnityEngine;
|
||||
using YooAsset;
|
||||
|
||||
namespace X_04_04
|
||||
{
|
||||
public interface IUITableData : ITableData
|
||||
{
|
||||
UniTask<Stary.Evo.TableTextConversion.UITableData.MessageInfo> GetUIInfo(string uiid);
|
||||
UniTask<Sprite> GetSprite(string uiid);
|
||||
}
|
||||
|
||||
|
||||
public class UITableData : IUITableData, IDisposable
|
||||
{
|
||||
public string TableName => "Config_UITableData";
|
||||
public bool IsLoad { get; set; }
|
||||
private Stary.Evo.TableTextConversion.UITableData uiTableDatas;
|
||||
|
||||
|
||||
public async UniTask LoadData()
|
||||
{
|
||||
var handle = YooAssets.LoadAssetAsync<Stary.Evo.TableTextConversion.UITableData>(TableName);
|
||||
await handle.Task;
|
||||
uiTableDatas = handle.GetAssetObject<Stary.Evo.TableTextConversion.UITableData>();
|
||||
if (uiTableDatas == null)
|
||||
{
|
||||
Debug.LogError($"加载UI表失败,请排查config下是否存在【{TableName}】表");
|
||||
return;
|
||||
}
|
||||
IsLoad = true;
|
||||
}
|
||||
|
||||
public async UniTask<Stary.Evo.TableTextConversion.UITableData.MessageInfo> GetUIInfo(string uiid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
await LoadData();
|
||||
}
|
||||
|
||||
var info = uiTableDatas.infos.Find(x => x.uiid == uiid);
|
||||
if (info != null && !info.filename.Contains("Sprites_"))
|
||||
{
|
||||
info.filename = "Sprites_" + info.filename;
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
public async UniTask<Sprite> GetSprite(string uiid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
await LoadData();
|
||||
}
|
||||
|
||||
var info = await GetUIInfo(uiid);
|
||||
var handle = YooAssets.LoadAssetAsync<Sprite>(info.filename);
|
||||
await handle.Task;
|
||||
if (handle.Status == EOperationStatus.Succeed)
|
||||
{
|
||||
return handle.GetAssetObject<Sprite>();
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError(
|
||||
$"加载音频失败,错误的id为:{uiid},错误的音频名称为:{info.filename},错误的错误信息为:{handle.LastError}");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
uiTableDatas = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acecbcc2903fe7044bfb88198181773a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
65
Assets/05.TableTextConversion/RunTime/Core/VideoTableData.cs
Normal file
65
Assets/05.TableTextConversion/RunTime/Core/VideoTableData.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Threading;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Stary.Evo;
|
||||
using UnityEngine;
|
||||
using YooAsset;
|
||||
|
||||
namespace Main
|
||||
{
|
||||
public interface IVideoTableData : ITableData
|
||||
{
|
||||
UniTask LoadData();
|
||||
UniTask<Stary.Evo.TableTextConversion.VideoTableData.MessageInfo> PlayVideoName(string vidid);
|
||||
}
|
||||
|
||||
|
||||
public class VideoTableData : IVideoTableData, IDisposable
|
||||
{
|
||||
public string TableName => "Config_VideoTableData";
|
||||
public bool IsLoad { get; set; }
|
||||
private Stary.Evo.TableTextConversion.VideoTableData videoTableDatas;
|
||||
|
||||
|
||||
public async UniTask LoadData()
|
||||
{
|
||||
var handle = YooAssets.LoadAssetAsync<Stary.Evo.TableTextConversion.VideoTableData>(TableName);
|
||||
await handle.Task;
|
||||
videoTableDatas = handle.GetAssetObject<Stary.Evo.TableTextConversion.VideoTableData>();
|
||||
if (videoTableDatas == null)
|
||||
{
|
||||
Debug.LogError($"加载视频表失败,请排查config下是否存在【{TableName}】表");
|
||||
return;
|
||||
}
|
||||
IsLoad = true;
|
||||
}
|
||||
|
||||
|
||||
async UniTask<Stary.Evo.TableTextConversion.VideoTableData.MessageInfo> IVideoTableData.PlayVideoName(
|
||||
string vidid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
await LoadData();
|
||||
}
|
||||
|
||||
var info = videoTableDatas.infos.Find(x => x.vidid == vidid);
|
||||
if (info != null && !info.filename.Contains("Video"))
|
||||
{
|
||||
info.filename = "Video_" + info.filename;
|
||||
}
|
||||
|
||||
if (info != null && !info.videoframeName.Contains("Sprites"))
|
||||
{
|
||||
info.videoframeName = "Sprites_" + info.videoframeName;
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
videoTableDatas = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2c1c8c62f563482ea249c39b08cab4fa
|
||||
timeCreated: 1745311080
|
||||
Reference in New Issue
Block a user