using Intrepid.Gameplay.Prototyping;
using Intrepid.Utilities;
using UnityEngine;

namespace Editor.GON.StageEditor
{
    [CreateAssetMenu(fileName = "New Prefab Table", menuName = "GON/Editor/Prefab Table")]
    public class PrefabTable : ScriptableObject
    {
        [GroupInjections, SerializeField] private GroundSlabModelPrototype groundSlabPrefab;
        [GroupInjections, SerializeField] private GroundRampModelPrototype groundRampFrontPrefab;
        [GroupInjections, SerializeField] private GroundRampModelPrototype groundRampLeftPrefab;
        [GroupInjections, SerializeField] private GroundRampModelPrototype groundRampRightPrefab;
        [GroupInjections, SerializeField] private GroundStairModelPrototype groundStairFrontPrefab;
        [GroupInjections, SerializeField] private GroundStairModelPrototype groundStairLeftPrefab;
        [GroupInjections, SerializeField] private GroundStairModelPrototype groundStairRightPrefab;
        [GroupInjections, SerializeField] private ObstacleWallModelPrototype obstacleWallPrefab;

        public GroundSlabModelPrototype GroundSlabPrefab => groundSlabPrefab;
        public GroundRampModelPrototype GroundRampFrontPrefab => groundRampFrontPrefab;
        public GroundRampModelPrototype GroundRampLeftPrefab => groundRampLeftPrefab;
        public GroundRampModelPrototype GroundRampRightPrefab => groundRampRightPrefab;
        public GroundStairModelPrototype GroundStairFrontPrefab => groundStairFrontPrefab;
        public GroundStairModelPrototype GroundStairLeftPrefab => groundStairLeftPrefab;
        public GroundStairModelPrototype GroundStairRightPrefab => groundStairRightPrefab;
        public ObstacleWallModelPrototype ObstacleWallPrefab => obstacleWallPrefab;
    }
}