35 lines
1.3 KiB
C#
35 lines
1.3 KiB
C#
using System.Collections.Generic;
|
|
using KernelPanic.Core;
|
|
using UnityEngine;
|
|
|
|
namespace KernelPanic.Data
|
|
{
|
|
/// <summary>
|
|
/// Defines immutable card data used to create runtime card instances.
|
|
/// </summary>
|
|
public sealed class CardDefinition : ScriptableObject
|
|
{
|
|
[SerializeField] private string id;
|
|
[SerializeField] private string displayName;
|
|
[SerializeField] private string description;
|
|
[SerializeField] private Language language;
|
|
[SerializeField] private Rarity rarity;
|
|
[SerializeField] private int cycleCost;
|
|
[SerializeField] private ResolutionTrack resolutionTrack;
|
|
[SerializeField] private bool distroExclusive;
|
|
[SerializeField] private CardDefinition upgradeTarget;
|
|
[SerializeField] private List<CardEffectDefinition> effects = new();
|
|
|
|
public string Id => id;
|
|
public string DisplayName => displayName;
|
|
public string Description => description;
|
|
public Language Language => language;
|
|
public Rarity Rarity => rarity;
|
|
public int CycleCost => cycleCost;
|
|
public ResolutionTrack ResolutionTrack => resolutionTrack;
|
|
public bool DistroExclusive => distroExclusive;
|
|
public CardDefinition UpgradeTarget => upgradeTarget;
|
|
public IReadOnlyList<CardEffectDefinition> Effects => effects;
|
|
}
|
|
}
|