initial upload

This commit is contained in:
tom.hempel
2025-09-30 17:58:33 +02:00
commit 69b0c79692
4818 changed files with 229318 additions and 0 deletions

View File

@ -0,0 +1,56 @@
using System.IO;
using Convai.Scripts.Runtime.Attributes;
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
namespace Convai.Scripts.Runtime.PlayerStats {
[CreateAssetMenu( menuName = "Convai/Player Data", fileName = nameof( ConvaiPlayerDataSO ) )]
public class ConvaiPlayerDataSO : ScriptableObject {
[field: SerializeField] public string DefaultPlayerName { get; private set; } = "Player";
[field: SerializeField] public string PlayerName { get; set; }
[field: ReadOnly]
[field: SerializeField]
public string SpeakerID { get; set; }
[field: SerializeField] public bool CreateSpeakerIDIfNotFound { get; private set; } = false;
/// <summary>
/// Returns the PlayerDataSO if found in the Resources folder
/// </summary>
/// <param name="playerDataSO">Reference of the Player Data</param>
/// <returns>Returns true if found otherwise false</returns>
public static bool GetPlayerData ( out ConvaiPlayerDataSO playerDataSO ) {
playerDataSO = Resources.Load<ConvaiPlayerDataSO>( nameof( ConvaiPlayerDataSO ) );
#if UNITY_EDITOR
if ( playerDataSO == null ) {
playerDataSO = CreateInstance<ConvaiPlayerDataSO>();
CreatePlayerDataSO( playerDataSO );
}
#endif
return playerDataSO != null;
}
#if UNITY_EDITOR
public static void CreatePlayerDataSO ( ConvaiPlayerDataSO convaiPlayerData ) {
string assetPath = "Assets/Convai/Resources/ConvaiPlayerDataSO.asset";
if ( !File.Exists( assetPath ) ) {
if ( !AssetDatabase.IsValidFolder( "Assets/Convai/Resources" ) )
AssetDatabase.CreateFolder( "Assets/Convai", "Resources" );
AssetDatabase.CreateAsset( convaiPlayerData, assetPath );
}
else {
AssetDatabase.DeleteAsset( assetPath );
AssetDatabase.CreateAsset( convaiPlayerData, assetPath );
}
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
}
#endif
}
}