using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;

public class PlaceingObj : MonoBehaviour
{
    [SerializeField]
    private InputManager InputManager;
    private transparentMovement transparentMovement;
    [SerializeField]
    private DatabaseSO database;
    private int selectedObjectIndex=-1;

    
    void Start()
    {
         StopPlacement();
    }
    public void StartPlacement(int ID)
    {
        StopPlacement();
        selectedObjectIndex =database.objectsData.FindIndex(data => data.ID==ID);
        InputManager.OnClicked += PlaceStructure;
        InputManager.OnClicked += FixedUpdate;
        InputManager.OnExit += StopPlacement;
       
    }
    private void PlaceStructure()
    {
        
        GameObject newObject = Instantiate(database.objectsData[selectedObjectIndex].Prefab);
        newObject.transform.position=InputManager.SelectMapPosition();
    }
    void FixedUpdate()
    {
        database.objectsData[selectedObjectIndex].TransparentPrefab.transform.position=InputManager.SelectMapPosition();
    }
     private void StopPlacement()
    {
       
        selectedObjectIndex =-1;
        
       
        InputManager.OnClicked -= PlaceStructure;
        InputManager.OnExit -= StopPlacement;
       
       
    }
    // Update is called once per frame
    
 
    void Update()
    {
        if(selectedObjectIndex <0)
            return;
    }
}