37 lines
1.1 KiB
C#
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;
|
|
}
|
|
|
|
}
|