using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
public class transparentMovement : MonoBehaviour
{
[SerializeField]
private InputManager InputManager;
[SerializeField]
private GameObject previewObject;
[SerializeField]
private DatabaseSO database;
private int selectedObjectIndex=-1;
[SerializeField]
private Material previewMaterialPrefab;
private Material previewMaterialInstance;
private void Start()
{
previewMaterialInstance = new Material(previewMaterialPrefab);
}
public void StartShowingPlacementPreview(GameObject prefab)
{
previewObject = Instantiate(prefab);
PreparePreview(previewObject);
}
private void PreparePreview(GameObject previewObject)
{
Renderer[] renderers = previewObject.GetComponentsInChildren<Renderer>();
foreach(Renderer renderer in renderers)
{
Material[] materials = renderer.materials;
for (int i = 0; i < materials.Length; i++)
{
materials[i] = previewMaterialInstance;
}
renderer.materials = materials;
}
}
public void StopShowingPreview()
{
Destroy(previewObject );
}
public void UpdatePosition(Vector3 position)
{
MovePreview(position);
}
private void MovePreview(Vector3 position)
{
previewObject.transform.position = new Vector3(
position.x,
position.y,
position.z);
}
}