Files
bansonic_beta_main/Assets/scripts/dailyTask/taskPool/userTasksPool.cs
T

79 lines
2.0 KiB
C#

using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "NewUserTasksPool", menuName = "DailyTask/UserTasksPool")]
public class userTasksPool : ScriptableObject
{
[Header("Task Definitions")]
public List<TaskDefinition> tasks = new List<TaskDefinition>();
[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 = RefreshFrequency.DailyReset;
[Tooltip("Target value to complete the task")]
public float targetValue = 1f;
[Tooltip("Type of reward given upon completion")]
public RewardType rewardType;
[Tooltip("Quantity of the reward")]
public int rewardAmount = 1;
[Tooltip("Used when rewardType is expBottle")]
public ExpBottleKind rewardExpBottleKind = ExpBottleKind.Common;
[Tooltip("Used when rewardType is dushMaterial")]
public DushMaterialKind rewardDushMaterialKind = DushMaterialKind.Material78021;
[Tooltip("Whether this task can be included in the random daily task pool")]
public bool addToTaskPool = true;
[Tooltip("Weighted random selection weight")]
public int selectionWeight = 1;
}
public enum TaskType
{
Login,
PlaySong,
FullCombo,
TotalScore,
WatchStory,
UseItem,
ShareGame,
SpendCoins,
GameDuration,
SingleRunCombo,
SingleRunScore,
OnlineDuration,
DifferentSongs
}
public enum RewardType
{
coins,
expBottle,
dushMaterial
}
public enum RefreshFrequency
{
OnLogin,
DailyReset,
Never
}
}