BITFALL/Assets/Artists/Scripts/LootSystem/ScriptableLootTable.cs

37 lines
1.1 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using BITKit;
using BITKit.Probability;
using UnityEngine;
namespace BITFALL.LootSystem
{
public class ScriptableLootTable : ScriptableObject
{
[SerializeField] private bool enabled;
[SerializeField] private string tableName;
[SerializeField] private Texture2D icon;
[SerializeField] private ItemQuality quality;
[Serializable]
public struct Table
{
[SerializeField] private bool enabled;
[SerializeField,Range(0,100)] private int probability;
[SerializeField] private ScriptableItem item;
[SerializeReference,SubclassSelector] private IProbabilityProperty[] properties;
public bool Enabled => enabled;
public int Probability => probability;
public ScriptableItem Item => item;
public IProbabilityProperty[] Properties => properties;
}
[SerializeField] private Table[] tables;
public Texture2D Icon => icon;
public Table[] Tables => tables;
public string Name => tableName;
public ItemQuality Quality => quality;
public bool Enabled => enabled;
}
}