using Sirenix.OdinInspector; using UnityEngine; // ReSharper disable once CheckNamespace namespace BlueWaterProject { public class ItemDropManager : Singleton { [Title("초기화 방식")] [SerializeField] private bool autoInit = true; [field: Title("아이템")] [field: SerializeField] public GameObject ItemPrefab { get; private set; } [SerializeField] private Transform instantiateObjects; [SerializeField] private Transform items; [Button("셋팅 초기화")] private void Init() { instantiateObjects = GameObject.Find("InstantiateObjects").transform; items = instantiateObjects.transform.Find("Items"); } protected override void OnAwake() { base.OnAwake(); if (autoInit) { Init(); } } public void DropItem(Item item, Vector3 dropPosition) { var itemController = Instantiate(ItemPrefab, dropPosition, Quaternion.identity, items).GetComponentInChildren(); itemController.Init(item); } } }