using UnityEngine; public class MousePreview : MonoBehaviour { private GameObject nowMousePreviewObj; // show mousePreviewObj in mouse position public void ChangePreviewTo(GameObject mousePreviewObj, bool disableCollider = false) { // change mouse preview object to mousePreviewObj // delete all child object DeleteAllPreviewModele(); // create new mouse preview object nowMousePreviewObj = Instantiate(mousePreviewObj, transform.position, Quaternion.identity, this.transform); if (disableCollider) { // disable mousePreviewObj collider nowMousePreviewObj.GetComponent().enabled = false; } } public void UpdatePreviewPosition(Vector3 previewPos) { // move this gameobject to previewPos transform.position = previewPos; } public void DeleteAllPreviewModele() { // delete all child object foreach (Transform childObj in this.transform) { // destroy child Destroy(childObj.gameObject); } } }