using UnityEngine; using System.Collections.Generic; [CreateAssetMenu(fileName = "NewUserTasksPool", menuName = "DailyTask/UserTasksPool")] public class userTasksPool : ScriptableObject { [Header("Task Definitions")] public List tasks = new List(); [System.Serializable] public class TaskDefinition { [Tooltip("Unique identifier for the task")] public string taskID; [Tooltip("Description of the task shown to the user")] [TextArea(2, 4)] public string description; [Tooltip("Type of the task logic")] public TaskType taskType; [Tooltip("How often the task refreshes")] public RefreshFrequency refreshFrequency; [Tooltip("Target value to complete the task (e.g., 100 combo, 3 songs)")] public float targetValue; [Tooltip("Type of reward given upon completion")] public RewardType rewardType; [Tooltip("Quantity of the reward")] public int rewardAmount; [Tooltip("是否加入任务池")] public bool addToTaskPool = true; } public enum TaskType { Login, PlaySong, FullCombo, TotalScore, WatchStory, UseItem, ShareGame } public enum RewardType { player_money, player_material, bottleOfEXP, playerEXP } public enum RefreshFrequency { OnLogin, DailyReset, Never } }