111
This commit is contained in:
30
Assets/05.TableTextConversion/RunTime/Base/AudioEntity.cs
Normal file
30
Assets/05.TableTextConversion/RunTime/Base/AudioEntity.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using Sirenix.OdinInspector;
|
||||
|
||||
namespace Stary.Evo.TableTextConversion
|
||||
{
|
||||
[Serializable]
|
||||
public class AudioEntity
|
||||
{
|
||||
// 序号
|
||||
[GUIColor(0, 1, 0)] public int index;
|
||||
|
||||
// 名称
|
||||
public string auid;
|
||||
|
||||
public AudioType autype;
|
||||
|
||||
// 名称描述
|
||||
public string filename;
|
||||
public string voice;
|
||||
public string uirelated;
|
||||
}
|
||||
|
||||
public enum AudioType
|
||||
{
|
||||
Null,
|
||||
music,
|
||||
effect,
|
||||
sound,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a1a28b6c544f4e939d68e56f08d87403
|
||||
timeCreated: 1762855901
|
||||
@@ -9,29 +9,6 @@ namespace Stary.Evo.TableTextConversion
|
||||
public class AudioTableData : ScriptableObject, ITableData
|
||||
{
|
||||
public string TableName { get; }
|
||||
public List<MessageInfo> infos;
|
||||
|
||||
[Serializable]
|
||||
public class MessageInfo
|
||||
{
|
||||
// 序号
|
||||
[GUIColor(0, 1, 0)] public int index;
|
||||
// 名称
|
||||
public string auid;
|
||||
public AudioType autype;
|
||||
// 名称描述
|
||||
public string filename;
|
||||
public string voice;
|
||||
public string uirelated;
|
||||
}
|
||||
|
||||
public enum AudioType
|
||||
{
|
||||
Null,
|
||||
music,
|
||||
effect,
|
||||
sound,
|
||||
}
|
||||
|
||||
public List<AudioEntity> infos;
|
||||
}
|
||||
}
|
||||
28
Assets/05.TableTextConversion/RunTime/Base/UIEntity.cs
Normal file
28
Assets/05.TableTextConversion/RunTime/Base/UIEntity.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Sirenix.OdinInspector;
|
||||
|
||||
namespace Stary.Evo.TableTextConversion
|
||||
{
|
||||
[Serializable]
|
||||
public class UIEntity
|
||||
{
|
||||
// 序号
|
||||
[GUIColor(0, 1, 0)] public int index;
|
||||
// 名称
|
||||
public string uiid;
|
||||
// 名称描述
|
||||
public string filename;
|
||||
|
||||
public string uitype;
|
||||
public List<SubtitleInfo> subtitle;
|
||||
}
|
||||
[Serializable]
|
||||
public class SubtitleInfo
|
||||
{
|
||||
public string lineid;
|
||||
public string subtitle;
|
||||
public float start;
|
||||
public float end;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa8c79fd9e99417abfdebb6ffa12629b
|
||||
timeCreated: 1762855912
|
||||
@@ -9,30 +9,7 @@ namespace Stary.Evo.TableTextConversion
|
||||
public class UITableData : ScriptableObject, ITableData
|
||||
{
|
||||
public string TableName { get; }
|
||||
public List<MessageInfo> infos;
|
||||
|
||||
[Serializable]
|
||||
public class MessageInfo
|
||||
{
|
||||
// 序号
|
||||
[GUIColor(0, 1, 0)] public int index;
|
||||
// 名称
|
||||
public string uiid;
|
||||
// 名称描述
|
||||
public string filename;
|
||||
|
||||
public string uitype;
|
||||
public List<SubtitleInfo> subtitle;
|
||||
|
||||
}
|
||||
[Serializable]
|
||||
public class SubtitleInfo
|
||||
{
|
||||
public string lineid;
|
||||
public string subtitle;
|
||||
public float start;
|
||||
public float end;
|
||||
}
|
||||
public List<UIEntity> infos;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
24
Assets/05.TableTextConversion/RunTime/Base/VideoEntity.cs
Normal file
24
Assets/05.TableTextConversion/RunTime/Base/VideoEntity.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using Sirenix.OdinInspector;
|
||||
|
||||
namespace Stary.Evo.TableTextConversion
|
||||
{
|
||||
[Serializable]
|
||||
public class VideoEntity
|
||||
{
|
||||
// 序号
|
||||
[GUIColor(0, 1, 0)] public int index;
|
||||
|
||||
// 名称
|
||||
public string vidid;
|
||||
|
||||
// 名称描述
|
||||
public string filename;
|
||||
public string vidtype;
|
||||
|
||||
public string location;
|
||||
public float time;
|
||||
public bool subtitle;
|
||||
public string videoframeName;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f6b98bb6dbce4f999d0ca6d2d08f6900
|
||||
timeCreated: 1762855926
|
||||
@@ -9,27 +9,7 @@ namespace Stary.Evo.TableTextConversion
|
||||
public class VideoTableData : ScriptableObject, ITableData
|
||||
{
|
||||
public string TableName { get; }
|
||||
public List<MessageInfo> infos;
|
||||
|
||||
[Serializable]
|
||||
public class MessageInfo
|
||||
{
|
||||
// 序号
|
||||
[GUIColor(0, 1, 0)] public int index;
|
||||
// 名称
|
||||
public string vidid;
|
||||
// 名称描述
|
||||
public string filename;
|
||||
public string vidtype;
|
||||
|
||||
public string location;
|
||||
public float time;
|
||||
public bool subtitle;
|
||||
public string videoframeName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public List<VideoEntity> infos;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -7,14 +7,14 @@ namespace Stary.Evo.TableTextConversion
|
||||
{
|
||||
public interface IAudioTableDataCore : ITableDataCore
|
||||
{
|
||||
UniTask<Stary.Evo.TableTextConversion.AudioTableData.MessageInfo> GetAudioInfo(string auid);
|
||||
UniTask<AudioClip> GetAudioClip(string auid);
|
||||
UniTask<AudioEntity> GetAudioAssetInfo(string auid);
|
||||
UniTask<AudioClip> GetAudioAssetClip(string auid);
|
||||
}
|
||||
|
||||
|
||||
#if YooAssets
|
||||
public class AudioTableDataCore : IAudioTableDataCore, IDisposable
|
||||
{
|
||||
private Stary.Evo.TableTextConversion.AudioTableData audioTableData;
|
||||
private AudioTableData audioTableData;
|
||||
|
||||
public string TableName => "Config_AudioTableData";
|
||||
public bool IsLoad { get; set; }
|
||||
@@ -23,14 +23,15 @@ namespace Stary.Evo.TableTextConversion
|
||||
public async UniTask LoadData()
|
||||
{
|
||||
var audioHandle =
|
||||
YooAssets.LoadAssetAsync<Stary.Evo.TableTextConversion.AudioTableData>(TableName);
|
||||
YooAssets.LoadAssetAsync<AudioTableData>(TableName);
|
||||
await audioHandle.Task;
|
||||
audioTableData = audioHandle.GetAssetObject<Stary.Evo.TableTextConversion.AudioTableData>();
|
||||
audioTableData = audioHandle.GetAssetObject<AudioTableData>();
|
||||
if (audioTableData == null)
|
||||
{
|
||||
Debug.LogError($"加载音频表失败,请排查config下是否存在【{TableName}】表");
|
||||
return;
|
||||
}
|
||||
|
||||
IsLoad = true;
|
||||
}
|
||||
|
||||
@@ -40,7 +41,7 @@ namespace Stary.Evo.TableTextConversion
|
||||
/// </summary>
|
||||
/// <param name="auid"></param>
|
||||
/// <returns></returns>
|
||||
public async UniTask<Stary.Evo.TableTextConversion.AudioTableData.MessageInfo> GetAudioInfo(string auid)
|
||||
public async UniTask<AudioEntity> GetAudioAssetInfo(string auid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
@@ -61,14 +62,14 @@ namespace Stary.Evo.TableTextConversion
|
||||
/// </summary>
|
||||
/// <param name="auid"></param>
|
||||
/// <returns></returns>
|
||||
public async UniTask<AudioClip> GetAudioClip(string auid)
|
||||
public async UniTask<AudioClip> GetAudioAssetClip(string auid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
await LoadData();
|
||||
}
|
||||
|
||||
var info = await GetAudioInfo(auid);
|
||||
var info = await GetAudioAssetInfo(auid);
|
||||
var handle = YooAssets.LoadAssetAsync<AudioClip>(info.filename);
|
||||
await handle.Task;
|
||||
if (handle.Status == EOperationStatus.Succeed)
|
||||
@@ -89,4 +90,5 @@ namespace Stary.Evo.TableTextConversion
|
||||
audioTableData = null;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -24,7 +24,7 @@ namespace Stary.Evo.TableTextConversion
|
||||
public IAudioTableDataCore AudioTableCore;
|
||||
public IUITableDataCore UITableCore;
|
||||
public IVideoTableDataCore VideoTableCore;
|
||||
|
||||
#if YooAssets
|
||||
// 私有构造函数,防止外部实例化
|
||||
private TableSystem()
|
||||
{
|
||||
@@ -32,6 +32,7 @@ namespace Stary.Evo.TableTextConversion
|
||||
UITableCore = new UITableDataCore();
|
||||
VideoTableCore = new VideoTableDataCore();
|
||||
}
|
||||
#endif
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
@@ -7,11 +7,11 @@ namespace Stary.Evo.TableTextConversion
|
||||
{
|
||||
public interface IUITableDataCore : ITableDataCore
|
||||
{
|
||||
UniTask<Stary.Evo.TableTextConversion.UITableData.MessageInfo> GetUIInfo(string uiid);
|
||||
UniTask<Sprite> GetSprite(string uiid);
|
||||
UniTask<UIEntity> GetUIAssetInfo(string uiid);
|
||||
UniTask<Sprite> GetSpriteAsset(string uiid);
|
||||
}
|
||||
|
||||
|
||||
#if YooAssets
|
||||
public class UITableDataCore : IUITableDataCore, IDisposable
|
||||
{
|
||||
public string TableName => "Config_UITableData";
|
||||
@@ -21,9 +21,9 @@ namespace Stary.Evo.TableTextConversion
|
||||
|
||||
public async UniTask LoadData()
|
||||
{
|
||||
var handle = YooAssets.LoadAssetAsync<Stary.Evo.TableTextConversion.UITableData>(TableName);
|
||||
var handle = YooAssets.LoadAssetAsync<UITableData>(TableName);
|
||||
await handle.Task;
|
||||
uiTableDatas = handle.GetAssetObject<Stary.Evo.TableTextConversion.UITableData>();
|
||||
uiTableDatas = handle.GetAssetObject<UITableData>();
|
||||
if (uiTableDatas == null)
|
||||
{
|
||||
Debug.LogError($"加载UI表失败,请排查config下是否存在【{TableName}】表");
|
||||
@@ -32,7 +32,7 @@ namespace Stary.Evo.TableTextConversion
|
||||
IsLoad = true;
|
||||
}
|
||||
|
||||
public async UniTask<Stary.Evo.TableTextConversion.UITableData.MessageInfo> GetUIInfo(string uiid)
|
||||
public async UniTask<UIEntity> GetUIAssetInfo(string uiid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
@@ -48,14 +48,14 @@ namespace Stary.Evo.TableTextConversion
|
||||
return info;
|
||||
}
|
||||
|
||||
public async UniTask<Sprite> GetSprite(string uiid)
|
||||
public async UniTask<Sprite> GetSpriteAsset(string uiid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
await LoadData();
|
||||
}
|
||||
|
||||
var info = await GetUIInfo(uiid);
|
||||
var info = await GetUIAssetInfo(uiid);
|
||||
var handle = YooAssets.LoadAssetAsync<Sprite>(info.filename);
|
||||
await handle.Task;
|
||||
if (handle.Status == EOperationStatus.Succeed)
|
||||
@@ -76,4 +76,5 @@ namespace Stary.Evo.TableTextConversion
|
||||
uiTableDatas = null;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -8,32 +8,33 @@ namespace Stary.Evo.TableTextConversion
|
||||
public interface IVideoTableDataCore : ITableDataCore
|
||||
{
|
||||
UniTask LoadData();
|
||||
UniTask<Stary.Evo.TableTextConversion.VideoTableData.MessageInfo> PlayVideoName(string vidid);
|
||||
UniTask<VideoEntity> PlayVideoAssetName(string vidid);
|
||||
}
|
||||
|
||||
|
||||
#if YooAssets
|
||||
public class VideoTableDataCore : IVideoTableDataCore, IDisposable
|
||||
{
|
||||
public string TableName => "Config_VideoTableData";
|
||||
public bool IsLoad { get; set; }
|
||||
private Stary.Evo.TableTextConversion.VideoTableData videoTableDatas;
|
||||
private VideoTableData videoTableDatas;
|
||||
|
||||
|
||||
public async UniTask LoadData()
|
||||
{
|
||||
var handle = YooAssets.LoadAssetAsync<Stary.Evo.TableTextConversion.VideoTableData>(TableName);
|
||||
var handle = YooAssets.LoadAssetAsync<VideoTableData>(TableName);
|
||||
await handle.Task;
|
||||
videoTableDatas = handle.GetAssetObject<Stary.Evo.TableTextConversion.VideoTableData>();
|
||||
videoTableDatas = handle.GetAssetObject<VideoTableData>();
|
||||
if (videoTableDatas == null)
|
||||
{
|
||||
Debug.LogError($"加载视频表失败,请排查config下是否存在【{TableName}】表");
|
||||
return;
|
||||
}
|
||||
|
||||
IsLoad = true;
|
||||
}
|
||||
|
||||
|
||||
public async UniTask<Stary.Evo.TableTextConversion.VideoTableData.MessageInfo> PlayVideoName(string vidid)
|
||||
public async UniTask<VideoEntity> PlayVideoAssetName(string vidid)
|
||||
{
|
||||
if (!IsLoad)
|
||||
{
|
||||
@@ -59,4 +60,5 @@ namespace Stary.Evo.TableTextConversion
|
||||
videoTableDatas = null;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user